var xmlHttp;
var eid;
var ready;
var isfullextent="";
var pmapstyle = 0; //0 means rect 1 means point
var pmapindexshowing = 0;
var mappointdiv;
var maprectdiv;
var toccreated = 0;
var showscale = 0;
jg = null;

var EXECUTESCRIPT1= "<ExecuteScript>";
var EXECUTESCRIPT2= "</ExecuteScript>";


/*Most important function ,were the result of the ajax is fetched */
function stateChanged() 
{	
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{	
	 //  alert(eid + " : " + document.getElementById(eid).innerHTML);     			
		HideLoading();
		//alert( xmlHttp.responseText);
		var mydiv = document.getElementById(eid);		
		if (mydiv != null)
		{	
			var s = xmlHttp.responseText; 		
			  //alert(s);
			
			
			if (s.substr(0,9) == "<success>")			
			{
				alert(s.substring(9))
				return;
			}		
			if (s.substr(0,7) == "<error>")			
			{
				alert(s.substring(7))
				return;
			}			
			
			//error was found
			if (s.search("<HTML>") != -1)	
			{	
				w=window.open("ErrorPage.aspx","Err","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=yes, left = 20, top = 50, width=800, height=500")
				w.document.write(s);
				return;
			}
			
			mydiv.innerHTML=xmlHttp.responseText;
			
			if (s.search(EXECUTESCRIPT1) >= 0 )
			{
				p1 = s.search(EXECUTESCRIPT1);
				p2 = s.search(EXECUTESCRIPT2);
				jscode =  s.substr(p1 + EXECUTESCRIPT1.length, p2 - p1 - EXECUTESCRIPT2.length + 1);
				eval(jscode); //execute the javavscript code
				//alert("done");
			}
			
		}
	}
}   

function Zoomback()
{
QueryPage('a','103','QueryAjaxZoom.aspx','mapimg');
}

function ZoomForward()
{
QueryPage('a','104','QueryAjaxZoom.aspx','mapimg');

}


function ZoomToScale()
{
	eScale =document.getElementById("txtscale") 
	
	if (eScale == null) return;
	lScale= eScale.value;
	
	QueryPage2('a',102,'scale',lScale,'QueryAjaxZoom.aspx','mapimg');
}

function spatiallocator_ApplySelection()
{
	chklayersarray =document.getElementsByTagName("input");	
	//alert(chklayersarray.length);
	var slayers="";
	var spolygonlayers ="";
	
	for (i = 0 ; i < chklayersarray.length ; i ++)
		if (chklayersarray[i].type == "checkbox")
		{	//alert(chklayersarray[i].checked);
		if (chklayersarray[i].checked == true)
			if (slayers == "")
				slayers = chklayersarray[i].value  ;
			else
				slayers = slayers + "," + chklayersarray[i].value ; 
		}


	lstpolygonlayers = document.getElementById("polygonlayers");
	//alert(lstpolygonlayers.length);
	for (i = 0 ; i < lstpolygonlayers.length ; i ++)
	if (lstpolygonlayers.options[i].selected == true)
		if (spolygonlayers =="")
			spolygonlayers=lstpolygonlayers.options[i].text;
		else
			spolygonlayers = "," + lstpolygonlayers.options[i].text;
	
	if (spolygonlayers == "")
	{
		alert("Please select at least one polygon layer");
		return;
	}
	
	if (slayers == "")
	{
		alert("Please select at least one layer from the list");
		return;
	}
	
	var rnew =document.getElementById("rnew");
	var radd = document.getElementById("radd");
	var rremove =document.getElementById("rremove");
	
	var seloption;
	
	if (rnew.checked == true)
		seloption="rnew";
		
	if (radd.checked == true)
		seloption="radd";
		
	if (rremove.checked == true)
		seloption="rremove";
		
	QueryPage4('a',54,'checkedlayers',slayers, 'polygonlayers',spolygonlayers,'seloption', seloption,'QueryAjax.aspx', 'spanresult');
	
	//	if(chklayersarray[i].checked) 
		//	 chklayersarray[i].value=v;*/
	//to avoid playing with the toc 
}


function zoomtofeature(oid,layer)
{
	QueryPage3('a',20,'oid',oid,'layer',layer,'QueryAjaxZoom.aspx','mapimg');
}

function highlightfeature(oid,layer)
{
	QueryPage3('a',21,'oid',oid,'layer',layer,'QueryAjaxZoom.aspx','mapimg');
}

function loadlandmark()
{
	a = document.getElementById("txtlandmark")
	
	QueryPage2('a',43,'landmark',a.value,'QueryAjax.aspx','landmarkspan')

}

function hideshow_grouplayer(index,divid)
{
if (ready == 0) return;	
 var layerdiv = document.getElementById(divid);
 if (layerdiv == null) return;
 if (array_group_layers [index] == "NONE")
 {	
 //load it 
    
	 QueryPage2('a',42,'lindex',index,'QueryAjax.aspx',divid);
	 
	 array_group_layers [index] = "LOADED";
	 return;	 
 }

 if (array_group_layers [index] == "LOADED")
 {	
	 array_group_layers [index] = layerdiv.innerHTML;
 }  
	 
 if (layerdiv.innerHTML == "")
	 layerdiv.innerHTML = array_group_layers [index];
 else
	 layerdiv.innerHTML = "";

}



function hideshow_selectionlayer(index,divid)
{
if (ready == 0) return;	
 var layerdiv = document.getElementById(divid);
 if (layerdiv == null) return;
 if (array_selection_layer [index] == "NONE")
 {	
	//load it 

	 //QueryPage2('a',42,'lindex',index,'QueryAjax.aspx',divid);
	 array_selection_layer [index] = "LOADED";
	 return;	 
 }

 if (array_selection_layer [index] == "LOADED")
 {	
	 array_selection_layer [index] = layerdiv.innerHTML;
 }  
	 
 if (layerdiv.innerHTML == "")
	 layerdiv.innerHTML = array_selection_layer [index];
 else
	 layerdiv.innerHTML = "";

}


function movedivtonewwindow(divelementid)
{	
	var divel = document.getElementById(divelementid);
	var cmdview = document.getElementById('cmdview');
	if (divel == null) 
	{return;}
	cmdview.innerHTML = "";
	w=open_window ("stReport.aspx","Report",460,200,'yes')
	w.document.write (divel.innerHTML)	
}


