blob: 9a71f1481beddff644917d613eeb9c5084bf3a23 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* Functions for drawing page view vs time chart.
*/
function PageViewTimeDataUrl()
{
var url = "PageViewTimeData.php?";
url += "from=";
url += Math.floor(pageViewLookback);
if (pageViewUrl)
{
url += "&url=" + pageViewUrl;
}
//url += "&url=mydomain.com/services.php?serviceid=6";
return url;
}
function RenderPageViewTimeChart()
{
// create/delete rows
if (pageViewTable.getNumberOfRows() < pageDataPoints.length)
{
var numRows = pageDataPoints.length - pageViewTable.getNumberOfRows();
pageViewTable.addRows(numRows);
} else {
for(var i=(pageViewTable.getNumberOfRows()-1); i >= pageDataPoints.length; i--)
{
pageViewTable.removeRow(i);
}
}
// Populate data table with time/cost data points.
for(var i=0; i < pageViewTable.getNumberOfRows(); i++)
{
//if(parseFloat(aggrDataPoints[i].cost) < 500) continue;
pageViewTable.setCell(i, 0, new Date(parseInt(pageDataPoints[i].timestamp)));
pageViewTable.setCell(i, 1, parseFloat(pageDataPoints[i].view));
}
// get options
var page = document.getElementById('page').value;
var index = document.getElementById('index').value;
var title = "ALL Urls (PVS/Min)";
if (page == "home") title = "home.php (PVS/Min)";
if (page == "contact") title = "contactus.php (PVS/Min)";
if (page == "about") title = "about.php (PVS/Min)";
if (page == "support") title = "support.php (PVS/Min)";
if (page == "product") {
title = "product.php-" + index + " (PVS/Min)";
}
if (page == "services") {
title = "services.php-" + index + " (PVS/Min)";
}
if (page == "products") {
title = "products.php-" + index + " (PVS/Min)";
}
var options = { pointSize: 0, lineWidth : 1, legend : {position : 'top'} };
options.title = title;
// Draw line chart.
pageViewChart.draw(PageViewView, options);
}
function DrawPageViewTimeChart()
{
var url = PageViewTimeDataUrl();
try
{
var connect = new XMLHttpRequest();
connect.onreadystatechange = function() {
if(connect.readyState==4 && connect.status==200) {
pageViewData = connect.response;
var pts = JSON.parse(pageViewData);
for(var i=0; i < pts.length; i++)
{
pageDataPoints.push(pts[i]);
delete pts[i];
}
delete pts;
sortByKey(pageDataPoints, "timestamp");
RenderPageViewTimeChart();
delete pageViewData;
delete pageDataPoints;
pageDataPoints = new Array();
}
}
connect.open('GET', url, true);
connect.send(null);
} catch(e) {
}
pageViewLookback = (new Date().getTime()/1000) - (3600 * pageViewInterval)-60;
}
function HandlePageViewTimeSubmit()
{
// remove old time
if(pageNowPlaying) clearInterval(pageNowPlaying);
// get submit values
var page = document.getElementById('page').value;
var index = document.getElementById('index').value;
if (page == "all") pageViewUrl ="";
if (page == "home") pageViewUrl = "mydomain.com/home.php";
if (page == "contact") pageViewUrl = "mydomain.com/contactus.php";
if (page == "about") pageViewUrl = "mydomain.com/about.php";
if (page == "support") pageViewUrl = "mydomain.com/support.php";
if (page == "product")
{
pageViewUrl = "mydomain.com/products.php";
if (index && (index.length > 0)) pageViewUrl += "?productid=" + index;
}
if (page == "services")
{
pageViewUrl = "mydomain.com/services.php";
if (index && (index.length > 0)) pageViewUrl += "?serviceid=" + index;
}
if (page == "partners")
{
pageViewUrl = "mydomain.com/partners.php";
if (index && (index.length > 0)) pageViewUrl += "?partnerid=" + index;
}
pageViewLookback = document.getElementById('pageviewlookback').value;
if ( !pageViewLookback || (pageViewLookback == "")) {
pageViewLookback = (new Date().getTime()/1000) - 3600;
} else {
pageViewLookback = (new Date().getTime()/1000) - 3600 * pageViewLookback;
}
// set from values
document.getElementById('page').value = page;
document.getElementById('index').value = index;
var lookback = document.getElementById('pageviewlookback').value;
document.getElementById('pageviewlookback').value = lookback;
pageViewInterval = lookback;
// draw chart
DrawPageViewTimeChart();
pageNowPlaying = setInterval(DrawPageViewTimeChart, 60 * 1000);
}
function handleUrlChange()
{
var page = document.getElementById('page').value;
if ((page == "home")||(page == "contact")||(page == "about")||(page == "support") || (page =="all"))
{
document.getElementById('index').value = 0;
document.getElementById('index').disabled = "true";
} else {
document.getElementById('index').value = 0;
document.getElementById('index').disabled = "";
}
}