/*
This class is controlling the graphing of the coverage viewer. Based on zoomlevel and maptype if
fetches an image from graphing.aspx. As much functionality of the code is done using javascript
to lighten the load of the server.
*/
function doGraph(envelope,service,activelayer,searchtype) {
	
	//If paknet just return
	if (activelayer.toLowerCase().indexOf("paging") > -1 || activelayer.toLowerCase().indexOf("paknet") > -1) {
		return;
	}
	document.getElementById("threeg_text").style.visibility = "hidden";
	document.getElementById("standard_text").style.visibility = "hidden";		
	
	//Initialise
	var graphimage = document.getElementById('graph');
	var graphdiv = document.getElementById('panelGraph');	
	var maptype = 0;
	var greyout = -1;	
	var activelayers = activelayer.split("_");
	
	//Determine maptype
	switch (service) {
		case "NI":
			maptype = 2;
			break;
		case "GB":
			maptype = 1;
			break;			
	}
	
	//Get the envelope from the map
	var minx = envelope.getLeft();
	var miny = envelope.getBottom();
	var maxx = envelope.getRight();
	var maxy = envelope.getTop();	
	
		document.getElementById("futuregreyout_threeg").style.visibility = "hidden";
		document.getElementById("futuregreyout_standard").style.visibility = "hidden";
		document.getElementById("greyout_threeg").style.visibility = "hidden";
		document.getElementById("greyout_standard").style.visibility = "hidden";
	
	//If future	 coverage no show
	if (activelayer.indexOf('fut') > -1) { 
		document.getElementById("threeg_text").style.visibility = "hidden";
		document.getElementById("standard_text").style.visibility = "hidden";		
		graphimage.src = "images/graphing/background.jpg";	
		
		if (document.getElementById("handset_std3g").checked == true){
			document.getElementById("futuregreyout_threeg").style.visibility = "visible";
		}
		if (document.getElementById("handset_std2g").checked == true){
			document.getElementById("futuregreyout_standard").style.visibility = "visible";
		}		
			
	//or if zoom levels above 3 then grey out
	} else if (m_mapViewer.getLevel() > 3) { 
		greyout = 0;
		if (document.getElementById("handset_std3g").checked == true){
			document.getElementById("greyout_threeg").style.visibility = "visible";
		}
		if (document.getElementById("handset_std2g").checked == true){
			document.getElementById("greyout_standard").style.visibility = "visible";
		}										
		graphimage.src = "images/graphing/background.jpg";		
	} else {
		//Call the graph with the appropriate parameters
		if (envelope != null && service != null && greyout == -1) {
			graphimage.src = 'graphing.aspx?extent=' + minx + "," + miny + "," + maxx + "," + maxy + "&service=" + maptype + "&activelayer=" + activelayer;
			graphimage.style.visibility = 'visible';
			graphdiv.style.visibility = 'visible';		
							
			if (searchtype == "postcode") {
				document.getElementById("threeg_text").innerHTML = document.getElementById('LastSearch').value;
				document.getElementById("standard_text").innerHTML = document.getElementById('LastSearch').value;				
				
				//Clear after use
				document.getElementById('LastSearch').value = "";
				
				
				//if (activelayers[0].indexOf("y") > -1) {
				if(document.getElementById("handset_std3g").checked == true){
					document.getElementById("threeg_text").style.visibility = "visible";
				} else {
					document.getElementById("threeg_text").style.visibility = "hidden";
				}
				//if  (activelayers[1].indexOf("y") > -1) {
				if (document.getElementById("handset_std2g").checked == true){
					 document.getElementById("standard_text").style.visibility = "visible";		
				} else {
					document.getElementById("standard_text").style.visibility = "hidden";		
				}
			}					
		}	
		document.getElementById("greyout_threeg").style.visibility = "hidden";
		document.getElementById("greyout_standard").style.visibility = "hidden";			
	}		
		
}

/******************************************************************************
 * read cookie set by the graphing engine
 * to determine mouseover text
 * added C. Harris
 *****************************************************************************/		
function ReadMouseOverCookie() 
{ 
		var cookieName= "CoverageQuality";
		var theCookie=""+document.cookie;
		var ind=theCookie.indexOf(cookieName);
		if (ind==-1 || cookieName=="") return ""; 
		var ind1=theCookie.indexOf(';',ind); 
		if (ind1==-1) ind1=theCookie.length; 
		return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
 }