function check_uncheckchilds (chkname,v)
{	  
 
/*
	var chkarray;
	chkarray =document.getElementsByTagName(chkname);	
	//alert(chkarray.length);
	for (i = 0 ; i < chkarray.length ; i ++)
		if(chkarray[i].checked) 
			 chkarray[i].value=v;*/
	//to avoid playing with the toc 
	
	chk=document.getElementById(chkname)
	
	if (ready == 0)
	{
		chk.checked = !chk.checked
		return;
	}
		
	tocdiv = document.getElementById("tocspan")
	QueryPage4('a','15','layer',chkname, 'glayer','y','checked', chk.checked, 'QueryAjaxZoom.aspx','mapimg')
}

 

 

 

function FillComponents(elementid, suboid,action)
{

var es = document.getElementById(elementid + suboid);

var layer;
layer = getchamberlayer();

if (es == null) return;

 if (es.innerHTML == "")
	QueryPage3('a',action,'q',suboid,'layer',layer,'QueryAjax.aspx',elementid + suboid )   //15 means fill transformers"
else	
	es.innerHTML = "";
	 
}

function QueryPage(query_var,query_val,purl,element_id)
{	

if (ready == 0) return;

showLoading();

if (query_val.length==0)
{	
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 HideLoading();
return;
} 


var url = purl;
url=url+"?" + query_var + "=" + query_val;
//url=url+"&mapw=" + crop_imageWidth  + "&maph="  + crop_imageHeight;
url=url+"&sid="+Math.random();
 
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 

function open_window(url,title,width,height,menubar) 
{
return window.open(url,title,"toolbar=no, location=no, directories=no, status=no, menubar=" + menubar +", scrollbars=yes, resizable=yes, copyhistory=yes, left = 20, top = 50, width="+width+", height="+height)
}


function addOption(selectbox, value, text )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;

	selectbox.options.add(optn);
}


