function showLayers()
{
	document.getElementById('layerHeader').onclick = new Function("hideLayers()");
	document.getElementById('layerHeader').innerHTML = "<span>Hide layer list</span>";
	document.getElementById('layers').style.height = "120px";
	document.getElementById('layerBody').style.display = "block";
}
function hideLayers()
{
	document.getElementById('layerHeader').onclick = new Function("showLayers()");
	document.getElementById('layerHeader').innerHTML = "<span>Show layer list</span>";
	document.getElementById('layerBody').style.display="none";
	document.getElementById('layers').style.height = "20px";
}

var layerNames = new Array(4);
var layerThresh = new Array(4);
var layerDefault = new Array(4);
function iniLayers()
{
	layerNames[1] = "Bio Matrix";
	layerThresh[1] = 0.06;
	layerDefault[1] = "on";
	
	layerDefault[2] = "off";
	layerThresh[2] = 0.02;
	layerThresh[3] = 0.09;
	
	for(i=0;i<layerNames.length;i++)
	{
		if(layerDefault[i]=="off")
			document.getElementById('layer'+i).checked = false;
		else
			document.getElementById('layer'+i).checked = true;
	}
}
function refreshLayers()
{
	curScale = mapFrame.svgScale;
	for(i=0;i<layerNames.length;i++)
	{
		if(layerThresh[i] < curScale) //not within threshold
		{
			document.getElementById('layer'+i).disabled = true;
			if(layerNames[i] == "Bio Matrix") 
				removeSVG(i);
		}
		else if(layerThresh[i] >= curScale) //within threshold
		{
			document.getElementById('layer'+i).disabled = false;
			if(document.getElementById('layer'+i).checked && layerNames[i] == "Bio Matrix")
			{
				removeSVG(i);
				getSVG(i);
			}
		}
	}
}
function resetLayer(i)
{
	if(i==1) //TR squares
	{
		mapFrame.isSelected = null;
		mapFrame.isSelected = new Array(); 
		mapFrame.numSelected = 0;
		document.getElementById('selectedUnits').innerHTML = "0";
	}
	refreshLayers();
}
function toggleSVGLayer(ref,layer)
{
	if(ref.checked == true && ref.disabled == false)
		getSVG(layer);
	else if(ref.checked == false && ref.disabled == false)
		removeSVG(layer);
}
function refreshIMSLayers()
{
	imsLayers = Array('Managed Areas','','Township-Range-Section','DRG,DRG 100K,DRG 250K','IMAGERY.SDE.DOQQ_RGB_17B,IMAGERY.SDE.DOQQ_RGB_17,IMAGERY.SDE.DOQQ_RGB_16'); //such a hack
	layerObj = document.getElementById('layerBody').getElementsByTagName('input');
	for(i=0;i<layerObj.length;i++)
	{
		if(i!=1)
		{
			toggleIMSLayer(layerObj[i],imsLayers[i]);
		}
	}
}
function toggleIMSLayer(ref,layer)
{
	xmlhttp = (navigator.appName=="Netscape") ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	date = new Date();
	var time = date.getUTCSeconds().toString() + date.getUTCMilliseconds().toString();
	if(ref.checked == true && ref.disabled == false)
	{
		url = "Layers.jsp?layer="+layer+"&action=on&time="+time; 
	}
	else if(ref.checked == false && ref.disabled == false)
	{
		url = "Layers.jsp?layer="+layer+"&action=off&time="+time; 	
	}
	//window.open(url);
	xmlhttp.open("POST",url,true);
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState==1)
		{
			mapFrame.animateLoading();
		}
		if(xmlhttp.readyState==4)
		{
			//alert(xmlhttp.responseText);
			mapFrame.updateIMS(null,false);
		}
	}
	xmlhttp.send(null);
}
function checkIMSLayers()
{
	window.open("Layers.jsp?layer=void&action=null");
}	
function getSVG(i)
{
	svgdoc = mapFrame.svgdoc;
	svgroot = mapFrame.svgroot;
	curEnv = mapFrame.getCurEnv();
	isSelected = mapFrame.isSelected;
	xmlhttp = (navigator.appName=="Netscape") ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open('GET','http://lotmaps.freac.fsu.edu/GETSVG/servlet/SVGServlet?request=zoomto&service=bio05&layer=biomatrix&rx='+curEnv.x1+'&rx2='+curEnv.x2+'&ry='+(-1*curEnv.y1)+'&ry2='+(-1*curEnv.y2),true);
	xmlhttp.onreadystatechange = function()
		{
			if(xmlhttp.readyState == 4)
			{
				var xmldoc;
				parentG = svgdoc.getElementById('layers');
				if(navigator.appName=="Netscape")
				{
					xmldoc = xmlhttp.responseXML;
				}
				else
				{ 
					xmldoc = new ActiveXObject("Microsoft.XMLDOM");
					xmldoc.async=false;
					xmldoc.loadXML(xmlhttp.responseText);
				}
				xmlobj = xmldoc.getElementsByTagName('g')[0];			
				children = xmlobj.childNodes;
				numNodes = children.length;
				layerG = svgdoc.createElementNS('http://www.w3.org/2000/svg','g');
				layerG.setAttribute('id','layer_biomatrix');
				for(j=0;j<numNodes;j++)
				{
					svgobj = svgdoc.createElementNS('http://www.w3.org/2000/svg',children[j].tagName);
					attrs = children[j].attributes;
					len = attrs.length;
					id = "";
					for(k=0;k<len;k++)
					{
						if(attrs[k].name == "id")
							id = attrs[k].nodeValue;
						svgobj.setAttribute(attrs[k].name,attrs[k].nodeValue);
					}
					if(isSelected[id]==1)
					{
						svgobj.setAttribute('fill','yellow');
						svgobj.setAttribute('fill-opacity','0.4');
					}
					else
						svgobj.setAttribute('fill-opacity','0.0');
					svgobj.setAttribute('stroke','blue');
					
					svgobj.setAttribute('stroke-width',50*mapFrame.svgScale);
					if(navigator.appName=="Netscape")
					{
						svgobj.setAttribute('onmousedown','top.mainFrame.mapFrame.svgOver(\''+id+'\')');
						svgobj.setAttribute('onmouseout','top.mainFrame.mapFrame.svgOut(\''+id+'\')');
						svgobj.setAttribute('onmouseup','top.mainFrame.mapFrame.svgDown(\''+id+'\')');
						svgobj.setAttribute('onmousemove','top.mainFrame.mapFrame.svgUp(\''+id+'\')');
	
					}
					else
					{
						svgobj.setAttribute('onmouseout','svgOut(\''+id+'\')');	
						svgobj.setAttribute('onmouseover','svgOver(\''+id+'\')');
						svgobj.setAttribute('onmousedown','svgDown(\''+id+'\')');
						svgobj.setAttribute('onmouseup','svgUp(\''+id+'\')');
					}
					layerG.appendChild(svgobj);
				}
				parentG.appendChild(layerG);
			}	
		}
	xmlhttp.send(null);
}
function removeSVG(i)
{		
	if(mapFrame.svgdoc.getElementById('layers').childNodes.length>1)
	{
		try{
			svgdoc = mapFrame.svgdoc;
			layerG = svgdoc.getElementById('layer_biomatrix');
			mapFrame.svgdoc.getElementById('layers').removeChild(layerG);
		}
		catch(e){}
	}
}	
