function renderFusionCharts(chartid, chartData) {
	var chart = new FusionCharts("/flash/thirdparty/FusionCharts/" + chartData.type,
        						 chartid,  chartData.width, chartData.height, "0", "0");
	chart.setDataXML(escape(chartData.data));
	chart.addParam("WMode", "Transparent");
	chart.render(chartid);
}

function renderFusionMap(chartid, chartData) {
	var chart = new FusionMaps("/flash/thirdparty/FusionCharts/" + chartData.type,
        						 chartid,  chartData.width, chartData.height, "0", "0");
	chart.setDataXML(escape(chartData.data));
	chart.addParam("WMode", "Transparent");
	chart.render(chartid);
}
      
function renderChart(chartid, chartData) {
	if (!chartData.data) {
	  return;
	}
	switch(chartData.group) {
		case "FusionCharts" :
            renderFusionCharts(chartid, chartData);
            break;
		case "FusionMap" :
            renderFusionMap(chartid, chartData);
            break;
        case "GoogleVisualization" :
        	renderGoogleCharts(chartid, chartData);
            break;
	}
}

function renderGoogleCharts(chartid, chartData) {
	google.load("visualization", "1", {packages:["annotatedtimeline"]});
	google.setOnLoadCallback(function() {
		drawGoogleChart(chartid, chartData.data);
	});
}

function drawGoogleChart(chartid, chartData, opt_type) {
	var data = new google.visualization.DataTable();
	data.addColumn('date', 'Date');
	switch (opt_type) {
		case "VI":	  
			data.addColumn('number', 'Visits');
			break;
		case "UU":
			data.addColumn('number', 'Unique Users');
			break;	  
		default:
			data.addColumn('number', 'Page Views');
	}
	data.addRows(chartData.length);
	var color;
	for (var i = 0; i < chartData.length; i++) {
		data.setValue(i, 0, new Date(chartData[i].TS));
		switch (opt_type) {
			case "VI":
				data.setValue(i, 1, chartData[i].VI);
				color = ["EE920E"];
				break;	  
			case "UU":
				data.setValue(i, 1, chartData[i].UU);
				color = ["8BBA00"];
				break;	  
			default:
				data.setValue(i, 1, chartData[i].PV);
				color = ["60B5F8"];
	  	}
	}
	var chart = new google.visualization.AnnotatedTimeLine(document.getElementById(chartid));
	var minDateIndex = (chartData.length < 10) ? 0: chartData.length - 10;
	var minTime = chartData[minDateIndex].TS;
	chart.draw(data, {
		displayAnnotations: true,
		displayAnnotationsFilter: true,
		zoomStartTime: new Date(minTime),
		scaleType: "maximize",
		colors: ["60B5F8"]
	});
}

function showLessData() {
  var innerHTML = '<div>' +
  				    'We do not have enough data for your site.' +
  				  '</div>' 
  document.getElementById("main").setInnerHTML(innerHTML);
}

function IEHoverPseudo() { // by nick rigby
	var mainnav = document.getElementById("mainnav");
	
	// returning to avoid js errors
	if (mainnav==null) {
		return;
	}
	
	var navItems = mainnav.getElementsByTagName("li");
	
	for (var i=0; i<navItems.length; i++) {
		if(navItems[i].className == "menuparent") {
			navItems[i].onmouseover=function() { this.className += " over"; }
			navItems[i].onmouseout=function() { this.className = "menuparent"; }
		}
	}
}
window.onload = IEHoverPseudo;

//--functions for tooltip
function showtip(e, message) {	
	var x = 0, y = 0, m, h;
	var width = 0
	if(!e) {
		var e=window.event;
		if(e.pageX||e.pageY){
			x=e.pageX;
			y=e.pageY;
		}
	} else if(e.clientX||e.clientY){
		x=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;
		y=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;
	}
		
	if (window.innerWidth | window.innerHeight) {
		width = window.innerWidth;
		height = window.innerHeight;
	} else if (document.body.offsetWidth | document.body.offsetHeight) {
		width = document.body.offsetWidth;
		height = document.body.offsetHeight;
	}
		
	m=document.getElementById('tooltipMessage');	
	// --if tooltip image is at bottom of the page show tootip above the image
	var messageHeigth = (message.length/20)*10 + 40;
	// alert(messageHeigth);
		
	if (y < height - messageHeigth - 20) {
		//showing tooltip down
		m.style.top=y-4+"px";
	} else{
		//showing tooltip up
		m.style.top=y+4+"px";
	}
	
	if ((e.clientY+messageHeigth)>510) {
		m.style.top=y-messageHeigth+"px";
	}
		
	if(x < width - 220){
		//showing tooltip right
		m.style.left=x+20+"px";
	} else {
		//showing tooltip left
		m.style.left=x-205+"px";
	}		
	m.innerHTML=message;
		
	m.style.display="block";
}