function QueryPage2(query_var1,query_val1,query_var2,query_val2,purl,element_id)
{	
if (ready == 0) return;
 
showLoading();

if (query_val1.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
 alert ("Browser does not support HTTP Request");
 HideLoading();
return;
}
  
//var url="ajaxtest.aspx"

var url = purl;
url=url+"?" + query_var1 + "=" + query_val1 + "&" + query_var2 + "=" + query_val2;

var chk = document.getElementById('chk');
if (chk != null)
{
	url = url + "&r=" + chk.checked	;
}

url=url+"&sid="+Math.random();

//alert (url);
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 




function ListCustomers( purl,element_id)
{	
if (ready == 0) return;
showLoading();
/*
if (query_val1.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}*/

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 HideLoading();
return;
}

var cmbgov =document.getElementById("cmbgov");
var cmbblock =document.getElementById("cmbblock");
var cmbroad =document.getElementById("cmbroad");
var cmbaddress =document.getElementById("cmbaddress");

var vgov ="";
var vblock="";
var vroad="";
var vaddress="";

//alert (cmbroad.selectedIndex)

 if (cmbblock.selectedIndex< 0) 
 {
   alert ("Select a block at least")
   return;
 }
 
if (cmbgov.selectedIndex >0 )  vgov =  cmbgov.options[cmbgov.selectedIndex].text;  
if (cmbblock.selectedIndex >0 ) vblock =  cmbblock.options[cmbblock.selectedIndex].text;  
if (cmbroad.selectedIndex >0) vroad =  cmbroad.options[cmbroad.selectedIndex].text;  
if (cmbaddress.selectedIndex >0) vaddress =  cmbaddress.options[cmbaddress.selectedIndex].text;  

var url = purl;
url=url+"?" + "governorate=" + vgov + "&block=" + vblock + "&road=" + vroad + "&address=" + vaddress ;

var chk = document.getElementById('chk');
if (chk != null)
{
	url = url + "&r=" + chk.checked	;
}
 
url=url+"&a=34&sid="+Math.random();

//alert (url);
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 
 


function QueryPage3_ChkFLayer(chkname,query_var1,query_val1,query_var2,query_val2,query_var3,query_val3,purl,element_id)
{	

chk=document.getElementById(chkname)
if (ready == 0)
{
	chk.checked = !chk.checked
	return;
}
	
showLoading();
if (query_val1.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 HideLoading();
return;
}


var url = purl;
url=url+"?" + query_var1 + "=" + query_val1 + "&" + query_var2 + "=" + query_val2 + "&" + query_var3 + "=" + query_val3 + "&" + "checked=" + chk.checked;
 
var chk = document.getElementById('chk');
if (chk != null)
{
	url = url + "&r=" + chk.checked	;
}

url=url+"&sid="+Math.random();

//alert (url);
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 



function QueryPage4(query_var1,query_val1,query_var2,query_val2,query_var3,query_val3,query_var4,query_val4,purl,element_id)
{	

 
if (ready == 0) return;
showLoading();
 

if (query_val1.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 HideLoading();
return;
}


var url = purl;
url=url+"?" + query_var1 + "=" + query_val1 + "&" + query_var2 + "=" + query_val2 + "&" + query_var3 + "=" + query_val3 + "&" + query_var4 + "=" + query_val4;

var chk = document.getElementById('chk');
if (chk != null)
{
	url = url + "&r=" + chk.checked	;
}


url=url+"&sid="+Math.random();
 
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
 
} 
 
 
 

function QueryPage3(query_var1,query_val1,query_var2,query_val2,query_var3,query_val3,purl,element_id)
{	

if (ready == 0) return;
showLoading();
if (query_val1.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 HideLoading();
return;
}


var url = purl;
url=url+"?" + query_var1 + "=" + query_val1 + "&" + query_var2 + "=" + query_val2 + "&" + query_var3 + "=" + query_val3;

var chk = document.getElementById('chk');
if (chk != null)
{
	url = url + "&r=" + chk.checked	;
}


url=url+"&sid="+Math.random();

//alert (url);
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 
 

function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}



function ZoomToEnvelope(query_val_x,query_val_y,query_width,query_height,purl,element_id,action)
{	

if (ready == 0) return;

showLoading();
if (query_val_x.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
HideLoading();
return;
}  
var url = purl;
url=url+"?" + "x_var=" + query_val_x + "&y_var=" + query_val_y;
url=url+"&" + "w=" + query_width + "&h=" + query_height;
url=url+"&a="+ action;
 
var chk = document.getElementById('chk');
//if (chk != null)
 //  alert(chk.value );

url=url+"&sid="+Math.random();
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 
			
			


function GenerateAssetsUnderEnvelope(query_val_x,query_val_y,query_width,query_height,purl,element_id,action)
{	

if (ready == 0) return;
showLoading();
if (query_val_x.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
HideLoading();
return;
}  
var url = purl;
url=url+"?" + "x_var=" + query_val_x + "&y_var=" + query_val_y;
url=url+"&" + "w=" + query_width + "&h=" + query_height;
url=url+"&a="+ action;
 
var chk = document.getElementById('chk');
//if (chk != null)
 //  alert(chk.value );

url=url+"&sid="+Math.random();
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 
		
function ZoomToPage(query_val_x,query_val_y,purl,element_id)
{	
if (ready == 0) return;

showLoading();
if (query_val_x.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    //HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 //HideLoading();
return;
}  
var url = purl;
url=url+"?" + "x_var=" + query_val_x + "&y_var=" + query_val_y;
url=url+"&a=99";

var chk = document.getElementById('chk');
//if (chk != null)
 //  alert(chk.value );

url=url+"&sid="+Math.random();
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null); 


} 
			

function ka_identify(query_val_x,query_val_y,purl,element_id)
{	
if (ready == 0) return;
showLoading();
if (query_val_x.length==0)
{ 
	document.getElementById(element_id).innerHTML="";
    //HideLoading();
	return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
 //HideLoading();
return;
}  
var url = purl;
url=url+"?" + "x_var=" + query_val_x + "&y_var=" + query_val_y;
url=url+"&a=38";

var chk = document.getElementById('chk');
//if (chk != null)
 //  alert(chk.value );

url=url+"&sid="+Math.random();
eid=element_id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

} 
			
			
function OnChange(dropdown,a)  
{		
 
	//a =2 to fill blocks
	if (dropdown != null)
	{	
		var myindex  = dropdown.selectedIndex;
		var SelValue = dropdown.options[myindex].text;
	}

	var el;

		
	if (a == 2) //on change of gov
	{
		el = 'blockcmb';
		removeAllOptions(document.getElementById('cmbLDLBlock'));
		removeAllOptions(document.getElementById('cmbroad'));
		removeAllOptions(document.getElementById('cmbaddress'));
		if (SelValue.length == 0)  return;	
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
		
	}
	else if (a == 3) //on change of block
	{
		el = 'roadcmb';
		var SelValue = dropdown.options[myindex].value;
		//clear the comboboxes
		removeAllOptions(document.getElementById('cmbroad')); 
		removeAllOptions(document.getElementById('cmbaddress'));
		if (SelValue.length == 0)  return;	
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}
	else if (a == 4) //on change of road, fill the address
	{
		el = 'addresscmb';
		removeAllOptions(document.getElementById('cmbaddress'));
		var roadind =  dropdown.selectedIndex;
		var SelRoadValue = dropdown.options[roadind].text;
		
		dropdown2 = document.getElementById('cmbLDLBlock')
		var blockind =  dropdown2.selectedIndex;
		var SelBlockValue = dropdown2.options[blockind].text;
		if (SelValue.length == 0)  return;	
		QueryPage3 ('a',a,'q',SelRoadValue,'q2',SelBlockValue,'QueryAjax.aspx',el);		
	}
	else if (a == 6)//on change of governorate fill block
	{
		el = 'blockcmb';
		var SelValue = dropdown.options[myindex].text;
		//clear the comboboxes
		removeAllOptions(document.getElementById('cmbLMLBlock')); 
		removeAllOptions(document.getElementById('cmbtype')); 
		removeAllOptions(document.getElementById('cmblandmark'));
		if (SelValue.length == 0)  return;	
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}
	else if (a == 7) //on change of block load types
	{
		el = 'typecmb';
		var SelValue = dropdown.options[myindex].text;

		//clear the comboboxes
		removeAllOptions(document.getElementById('cmbtype')); 
		removeAllOptions(document.getElementById('cmblandmark'));
		if (SelValue.length == 0)  return;			
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);
	}
	else if (a == 8) //on change of type, fill the landmraks
	{
		el = 'landmarkcmb';
		removeAllOptions(document.getElementById('cmblandmark'));
		var landmarkind =  dropdown.selectedIndex;
		var selLandmarktext = dropdown.options[landmarkind].text;
		
		dropdown2 = document.getElementById('cmbLMLBlock')
		var blockind =  dropdown2.selectedIndex;
		var SelBlockValue = dropdown2.options[blockind].text;
		if (SelValue.length == 0)  return;			
		QueryPage3 ('a',a,'q',selLandmarktext,'q2',SelBlockValue,'QueryAjax.aspx',el);		
	}
	
	else if (a == 10) //on change of governroate fill the etstations
	{
		el = 'telectriccmb';
		removeAllOptions(document.getElementById('cmbtelectric'));
		if (SelValue.length == 0)  return;			
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}
	
	else if (a == 12) //on change of governroate fill the blocks
	{
		el = 'spBlockSubLoc';
		removeAllOptions(document.getElementById('cmbESLBlock'));
		removeAllOptions(document.getElementById('cmbsubstation'));
		if (SelValue.length == 0)  return;			
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}

	else if (a == 13) //on change of block fill the substation
	{
		el = 'substationcmb';
		removeAllOptions(document.getElementById('cmbsubstation'));
		if (SelValue.length == 0)  return;	
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}
	
	else if (a == 14) //on change of SUBSTATION  fill its components
	{
		el = 'substationtree';
		var SelValue = dropdown.options[myindex].value;
		if (SelValue.length == 0)  return;			
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}

	
 	else if (a == 20) //on change of governroate fill the blocks
	{	
		//  //
		/* HN 3-July-2007 */
		/*
		el = 'blockcmb';
		removeAllOptions(document.getElementById('cmbblock'));
		removeAllOptions(document.getElementById('cmbchamber'));
		var layer = getchamberlayer();
		if (SelValue.length == 0)  return;		
		
		QueryPage3 ('a',a,'q',SelValue,'layer',layer,'QueryAjax.aspx',el);	
		*/
		/* HN 3-July-2007 */
		
		el = 'chambercmb';
		var layer = getchamberlayer();
		removeAllOptions(document.getElementById('cmbchamber'));
		if (SelValue.length == 0)  return;				 
		QueryPage3 ('a',a,'q',SelValue,'layer',layer,'QueryAjax.aspx',el);	
		
	}

	else if (a == 21) //on change of block fill the chamber
	{
		el = 'chambercmb';
		var layer = getchamberlayer();
		removeAllOptions(document.getElementById('cmbchamber'));
		if (SelValue.length == 0)  return;				 
		QueryPage3 ('a',a,'q',SelValue,'layer',layer,'QueryAjax.aspx',el);	
	}
	
	else if (a == 22) //on change of chamber  fill its components
	{
		el = 'chambertree';
		var layer = getchamberlayer();
		var SelValue = dropdown.options[myindex].value;
		if (SelValue.length == 0)  return;				
		QueryPage3 ('a',a,'q',SelValue,'layer',layer,'QueryAjax.aspx',el);	
	}

	else if (a == 29)
	{
		el = 'cmbcircuit';
		var dropdown = document.getElementById(el);
		var myindex = dropdown.selectedIndex;
		if (myindex < 0) return;
		
		var feedername =  dropdown.options[myindex].text;
		if (feedername.length == 0 ) return;
		
		QueryPage2 ('a',a,'q',feedername,'QueryAjax.aspx','txtcircuitlength');	
	}
	 
 	else if (a == 31)
	{
		el = 'cmbpipe';
		var dropdown = document.getElementById(el);
		var myindex = dropdown.selectedIndex;
		if (myindex < 0) return;
		
		var pipename =  dropdown.options[myindex].text;
		if (pipename.length == 0 ) return;
		
		QueryPage2 ('a',a,'q',pipename,'QueryAjax.aspx','txtpipelength');	
	}
	else if (a == 33) //on change of governroate fill the etstations
	{
		el = 'pumpcmb';
		removeAllOptions(document.getElementById('cmbpump'));
		if (SelValue.length == 0)  return;				
		QueryPage2 ('a',a,'q',SelValue,'QueryAjax.aspx',el);	
	}
	
	else if (a == 51) //Fill SubType landmark by type
	{
		var dropdown = document.getElementById("cmbtype")
		var myindex = dropdown.selectedIndex;

		//removeAllOptions(document.getElementById('cmblandmark'));
		if (myindex == -1)
			return;
			
		var ddcmblandmark =document.getElementById("cmblandmark") 
		removeAllOptions(ddcmblandmark);
		
		var stype =  dropdown.options[myindex].text;
		QueryPage2 ('a',a,'landmarktype',stype,'QueryAjax.aspx','spanSubtype');
		
	}		
	
	else if (a == 52) //Fill LANDMARKS landmark by type
	{	

		var ddType = document.getElementById("cmbtype")
		var ddSubtype = document.getElementById("cmbsubtype")
		
		var isubtypeindex = ddSubtype.selectedIndex;
		var itypeindex = ddType.selectedIndex;
		
		if (itypeindex == -1 || isubtypeindex == -1)
			return;
	
		var stype =  ddType.options[itypeindex].text;
		var ssubtype = ddSubtype.options[isubtypeindex].text;
		QueryPage3 ('a',a,'landmarktype',stype,'landmarksubtype',ssubtype,'QueryAjax.aspx','spanLandmark');
	
	}		
	 
}





function ZoomTo(a,pElement)
{	    
    
    // var loadDiv = document.getElementById("Loading");
    //if (loadDiv!=null) loadDiv.style.visibility = "visible";

	var el = document.getElementById(pElement);
	if (a == 1)
	{       	   
		//el = pElement //pElement'cmbgov';
		var dropdown = el //pElement //document.getElementById(el)
		var myindex = dropdown.selectedIndex;
		if (myindex< 0 ) return;
		var SelValue = dropdown.options[myindex].text;
		if (SelValue.length == 0) return;
		//QueryPage2 ('a',a,'q',SelValue,'QueryAjaxZoom.aspx','mapimg');
		 SelectFeatures("GOVERNORATENAME='" + SelValue + "'" ,"Governorate")
		 
	}
	else if (a == 2)
	{
		//el = pElement //'cmbblock';
		var dropdown = el //pElement //document.getElementById(el)
		var myindex = dropdown.selectedIndex;
		if (myindex< 0 ) return;
		var SelValue = dropdown.options[myindex].text //value; //take the object id in case of block
		if (SelValue.length == 0) return;
		
		//QueryPage2 ('a',a,'q',SelValue,'QueryAjaxZoom.aspx','mapimg');
		 SelectFeatures("BLOCKNO='" + SelValue + "'" ,"Block")
		
	}
	else if (a == 3)
	{
		//el = 'cmbroad'; //take the object id of the block and the road no
		 
		var blockdown = document.getElementById('cmbLDLBlock') 
		var dropdown = el //pElement //document.getElementById(el)
		var blockin = blockdown.selectedIndex;
		var myindex = dropdown.selectedIndex;

		var blockval = blockdown.options[blockin].text;
		
		if (myindex == -1)
			return;
		
		var roadno = dropdown.options[myindex].text;
		
		if (roadno.length == 0) return;	
		//QueryPage3 ('a',a,'q',roadno,'q2',blockoid,'QueryAjaxZoom.aspx','mapimg');
		// SelectFeatures("ROADNUMBER='" + roadno + "'" ,"Road")
		
		ZoomToRoad(roadno,blockval);
		 
	}		
	
	else if (a ==4 )
	{
			//el = 'cmbaddress';
			var dropdown = el //pElement //document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
				
			var addressoid = dropdown.options[myindex].value; //take the object id in case of address
			var addresstxt =  dropdown.options[myindex].text;
			if (addresstxt.length ==0) return;
			//QueryPage2 ('a',a,'q',addressoid,'QueryAjaxZoom.aspx','mapimg');
			 SelectFeatures("OBJECTID='" + addressoid + "'" ,"Address")
			 
	}	
 
	else if (a == 5) //zoom to landmark
	{
			//el = 'cmblandmark';
			var dropdown = el //pElement //document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
				
			var landmarkoid = dropdown.options[myindex].value; //take the object id in case of landmark
			var landmarktxt =  dropdown.options[myindex].text;
			//alert(landmarkoid);
			if (landmarktxt.length == 0) return;
			//QueryPage2 ('a',a,'q',landmarkoid,'QueryAjaxZoom.aspx','mapimg');
		    SelectFeatures("OBJECTID='" + landmarkoid + "'" ,"Landmark")	 
	}
	
	else if (a == 6) //zoom to t__electric station
	{
			//el = 'cmbtelectric';
			var dropdown = el // document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
				
			var telecoid = dropdown.options[myindex].value; //take the object id in case of primary station
			var telectxt =  dropdown.options[myindex].text;
			if (telectxt.length == 0) return;
			//QueryPage2 ('a',a,'q',telecoid,'QueryAjaxZoom.aspx','mapimg');
			//alert(telecoid);
			SelectFeatures("OBJECTID='" + telecoid + "'" ,"T_Electric Station")	 	
	}
	
	else if (a == 7) //zoom to substation station
	{
			el = 'cmbsubstation';
			var dropdown = document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
			
			var telecoid = dropdown.options[myindex].value; //take the object id in case of substation
			var telectxt =  dropdown.options[myindex].text;
			if (telectxt.length == 0) return;		
			//QueryPage2 ('a',a,'q',telecoid,'QueryAjaxZoom.aspx','mapimg');
			SelectFeatures("OBJECTID=" + telecoid  ,"Substation")
	}
	
	else if (a == 9) //zoom to chamber
	{
			el = 'cmbchamber';
			var dropdown = document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
				
			var toid = dropdown.options[myindex].value; //take the object id in case of chamber
			var ttxt =  dropdown.options[myindex].text;
			if (ttxt.length == 0) return;
			var slayer =getchamberlayer();
			//QueryPage3 ('a',a,'q',toid,'layer',slayer,'QueryAjaxZoom.aspx','mapimg');
			SelectFeatures("OBJECTID=" + toid  ,slayer)
	}
	
	else if (a == 10) //full extent
	{	
		isfullextent="yes"; //while doing full extent .. recreate the toc
		
		QueryPage ('a',a,'QueryAjaxZoom.aspx','mapimg');
		
	}
	
	else if (a == 11)
	{
		el = 'cmbcircuit';
		var dropdown = document.getElementById(el)

		var myindex = dropdown.selectedIndex;
		if (myindex < 0) return;
		
		var feedername =  dropdown.options[myindex].text;
		if (feedername.length ==0 ) return;
		
		//QueryPage2 ('a',a,'q',feedername,'QueryAjaxZoom.aspx','mapimg');
        //		SelectFeatures("CIRCUITNAME='" + feedername + "'"  ,"T_Underground Power Cable")
	    SelectFeatures2("CIRCUITNAME='" + feedername + "'"  ,"T_Underground Power Cable","CIRCUITNAME='" + feedername + "'"  ,"T_Overhead Line")
				
	}
	
	else if (a == 12)
	{
		el = 'cmbpipe';
		var dropdown = document.getElementById(el)

		var myindex = dropdown.selectedIndex;
		if (myindex < 0) return;
		
		var pipename =  dropdown.options[myindex].text;
		if (pipename.length ==0 ) return;
		
		//QueryPage2 ('a',a,'q',pipename,'QueryAjaxZoom.aspx','mapimg');
		SelectFeatures("NAME='" + pipename + "'",'T_Main Pipe')

	}
	
	
	else if (a == 13) //zoom to pump station
	{
			el = 'cmbpump';
			var dropdown = document.getElementById(el)
			var myindex = dropdown.selectedIndex;
			
			if (myindex == -1)
				return;
				
			var toid = dropdown.options[myindex].value; //take the object id in case of primary station
			var ttxt =  dropdown.options[myindex].text;
			if (ttxt.length == 0) return;
			//QueryPage2 ('a',a,'q',toid,'QueryAjaxZoom.aspx','mapimg');
	 	    SelectFeatures("NAME='" + ttxt + "'",'T_Water Structure')
	}
	else if (a == 14) //full extent
	{	
	 	isfullextent="yes"; //while doing full extent .. recreate the toc
		QueryPage2 ('a',a,'q',1,'QueryAjaxZoom.aspx','simg');
	} 


    //var loadDiv = document.getElementById("Loading");     
    //if (loadDiv!=null) loadDiv.style.visibility = "hidden";
}


 
function point_it(event){
    pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
    pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
    document.getElementById("cross").style.left = (pos_x-1) ;
    document.getElementById("cross").style.top = (pos_y-15) ;
    document.getElementById("cross").style.visibility = "visible" ;
    document.pointform.form_x.value = pos_x;
    document.pointform.form_y.value = pos_y;
}
 


function print_template()
{	
	var url;
	var title;
	var menubar ;
	var width;
	var height;
	
	width = 450;
	height = 270;
	  
	title = 'MapProduction'
	url ='MapProduction.aspx';
	window.open(url,title,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=yes, left = 20, top = 50, width="+width+", height="+height)
  
}	


function getxy()
{	

	var e = window.event ;
	var x;
	var y;
	
	var img = document.getElementById('mappic')
	//x = e.clientX -img.offsetLeft;
	//y = e.clientY -img.offsetTop;
	
	x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("mappic").offsetLeft;
    y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("mappic").offsetTop;
 
	//alert (img.offsetLeft  + "   " + e.clientX);
	//alert (img.offsetTop  + "   " + e.clientY);
	//alert  (x + ',' + y);
	//img.width = img.width - 100;
	//ZoomToPage (x , y,'QueryAjaxZoom.aspx','mapimg');
	//ka_identify(x,y,'QueryAjax.aspx','ImageContainerPoint');
	//window.open ('MapProduction.aspx');
	  
	var action_radio_print;
	var action_radio_identify;
	var action_radio_trace1;
	var action;
	
	action_radio_print = document.getElementById("rdprint")
	action_radio_identify = document.getElementById("rdidentify")
	action_radio_trace1 = document.getElementById("rdtrace1")
	 
   if (action_radio_print.checked == true)
		action= "print"
	 
   if (action_radio_identify.checked == true)
		action= "identify"
	 
   if (action_radio_trace1.checked == true)
		action= "trace1"
	 
	switch (action)
	{
 
		case "print":
			print_template();
			break;
		case "identify":
			identify_features(x,y);
			break;
		case "trace1":
			trace1(x,y);
			break;

	}
  
}	


function trace_xfr_svc(x,y)
{
 
	QueryPage3('a',16,'x_var',x,'y_var',y,'QueryAjaxZoom.aspx','mapimg');
}	


function trace_xfr_circuit(x,y)
{
	 
	QueryPage3('a',17,'x_var',x,'y_var',y,'QueryAjaxZoom.aspx','mapimg');
}	


function trace_isolate(x,y)
{	
 
	QueryPage3('a',18,'x_var',x,'y_var',y,'QueryAjaxZoom.aspx','mapimg');
}	

function identify_features(x,y)
{		
	var url;
	var title;
	var menubar ;
	var width;
	var height;
	
	width = 450;
	height = 480;
	  
	title = 'Identify'
	url ='IdentifyFeatures.aspx?x_var=' + x + '&y_var=' + y;
	window.open(url,title,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=yes, left = 20, top = 50, width="+width+", height="+height)
 
}

function zoomtoenv(action)
{	
	
	pmapindexshowing=0;
	var e = window.event ;
	var x;
	var y;
	var w;
	var h;
		
	x = document.getElementById("input_crop_x").value;
	y = document.getElementById("input_crop_y").value;
	w = document.getElementById("input_crop_width").value;
	h = document.getElementById("input_crop_height").value;
	//97>zoom in
	//96>zoom out

	ZoomToEnvelope (x,y,w,h,"QueryAjaxZoom.aspx","mapimg",action) 
}	


function zoomtomapindex(action)
{	

   QueryPage('a',action,'QueryAjaxZoom.aspx','mapimg');
   /*
	var e = window.event ;
	var x;
	var y;
	var w;
	var h;
	
	var chkenablemapindex = document.getElementById("enablemapindex")	
	var spmapindex = document.getElementById("mapindex")
	
	if (chkenablemapindex != null) 
	{
		if (chkenablemapindex.checked == false ) return;
		spmapindex.innerHTML = "Wait while creating map index";
	}
	
	if (window.opener != null)
	{
		mydoc = window.opener.document;
		return;
	}
	else
		mydoc = window.document;
	
	x  = mydoc.getElementById("input_crop_x").value;
	y = mydoc.getElementById("input_crop_y").value;
	w = mydoc.getElementById("input_crop_width").value;
	h = mydoc.getElementById("input_crop_height").value;
		
	//100 index

	ZoomToEnvelope (x,y,w,h,"QueryAjaxZoom.aspx","mapindex",action) 
	
	pmapindexshowing=1;*/
	
	
	
}	

function zoomtolayer(chkname)
{
	QueryPage2('a','19','layer',chkname,'QueryAjaxZoom.aspx','mapimg')
}

function listcheck()
{/*
	var chkarray;
	chkarray =document.forms[0].chklayers;
	
	for (i = 0 ; i < chkarray.length ; i ++)
		if(chkarray[i].checked) 
			alert(chkarray[i].value);*/
	 
	var x;
	var y;
	var w;
	var h;
		
	x  = opener.window.document.getElementById("input_crop_x").value;
	y = opener.window.document.getElementById("input_crop_y").value;
	w = opener.window.document.getElementById("input_crop_width").value;
	h = opener.window.document.getElementById("input_crop_height").value;
	//97>zoom in
	//96>zoom out
	var cmd = document.getElementById("cmdgenerate");
	cmd.value = "Wait.."
	GenerateAssetsUnderEnvelope (x,y,w,h,"QueryAjax.aspx","spanreport",36) 
}	
 
function switch_client_action (action)
{	
	var action_radio_zoom_in;
	var action_radio_zoom_out;
	var action_radio_print;
	var action_radio_identify;
	var action_radio_trace1;
	var action_radio_trace2;
	var action_radio_trace3;
	var action_radio_assets;
	var action;
	 
	action_radio_zoom_in = document.getElementById("rdzoomin")
	action_radio_zoom_out = document.getElementById("rdzoomout")
	action_radio_print = document.getElementById("rdprint")
	action_radio_identify = document.getElementById("rdidentify")
	action_radio_trace1 = document.getElementById("rdtrace1")
	action_radio_trace2 = document.getElementById("rdtrace2")
	action_radio_trace3 = document.getElementById("rdtrace3")
	action_radio_arrow = document.getElementById("rdarrow")
	action_radio_assets = document.getElementById("rdassets")
		
	var e = window.event ;
	var x;
	var y;
	
	var img = document.getElementById('mappic')
  	
	x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("mappic").offsetLeft;
    y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("mappic").offsetTop;
 	   
	if (action_radio_zoom_in.checked == true)
		action= "zoomin"
		
	if (action_radio_zoom_out.checked == true)
		action= "zoomout"
	/*				 
	if (action_radio_print.checked == true)
		action= "print"*/
	 
	if (action_radio_identify.checked == true)
		action= "identify"
	 
    if (action_radio_trace1.checked == true)
		action= "trace1"
	
    if (action_radio_trace2.checked == true)
		action= "trace2"
	
    if (action_radio_trace3.checked == true)
		action= "trace3"
	
    if (action_radio_assets.checked == true)
		action= "assets"
	
 
	switch (action)
	{
 
		case "zoomin":
			zoomtoenv(97);		 
			break;
		case "zoomout":
			zoomtoenv(96);
			break;
		case "print":
			print_template();
			break;
		/*	
		case "print":
			print_template();
			break;*/
		case "identify":
			identify_features(x,y);
			break;
		case "trace1":
			trace_xfr_svc(x,y);
			break;
			
		case "trace2":
			trace_xfr_circuit(x,y);
			break;
			
		case "trace3":
			trace_isolate(x,y);
			break;
			
		case "assets":
			open_window ("AssetsUnderBoundary.aspx","assets",800 ,400);
		 
	}
  
 
}

 

		function removehexspace(s)
		{
			while (s != s.replace("%20"," "))
				s = s.replace("%20"," ");
				
			return s;
		}

		function setvars(title,dir,section,user,pdate)
		{
			var stitle = document.getElementById("title")
			var sdir = document.getElementById("directorate")
			var ssection = document.getElementById("section")
			var sdate = document.getElementById("date")
			var suser = document.getElementById("user")
			//var simg = document.getElementById("simg")	
			 
			title = removehexspace(title);
		 
			dir=removehexspace(dir);
			section=removehexspace(section)
			user=removehexspace(user)
			pdate=removehexspace(pdate)
				
			stitle.innerHTML = title;		
			sdir.innerHTML = dir;
			ssection.innerHTML = section;
			sdate.innerHTML = pdate;
					
			//alert(img);
			/*
			img=img.replace("*amp*","&")
			img=img.replace( "*eq*","=")
			*/
			
			ZoomTo (14);
			suser.innerHTML = user;
			//simg.innerHTML = "<img src='" + img + "' width='816' height='552'>"
			 
		}
		
		function getQueryVariable(variable)
		 {
		  
			var query = window.location.search.substring(1);
			 var vars = query.split("&");
			 for (var i=0;i<vars.length;i++) {
			  var pair = vars[i].split("=");
			 if (pair[0] == variable) {
				return pair[1];
				}
		 }
  
  return "-";
 // alert('Query Variable ' + variable + ' not found');
}

	function setqueryvars()
	{	     
			var stitle = getQueryVariable("title")			 
			var sdir = getQueryVariable("directorate")
			var ssection = getQueryVariable("section")
			var sdate = getQueryVariable("date")
			var suser = getQueryVariable("user")
			//var simg = getQueryVariable("img") 					
			setvars(stitle,sdir,ssection,suser,sdate);
	}
			
			

function releasememory()
{
	QueryPage('q','43','QueryAjax.aspx','mapimg');
	window.close();
}


 function crop(img_id, crop_id, x, y, width, height) {
    $(crop_id).update('<img id="' + crop_id + '_img" src="' +
        $(img_id).getAttribute('src') + '" style="display:none" />');

    var scale_x = $(crop_id).getWidth() / width;
    var scale_y = $(crop_id).getHeight() / height;

    $(crop_id).setStyle({
      position: 'relative',
      overflow: 'hidden' 
    });

    $(crop_id + '_img').setStyle({
      position: 'absolute',
      display: 'block',
      left: (-x * scale_x) + 'px',
      top: (-y * scale_y) + 'px',
      width: ($(img_id).getWidth() * scale_x) + 'px',
      height: ($(img_id).getHeight() * scale_y) + 'px'
    });
  }
  /* ]]> */
 
 
 		
function shift(direc)
{

d = document.getElementById("mappic");

shiftby = 75;

if (d ==null) return;
/*
if (d.style.top == "")
	d.style.top=0;
	
if (direc == "r")
	d.style.left= parseInt(d.style.left)-shiftby;
else if (direc == "l")
	d.style.left= parseInt(d.style.left)+shiftby;
else if (direc == "u")
	d.style.top= parseInt(d.style.top)+shiftby;
else if (direc == "d")
	d.style.top= parseInt(d.style.top)-shiftby;
				
//if (d.style.left == "") d.style.left='0px'

//d.style.left= d.style.left + '10px'
*/

crop("mappic","mapimg",0,0,d.style.width,d.style.height);

}

function Pan(where)
{	
//alert(where)
	//shift (where);
	QueryPage2('a','98','q',where,'QueryAjaxZoom.aspx','mapimg');
}
		

function showLoading() {
ready=0;
var loadDiv = document.getElementById("Loading");
if (loadDiv!=null) loadDiv.style.visibility = "visible";

}

function HideLoading() {
ready=1;
var loadDiv = document.getElementById("Loading");
if (loadDiv!=null) loadDiv.style.visibility = "hidden";

}


function togglevisit(v)
{
	 
	if (document.getElementById("visit" + v).style.display == "none") 	
		document.getElementById("visit" + v).style.display = "block";
	else
		document.getElementById("visit" + v).style.display = "none";
	
}
//load visits for restaurants.. 
function LoadVisits()
{
	dvid = document.getElementById("restid"); 
	if (dvid == null) return;
	 
	QueryPage2("ajaxClass", "brAjaxListVisits","rid",dvid.innerHTML, "ajax.php","dvContent");

}
 // function GetXmlHttpObject()
 // { 

// var objXMLHttp=null;
// if (window.XMLHttpRequest)
// {
// objXMLHttp=new XMLHttpRequest()
// }
// else if (window.ActiveXObject)
// {
// objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
// }
// return objXMLHttp
// } 

function GetXmlHttpObject()
{
try
  {  // Firefox, Opera 8.0+, Safari  
  oxmlHttp =new XMLHttpRequest();  
  }
catch (e)
  {  // Internet Explorer  
  try
    {    oxmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    }
  catch (e)
    {   
	try
      {    	  oxmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      }
    catch (e)
      {      
	  alert("Your browser does not support AJAX!"); 
	  return false;   
	  }    
	  } 	  }
	  
	  return oxmlHttp;


}

function drawit(x,y,w,h) //for drawing map index
{

if (jg ==null) 
{  jg = new jsGraphics("mapindexdiv");}

jg.clear();
jg.setColor("#ff0000"); 
jg.drawRect(x,y,w,h);
jg.paint();

}

function convert(rxmax,rxmin,rymax,rymin)
{
	var ixn,iyn,iw,ih;
	var ixm,iym;
	var imgwidth = 200;
	var imgheight = 160;

	//alert("rxmax = " + rxmax + " rxmin = " + rxmin + " rymax = " + rymax + " rymin = " + rymin);
	
	/*pxmax = 494744.009382194  
	pxmin = 425631.849954115
	pymax = 915871.567870916
	pymin = 822366.881585868*/
	pxmax = 530512.882798506
	pxmin = 389862.976537803
	pymax = 915871.567870916
	pymin = 822366.881585868
	
	var prxdist = pxmax - pxmin;
	var prydist = pymax - pymin;
	
	ixn = (((rxmin - pxmin) * imgwidth) / prxdist) ;
	ixm = ((rxmax - pxmin) * imgwidth) / prxdist;			
		 		
	if (ixm > ixn)						
		iw = ixm - ixn +6;
	//else
	//	iw = ixn - ixm +6;
		
	iyn = imgheight-(((rymin - pymin) * imgheight) / prydist);
	iym = imgheight-(((rymax - pymin) * imgheight) / prydist);	
	
	//if (iym > iyn)						
		//ih = iym - iyn;
	
	ih = iyn - iym;
	
	//alert("ixn = " + ixn + " iyn = " + iyn + " iym = " + iym + " iw " + iw + " ih = " + ih);
	iw = Math.floor(iw);
	ih =Math.floor(ih)
	
	if (iw > imgwidth  || ih > imgheight)
		return;
	
	if (iw <= 3)
		iw = 3;
	
	if (ih <= 3)
		ih= 3;
	
 
	if (iyn > imgheight) return;
	if (ixm > imgwidth) return;
	
	if (ixn < -1 || iym < -1)return;
	drawit(ixn-2,iym,iw,ih);
}



//---------------Functions for query builder --------------//
function loadlayers()
{	
	QueryPage('a','44','QueryAjax.aspx','cmblayers')
}

function loadfieldsgivenlayer(layername)
{	
	QueryPage2('a','45','layer',layername,'QueryAjax.aspx','lstfields')
}


function selectfeaturesbasedonQueryFilter(queryfilter,layername)
{
	//QueryPage3('a','46','queryfilter',queryfilter,'layer',layername,'QueryAjax.aspx','statusbar')
	SelectFeatures(queryfilter , layername)
}


function verifyQueryFilter(queryfilter,layername)
{
	QueryPage3('a','48','queryfilter',queryfilter,'layer',layername,'QueryAjax.aspx','statusbar')
}



function addPara(par) {
    var pTextArea = document.getElementById("QueryString");
	var qString = pTextArea.value; //document.QueryStuff.QueryString.value;
	pTextArea.value = qString + par;
} 


function clearString() {
    var pTextArea = document.getElementById("QueryString");
	pTextArea.value = "";	
}
function addString(field) {
	var pTextArea = document.getElementById("QueryString");
	field = pTextArea.value + field;
	pTextArea.value = field; 
}
function addStringWithQ(field)
{	
    var pTextArea = document.getElementById("QueryString");
	if (pTextArea.value == null) return;
	//field = document.QueryStuff.QueryString.value + "'" + field + "'";
	// HM 23-jun-2007 Date fixed //
	field = pTextArea.value + field ;
	//\HM 23-jun-2007 Date fixed //
	pTextArea.value = field;
}

function varifyQuery()
{
    var pTextArea = document.getElementById("QueryString");
    var pActiveLayer = document.getElementById("activelayer");
	var wherestr = pTextArea.value;
	var activelayer= pActiveLayer.value //document.QueryStuff.activelayer.value;
	if (wherestr==""){
		alert("No Query String!");
	}else{
	
	    cmblayer = document.getElementById("LayerSelection")
	  //  alert(cmblayer.options[cmblayer.selectedIndex].text);
	  if (cmblayer.options[cmblayer.selectedIndex].text.length == 0) return;
		verifyQueryFilter(wherestr,cmblayer.options[cmblayer.selectedIndex].text);
	}	

}

function sendQuery(){
    var pTextArea = document.getElementById("QueryString");
    var pActiveLayer = document.getElementById("activelayer");
    
	var wherestr = pTextArea.value;
	var activelayer=pActiveLayer.value;
	if (wherestr==""){
		alert("No Query String!");
	}else
	{
	    cmblayer = document.getElementById("LayerSelection")
		selectfeaturesbasedonQueryFilter(wherestr,cmblayer.options[cmblayer.selectedIndex].text);
	}	
}

function GetSamples()
{
 cmblayer = document.getElementById("LayerSelection")
 lstfield = document.getElementById("QueryField")
 if (cmblayer == null) return;
 if (lstfield == null) return;
 
 if (cmblayer.selectedIndex <0) return;
 if (lstfield.selectedIndex <0)return;
 layername = cmblayer.options[cmblayer.selectedIndex].value
 fieldname =lstfield.options[lstfield.selectedIndex].text
 //alert(fieldname)
 //alert(layername)
 if (fieldname.length == 0 || layername.length == 0) return;
 QueryPage3('a','47','layer',layername,'field',fieldname,'QueryAjax.aspx','lstuniquevalues')


}

function clearvalues()
{
   lstvalues = document.getElementById("lstuniquevalues")
   lstvalues.innerHTML = "<select name='QueryValue' size='6' style='WIDTH: 240px'></select>"
}

function clearfields()
{
	lstfield = document.getElementById("lstfields")
	lstfield.innerHTML = "<select name='QueryField' size='6' style='WIDTH: 350px' ></select>"
}

function setBeginRecord(begin){
	document.frmRecord.beginrecord.value=begin;
	document.frmRecord.submit();
}

function setActiveLayer(layername)
{
//This function passes the active layer index to map
clearvalues();clearfields();
loadfieldsgivenlayer(layername);
}




/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/
/*
var Drag = {

	obj : null,

	init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
	{
		o.onmousedown	= Drag.start;

		o.hmode			= bSwapHorzRef ? false : true ;
		o.vmode			= bSwapVertRef ? false : true ;

		o.root = oRoot && oRoot != null ? oRoot : o ;

		if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
		if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
		if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
		if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

		o.minX	= typeof minX != 'undefined' ? minX : null;
		o.minY	= typeof minY != 'undefined' ? minY : null;
		o.maxX	= typeof maxX != 'undefined' ? maxX : null;
		o.maxY	= typeof maxY != 'undefined' ? maxY : null;

		o.xMapper = fXMapper ? fXMapper : null;
		o.yMapper = fYMapper ? fYMapper : null;

		o.root.onDragStart	= new Function();
		o.root.onDragEnd	= new Function();
		o.root.onDrag		= new Function();
	},

	start : function(e)
	{
		var o = Drag.obj = this;
		e = Drag.fixE(e);
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		o.root.onDragStart(x, y);

		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

		if (o.hmode) {
			if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
			if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
		} else {
			if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
			if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
		}

		if (o.vmode) {
			if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
			if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
		} else {
			if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
			if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
		}

		document.onmousemove	= Drag.drag;
		document.onmouseup		= Drag.end;

		return false;
	},

	drag : function(e)
	{
		e = Drag.fixE(e);
		var o = Drag.obj;

		var ey	= e.clientY;
		var ex	= e.clientX;
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		var nx, ny;

		if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
		if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
		if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
		if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

		nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
		ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

		if (o.xMapper)		nx = o.xMapper(y)
		else if (o.yMapper)	ny = o.yMapper(x)

		Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
		Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
		Drag.obj.lastMouseX	= ex;
		Drag.obj.lastMouseY	= ey;

		Drag.obj.root.onDrag(nx, ny);
		return false;
	},

	end : function()
	{
		document.onmousemove = null;
		document.onmouseup   = null;
		Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
									parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
		Drag.obj = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
};








*/