function hidetip() {
	var m;
	m=document.getElementById('tooltipMessage');
	m.style.display="none";
}

// common ajax function to create an XmlHttpObject
function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	  {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	  }
	catch (e)
	  {
	  // Internet Explorer
	  try
	    {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    }
	  catch (e)
	    {
	    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	  }
	return xmlHttp;
}

// function to verify the website entered if the pixel is correctly present on it
function checkSite(num,str) {
	$(".error").text("");
	if ((str.length==0) || (str==null))
	{
		//alert("Please enter a website");
		$(".error").text("Please enter a website");
		return;
	}
	var tickId="tick"+num;
	document.getElementById(tickId).setAttribute('src',"/images/loading.gif");
    document.getElementById(tickId).style.visibility="visible";
      			
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  } 
  	xmlHttp.onreadystatechange=function()
    {
    	if(xmlHttp.readyState==4)
      	{
      		var tickId="tick"+num;
      		var crossId="cross"+num;
      		var checkedId="checked"+num;
      		if (xmlHttp.responseText == "true") {
      			document.getElementById(tickId).setAttribute('src',"/images/tick.png");
      			document.getElementById(tickId).style.visibility="visible";
      			
      			document.getElementById(checkedId).value="1";
      		}
      		else {
      			document.getElementById(tickId).setAttribute('src',"/images/cross.png");
      			document.getElementById(tickId).style.visibility="visible";
      			
      		}   
      		//make the 'Add another Page' link visible
      		document.getElementById("addLink").style.visibility="visible";   	
      		//make the keys visible
      		document.getElementById("keys").style.visibility="visible";	
      	}
    }
    
    var url="/basic/CHECK_SITE";
	url=url+"?url="+str;
	
  	xmlHttp.open("GET",url,true);
  	xmlHttp.send(null);  	
}

function addRow() {	
  document.getElementById("addLink").style.visibility="hidden";
  var ni = document.getElementById("myDiv");
  var numi = document.getElementById('theValue');
  var num = (document.getElementById('theValue').value -1)+ 2;
  numi.value = num;
  
  var divIdName = num;
  var urlId="url"+num;

  var tickId="tick"+num;
  var crossId="cross"+num;
  var checkedId="checked"+num;
  
  tabBody=document.getElementById("verifyTbody");
  row=document.createElement("tr");
  row.setAttribute('id',divIdName);
  row.setAttribute('class',"forminstr");
  cell1 = document.createElement("td");
  cell2 = document.createElement("td");
  cell3 = document.createElement("td");
  cell4 = document.createElement("td");
  cell5 = document.createElement("td");
  
  cell1.innerHTML="http://";
  cell1.className="texttd";
  cell2.innerHTML="<input name=\""+urlId+"\" "+
                           "value=\"\" "+
                           "id=\""+urlId+"\" type=\"text\" style=\"width:250px;\"/>";
  /*cell3.innerHTML="<img name=\"imageField\" id=\"imageField\" "+
                             "style=\"margin-bottom:8px;\" src=\"/images/btn-checknow.png\" align=\"middle\" "+ 
                             "onclick=\"checkSite("+num+",document.getElementById('"+urlId+"').value);\"/>";*/
  cell3.innerHTML="<a href=\"javascript:void(checkSite("+num+",document.getElementById('"+urlId+"').value));\"><img name=\"imageField\" id=\"imageField\" "+
                             "style=\"margin-bottom:8px;\" src=\"/images/btn-checknow.png\" align=\"middle\" /></a>";
  
  cell4.innerHTML="<img style=\"visibility:hidden\" id=\""+tickId+"\" name=\""+tickId+"\" src=\"\" style=\"margin-bottom:8px;\" height=\"30px\" width=\"30px\"/>";
  cell5.innerHTML="<input type=\"hidden\" name=\""+checkedId+"\" id=\""+checkedId+"\" value=\"0\">";
  
  row.appendChild(cell1);
  row.appendChild(cell2);
  row.appendChild(cell3);
  row.appendChild(cell4);
  row.appendChild(cell5);
  
  tabBody.appendChild(row);
    
}
	
