var mouseX=0,mouseY=0,x1=0,x2=0,y1=0,y2=0,minX=0,minY=0,maxX=0,maxY=0,overMap=false;
var mapMinX=0,mapMinY=0,mapMaxX=0;mapMaxY=0,mapX=0,mapY=0,mapHeight=0,mapWidth=0;
var toolBarStyle=null,origWinWid,origWinHgt,crntWinWid=0,crntWinHgt=0,resizeCnt=0;
var sStatus='',sTip='';lastz=5,crntTool=0,crntToolType=0,sbVisible=true,sbHeight=0;
var submitted=false,zooming=false,dragging=false,mapclicked=false,resizing=false,mapunits=false;
var mpt='mpt',wpt,hvr,lyrHover=null,arrLyrNames=new Array(''),arrMapScale;
var winParent=null,newWin=null,usingPopUps=false;
var measuring=false,vmlMeas='',ttlMeas=0,currMeas=0,sMeas='',lastMeasX=0,lastMeasY=0,ptsMeas=0;
var sCustToolFunc='',sCustToolDesc='',sCustToolCursor='';
var moTimer=null,moX=0,moY=0;
var mouseBtn=0,shiftKey=false;

function getMouseXY(e){
	if(dragging)return;
	var ox1=0,ox2=0,oy1=0,oy2=0,zx1=0,zx2=0,zy1=0,zy2=0,s;
  if(isNC){
		if(e.pageX){mouseX=e.pageX;mouseY=e.pageY;}
	}else{
    mouseX=(event.clientX+document.body.scrollLeft);
    mouseY=(event.clientY+document.body.scrollTop);
  }
	s="";
  if(checkMousePos()){
		var dX=lyrMap.getLeft()+lyrMapImg.getLeft(),dY=lyrMap.getTop()+lyrMapImg.getTop();
		ox1=x1-dX;oy1=y1-dY;ox2=mouseX-dX;oy2=mouseY-dY;
	  if(!zooming){
			x2=0;y2=0;
			getMapXY(ox2,oy2);s+="x="+formatNumber(mapX,2)+",&nbsp;y="+formatNumber(mapY,2);
			hideZoomRect();
			if(measuring)doMeas(e);
		}else{
			x2=mouseX;y2=mouseY;
			if(x1>x2){zx2=x1;zx1=x2;}else{zx1=x1;zx2=x2};
			if(y1>y2){zy2=y1;zy1=y2;}else{zy1=y1;zy2=y2};
			lyrRectTop.move(zx1,zy1-1);lyrRectLeft.move(zx1-1,zy1);
			lyrRectRght.move(zx2-1,zy1);lyrRectBotm.move(zx1,zy2-1);
			lyrRectTop.size(zx2-zx1,2);lyrRectLeft.size(2,zy2-zy1);
			lyrRectRght.size(2,zy2-zy1);lyrRectBotm.size(zx2-zx1,2);
			showZoomRect();
			getMapXY(ox1,oy1);s+="x="+formatNumber(mapX,2)+",&nbsp;y="+formatNumber(mapY,2)+",&nbsp;";
			getMapXY(ox2,oy2);s+="x="+formatNumber(mapX,2)+",&nbsp;y="+formatNumber(mapY,2);
		}
	}else{
		zooming=false;mapclicked=false;hideZoomRect();
	}
	if(moTimer)clearTimeout(moTimer);
	if(overMap){
		writeStatus('r',s);
		if(crntToolType==4){
			if(crntTool==41){chkMapTips()};
			if((crntTool==999)&&(sCustToolFunc!=''))eval(sCustToolFunc);
		};
	}else{clearStatus()}
}
function getMapXY(xIn,yIn){
	mapX=mapMinX+(mapWidth*(xIn/(maxX-minX)));
	mapY=mapMaxY-(mapHeight*(yIn/(maxY-minY)));
}
function mapDown(e){
	mapclicked=true;
  if(isNC){
		mouseBtn=e.button;shiftKey=(e.modifiers & Event.SHIFT_MASK);
	}else{
		mouseBtn=window.event.button;shiftKey=window.event.shiftKey;
	}
	if(mouseBtn>1){mapclicked=false;return};
	if(crntTool==2 || crntTool==5 || crntTool==26 || crntTool==27 || crntTool==31 || crntTool==131){
		zooming=true;
		x1=mouseX;y1=mouseY;
		lyrRectTop.move(mouseX,mouseY-1);lyrRectTop.size(2,2);
		lyrRectLeft.move(mouseX-1,mouseY);lyrRectLeft.size(2,2);
		lyrRectRght.move(mouseX-1,mouseY);lyrRectRght.size(2,2);
		lyrRectBotm.move(mouseX,mouseY-1);lyrRectBotm.size(2,2);
		showZoomRect();
	}
}
function mUp(e){
	var oX1=findObj('MapMinX'),oX2=findObj('MapMaxX'),oY1=findObj('MapMinY'),oY2=findObj('MapMaxY');
	var dX=lyrMap.getLeft()+lyrMapImg.getLeft(),dY=lyrMap.getTop()+lyrMapImg.getTop();
	if(mapclicked){
		oX1.value=0;oY1.value=0;oX2.value=0;oY2.value=0;
		if(zooming){
			if((x1>x2)&&(x2>0)){z=x2;x2=x1;x1=z};if((y1>y2)&&(y2>0)){z=y2;y2=y1;y1=z};
			if(x1>0){oX1.value=x1-dX};if(y1>0){oY1.value=y1-dY};
			if(x2>0){oX2.value=x2-dX}else{if(x1>0)oX2.value=x1-dX+10};
			if(y2>0){oY2.value=y2-dY}else{if(y1>0)oY2.value=y1-dY+10};
		}else{
			if(measuring){measClick(e)};
			oX1.value=mouseX-dX;oY1.value=mouseY-dY;
		}
		if(crntToolType==2){RefreshMap()};
		if(crntTool==42){doLabelMap()};
		if(crntToolType==3){;
			if((crntTool==999)&&(sCustToolFunc!=''))eval(sCustToolFunc);
		}
	}
	zooming=false;mapclicked=false;hideZoomRect();
}
function mapOut(e){
	overMap=false;
}
function mapOver(e){
	overMap=true;
	if(crntTool==11){Drag.init(objMap,null);objMap.onDragStart=dragStartMap;objMap.onDragEnd=dragEndMap;}
}
function OVmapDown(e){
	OVmapclicked=true;
}
function OVmapUp(e){
  if(OVmapclicked){
		var dX=lyroverview.getLeft()+lyrOVImg.getLeft(),dY=lyroverview.getTop()+lyrOVImg.getTop();
		if((objContent=findObj('overviewContent'))!=null){
			lyrContent=layer("overviewContent");dX=dX+lyrContent.getLeft();dY=dY+lyrContent.getTop()
		};
		setVal('MapMinX',mouseX-dX);setVal('MapMinY',mouseY-dY);setVal('MapMaxX',0);setVal('MapMaxY',0);
		SetCurrTool(14,1)
	}
	OVmapclicked=false;
}
function checkMousePos(){
	oMinX=lyrMap.getLeft()+lyrMapImg.getLeft();oMinY=lyrMap.getTop()+lyrMapImg.getTop();
	if((mouseX<=oMinX)||(mouseY<=oMinY)||(mouseX>=maxX)||(mouseY>=maxY)){return false}else{return true};
}
function hideZoomRect(){
	lyrRectTop.hide();lyrRectLeft.hide();lyrRectRght.hide();lyrRectBotm.hide();
	if(!zooming){lyrRectTop.move(0,0);lyrRectLeft.move(0,0);lyrRectRght.move(0,0);lyrRectBotm.move(0,0)};
}
function showZoomRect(){
	lyrRectTop.show();lyrRectLeft.show();lyrRectRght.show();lyrRectBotm.show();
}
function RefreshMap(){
	if((findObj('Map'))!=null){
		submitted=true;clearStatus();
		for(i=0; i<arrLyrNames.length;i++){if(findObj(arrLyrNames[i])!=null){lyr=layer(arrLyrNames[i]);hideFloatingLayer(lyr,true)}};
		if(usingPopUps){checkPopUpStatus()};
		lyrLoadingText.write("<table><tr><td align='center' class='loading'>Refreshing Map<br>Please Wait...</td></tr></table>");
	};
	positionLoadingLyr();
	setVal('WindowWidth',getWindowWidth());setVal('WindowHeight',getWindowHeight());
	setVal('MouseBtn',mouseBtn);setVal('ShiftKey',shiftKey);
	objForm.submit();
}
function showLayer(lyr){
	if(typeof lyr=='string'){
		if(findObj(lyr)!=null){lyr=layer(lyr);}else{openPopUpLayer(lyr);return}
	}
	if(typeof lyr=='object'){showFloatingLayer(lyr)}
}
function hideLayer(lyr){
	if(typeof lyr=='string'){
		if(findObj(lyr)!=null){lyr=layer(lyr)}else{closePopUpLayer(lyr);return}
	}
	if(typeof lyr=='object'){hideFloatingLayer(lyr)}
}
function openExternalWin(s,w,h,t){
	if(parentValid()){winParent.openExternalWin(s,w,h,t);return};
	if((objWin=findObj("Win"))==null){popUpWindow(s,w,h,'',false,"center");return};
	hideLayer(lyrWin);hideLayer(lyrIWin);
	lyrWin.size(w+2,h+lyrWinTitle.getHeight()+2);lyrWinContent.size(w,h);lyrIWin.size(w,h);
	lyrWinDrag.size(lyrWin.getWidth()-18,lyrWinTitle.getHeight());
	if(findObj('WinBtn')){lyrWinBtn.move(lyrWin.getWidth()-18,1)};
	for(i=0;i<9;i++){t=t.replace("+","&nbsp;")};
	lyrWinTitle.write("<span class='lyrBar' style='width:100%;cursor:hand;'>&nbsp;"+t+"</span>")
	initDrag(lyrWin.id);centerLayer(lyrWin);showLayer(lyrWin);findObj('iWindow').src=s;
}
function openPopUpLayer(lyr){
	for(i=0; i<arrLyrNames.length;i++){
		if(arrLyrNames[i].toLowerCase()==lyr.toLowerCase()){
			newWin=null;
			eval(arrLyrJS[i]);
			if(newWin!=null){arrLyrWins[i]=newWin};
			setVal(lyr+'Visible',1);
		};
	};
}
function closePopUpLayer(lyr){
	for(i=0; i<arrLyrNames.length;i++){
		if(arrLyrNames[i].toLowerCase()==lyr.toLowerCase()){
			if((arrLyrWins[i]!=null)&&(!arrLyrWins[i].closed)){arrLyrWins[i]=null;arrLyrWins[i].close()};
			setVal(lyr+'Visible',0);
		};
	};
}
function checkPopUpStatus(){
	var vis;
	for(i=0; i<arrLyrWins.length;i++){
		vis='0';
		if((arrLyrWins[i]!=null)&&(!arrLyrWins[i].closed)){vis='1';arrLyrWins[i].close()};
		setVal(arrLyrNames[i]+'Visible',vis);
	};
}
function showFloatingLayer(lyr){
	var newX=0,newY=0,j=null,lID=lyr.id;
	setVal(lID+'Visible',1);setChk('vis'+lID,true);
	if(exists(lID+'Left'))newX=parseInt(getVal(lID+'Left'),10);
	if(exists(lID+'Top'))newY=parseInt(getVal(lID+'Top'),10);
	for(i=0; i<arrLyrNames.length;i++){
		if(arrLyrNames[i].toLowerCase()==lyr.id.toLowerCase()){
			j=arrLyrStyle[i]
		};
	}
	lyr.move(newX,newY);checkLayerPosition(lyr,j);bringLayerToFront(lyr);lyr.show();
}
function hideFloatingLayer(lyr,t){
	if(lyr.id=='Win'){layer('iWindow').hide()};
	if(hideFloatingLayer.arguments.length<2){
		setVal(lyr.id+'Visible',0);setChk('vis'+lyr.id,false);
		if(lyr.getLeft()>0)setVal(lyr.id+'Left',lyr.getLeft());
		if(lyr.getTop()>0)setVal(lyr.id+'Top',lyr.getTop());
	}
	sendLayerToBack(lyr);lyr.hide();lyr.move(-1000,-1000);
}
function centerLayer(lyr){
	lyr.move((getWindowWidth()-lyr.getWidth())/2, (getWindowHeight()-lyr.getHeight())/2)
}
function dockLayerLeft(lyr){
	lyrContent=layer(lyr.id+'Content');
	if(isNC6){lyr.size(lyrContent.getWidth()-1,lyrMap.getHeight()-2);lyrContent.size(lyrContent.getWidth(),lyr.getHeight()-3)};
	if(isIE){
		if(lyrContent.getHeight()>lyrMap.getHeight()){
			lyr.size(lyrContent.getWidth()+2,lyrMap.getHeight()+2);lyrContent.size(lyrContent.getWidth(),lyrMap.getHeight());
		}else{
			lyr.size(lyrContent.getWidth()+2,lyrContent.getHeight()+2);
		}
	}
	lyr.move(lyrMap.getLeft(),lyrMap.getTop());
}
function dockLayerRight(lyr){
	lyrContent=layer(lyr.id+'Content');
	if(isNC6){lyr.size(lyrContent.getWidth()-1,lyrMap.getHeight()-2);lyrContent.size(lyrContent.getWidth(),lyr.getHeight()-3)};
	if(isIE){
		if(lyrContent.getHeight()>lyrMap.getHeight()){
			lyr.size(lyrContent.getWidth()+2,lyrMap.getHeight()+2);lyrContent.size(lyrContent.getWidth(),lyrMap.getHeight());
		}else{
			lyr.size(lyrContent.getWidth()+2,lyrContent.getHeight()+2);
		}
	}
	lyr.move(maxX-lyr.getWidth()+1,minY);
}
function bringLayerToFront(lyr){
	lastz=lastz+1;lyr.moveZ(lastz);
}
function sendLayerToBack(lyr){
	lyr.moveZ(-1);
}
function getLayerVis(lyr){
	if(typeof lyr=='string')lyr=layer(lyr);
	if(lyr.exists()){return lyr.isVisible()};
	return false;
}
function swapLayerVis(lyr,s){
	var r;
	if(parentValid()){
		winParent.swapLayerVis(lyr,s);
		if(winParent.getLayerVis(lyr)){r='d'}else{r='n'};
	}else{
		if(typeof lyr=='string')lyr=layer(lyr);
		if(lyr.exists()){
			if(lyr.isVisible()){r='n';hideLayer(lyr)}else{r='d';showLayer(lyr)};
		}
	}
	if((img=findObj(s))!=null){
		MM_nbGroup('down','g_'+s,s,img.src.substring(0,img.src.indexOf('_'))+'_'+r+'.gif');
		if(r=='n')img.MM_dn=0;
	}
}
function checkLayerPosition(lyr,j){
	if(j=='-1'){centerLayer(lyr);return};
	if(j=='1'){dockLayerLeft(lyr);return};
	if(j=='2'){dockLayerRight(lyr);return};
	var x1,x2,y1,y2;var fL=findObj(lyr.id+'Left');var fT=findObj(lyr.id+'Top');
	if((fL==null)||(fT==null)){return};
	if((isNC6)&&(lyr.getHeight()>=lyrMap.getHeight()-2)){
		lyrContent=layer(lyr.id+'Content');lyrTitle=layer(lyr.id+'Title');
		lyr.size(lyrContent.getWidth()-1,lyrMap.getHeight()-2);
		lyrContent.size(lyrContent.getWidth(),lyr.getHeight()-lyrTitle.getHeight()-6);
	};
	x1=parseInt(fL.value,10);x2=getWindowWidth()-lyr.getWidth();
	y1=parseInt(fT.value,10);y2=getWindowHeight()-lyr.getHeight();
	if(x2<1){x2=1};if(x1>x2){fL.value=x2;lyr.moveX(x2)};if(x1<1){fL.value=1;lyr.moveX(1)};
	if(y2<minY){y2=minY};if(y1>y2){fT.value=y2;lyr.moveY(y2)};if(y1<minY+1){fT.value=minY;lyr.moveY(minY)};
}
function initDrag(sLyr){
	var x1=0;var x2=getWindowWidth()-layer(sLyr).getWidth();
	var y1=lyrMap.getTop();var y2=getWindowHeight()-layer(sLyr).getHeight();
	Drag.init(findObj(sLyr+'Drag'),findObj(sLyr),x1,x2,y1,y2);
	findObj(sLyr).onDragStart=dragStart;findObj(sLyr).onDrag=dragDragging;findObj(sLyr).onDragEnd=dragEnd;
}
function dragStart(x,y){
	dragging=true;
	lyr=layer(this.id);lyrDrag=layer(this.id+'Drag');
	lyrDrag.size(lyr.getWidth(),lyr.getHeight());
	bringLayerToFront(lyr);bringLayerToFront(lyrDrag);
}
function dragDragging(x,y){
	if(!dragging){Drag.end()}
}
function dragEnd(curX,curY){
	dragging=false;
	objMap.onmousedown=mapDown;document.onmouseup=mUp;document.onmousemove=getMouseXY;	
	lyrTitle=layer(this.id+'Title');lyrDrag=layer(this.id+'Drag');
	lyrDrag.size(lyrDrag.getWidth(),lyrTitle.getHeight());
	if((lyrBtn=findObj(this.id+'Btn'))!=null){bringLayerToFront(layer(this.id+'Btn'))};
	if((curX==null)||(curY==null)){return true};
	setVal(this.id+'Left',curX);setVal(this.id+'Top',curY);
	checkLayerPosition(lyr);
}
function dragStartMap(curX,curY){
	lyrMapImg.moveZ(lyrMap.getZIndex()+1);
}
function dragDraggingMap(curX,curY){
	var cRight; var cBottom;
	if(curX>0){cRight=getWindowWidth()}else{cRight=lyrMapImg.getWidth()};
	if(curY>0){cBottom=getWindowHeight()}else{cBottom=lyrMapImg.getHeight()};
	lyrMapImg.clip(0,cRight,cBottom,0);
}
function dragEndMap(curX,curY){
	oMinX=lyrMap.getLeft()+lyrMapImg.getLeft();oMinY=lyrMap.getTop()+lyrMapImg.getTop();
	setVal('MapMinX',lyrMapImg.getLeft());setVal('MapMinY',lyrMapImg.getTop());
	RefreshMap();
}
function positionLoadingLyr(){
	lyrLoading.moveZ(lastz+2);centerLayer(lyrLoading);
	lyrLoadingText.move(lyrLoading.getLeft()+5, lyrLoading.getTop()+lyrLoading.getHeight()-40);
	lyrLoadingText.moveZ(lyrLoading.getZIndex()+1);
	lyrLoading.show();lyrLoadingText.show();
}
function positionStatusBar(){
	if(!exists("StatusBar"))return;
	if(!sbVisible)return;
	lyrStatusBar.move(0,getWindowHeight()-(sbHeight-1));
	lyrStatusBar.moveZ(1);
	lyrStatusBarLft.move(lyrStatusBar.getLeft()+6, lyrStatusBar.getTop()+3);
	lyrStatusBarLft.moveZ(lyrStatusBar.getZIndex()+1);
	lyrStatusBarRgt.move(lyrStatusBar.getWidth()-lyrStatusBarRgt.getWidth()-6, lyrStatusBar.getTop()+3);
	lyrStatusBarRgt.moveZ(lyrStatusBar.getZIndex()+1);
	lyrStatusBar.show();lyrStatusBarLft.show();lyrStatusBarRgt.show();
	if(exists("footer")){lyrFooter.move(0,getWindowHeight()-lyrStatusBar.height()-lyrFooter.getHeight())};
	lyrMap.moveZ(2);
	lyrRectTop.moveZ(3);lyrRectLeft.moveZ(3);lyrRectRght.moveZ(3);lyrRectBotm.moveZ(3);
}
function positionToolBar(){
	if(!exists("tools"))return;
	var mapW=lyrMap.getWidth(),mapH=lyrMap.getHeight();
	minX=lyrMap.getLeft();minY=lyrMap.getTop();
	if(toolBarStyle==0){lyrTools.moveZ(3)};
	if(toolBarStyle==1){lyrTools.move(0,minY);lyrTools.size(lyrTools.getWidth(),getWindowHeight()-lyrTools.getTop());minX=lyrTools.getWidth();minY=lyrTools.getTop();mapW=getWindowWidth()-minX;mapH=getWindowHeight()-sbHeight-minY+1};
	if(toolBarStyle==2){lyrTools.move(getWindowWidth()-lyrTools.getWidth(),minY);lyrTools.size(lyrTools.getWidth(),getWindowHeight()-lyrTools.getTop());minX=0;minY=lyrTools.getTop();mapW=getWindowWidth()-lyrTools.getWidth();mapH=getWindowHeight()-sbHeight-minY+1};
	if(toolBarStyle==3){lyrTools.move(0,minY-lyrTools.getHeight());minX=0;minY=lyrTools.getTop()+lyrTools.getHeight();mapW=getWindowWidth()-2;mapH=getWindowHeight()-minY-sbHeight};
	if(toolBarStyle==4){lyrTools.move(0,getWindowHeight()-sbHeight-lyrTools.getHeight());minX=0;mapW=getWindowWidth()-2;mapH=getWindowHeight()-minY-sbHeight-lyrTools.getHeight()};
	if(toolBarStyle==5){lyrTools.move(0,minY)};
	if(toolBarStyle==6){lyrTools.move(getWindowWidth()-lyrTools.getWidth(),minY)};
	if(toolBarStyle==7){lyrTools.move(0,minY)};
	if(toolBarStyle==8){lyrTools.move(0,getWindowHeight()-sbHeight-lyrTools.getHeight())};
	if(toolBarStyle<5){lyrTools.show()};
	lyrMap.move(minX,minY);lyrMap.size(mapW,mapH);
	lyrCanvas.move(minX,minY);lyrCanvas.size(mapW,mapH);
	maxX=minX+mapW;maxY=minY+mapH;
}
function clearStatus(){sStatus='';lyrStatusBarRgt.write('');}
function writeStatus(l,s){
	if(!sbVisible){return};
	if(l=='r'){if(sStatus!=s){sStatus=s;lyrStatusBarRgt.write(sStatus)};
	}else{lyrStatusBarLft.write(s)};
}
function showCanvas(){
	if(!exists("Canvas"))return;
	lyrCanvas.moveZ(lyrMap.getZIndex()+1);lyrCanvas.show();
}
function hideCanvas(){
	if(!exists("Canvas"))return;
	lyrCanvas.hide();sendLayerToBack(lyrCanvas);clearCanvas();
}
function clearCanvas(){
	if(!exists("Canvas"))return;
	lyrCanvas.write("&nbsp; &nbsp;");
}
function writeCanvas(s){
	if(!exists("Canvas"))return;
	lyrCanvas.write(s);
}
function positionTips(b){
	if(!exists("Tips"))return;
	var x=mouseX-1,y=mouseY+1-lyrTips.getHeight(),w=0,h=0;
	if(isNC){w=200,h=15};
	if(b){
		if(y<0){y=y+lyrTips.getHeight()+2;x=x-lyrTips.getWidth()+2};
		if(x+lyrTips.getWidth()>getWindowWidth())x=x-lyrTips.getWidth()+2;
		if(x<0){x=mouseX+1};
	}else{x=lyrMap.getLeft();y=lyrMap.getTop();w=200}
	lyrTips.size(w,h);lyrTips.move(x,y);
}
function showTips(){
	if(!exists("Tips"))return;
	checkLayerPosition(lyrTips);bringLayerToFront(lyrTips);lyrTips.show();
}
function hideTips(){
	if(!exists("Tips"))return;
	clearTip();lyrTips.hide();sendLayerToBack(lyrTips);
}
function clearTip(){
	if(!exists("Tips"))return;
	sTip='';lyrTips.write('');
}
function writeTip(s,b){
	clearTimeout(moTimer);
	if(!overMap)return;
	if(!exists("Tips"))return;
	if(sTip!=s){sTip=s;lyrTips.write(sTip)};
	positionTips(b);showTips();
}
function chkMapTips(){
	var mX=mouseX,mY=mouseY;
	if(submitted)return;
	if(lyrTips.isVisible()){if((mX!=moX)||(mY!=moY)){hideTips()};
		}else{moTimer=window.setTimeout("getMapTip()",500)};
	moX=mX,moY=mY;
}
function getMapTip(){
	var o=null,b=false;
	if(submitted)return;
	if(exists("Preview")){writeTip("MapTip&nbsp;Preview",true);return};
	if(exists("MapLayerActive"))id=getVal("MapLayerActive");
	if(!exists("MapLyrVis_"+id))return;
	for(j=0;j<arrMapScale.length;j++){if(arrMapScale[j]==id)b=true;};if(!b)return;
	var x=moX-minX,y=moY-minY;getMapXY(x,y);
	o=window.frames['ifGSProc'];
	if(o!=null){
		o.location.replace(scriptName+"?opt=maptips&x="+mapX +'&y='+mapY +"&width="+lyrMap.getWidth() +"&mapwidth="+mapWidth +"&id="+id)
	};
}
function doLabelMap(){
	var o=null,aID=getVal("AppID"),sID=getVal("SessID"),hID=getVal("HistID"),pvw='';
	if(exists("Preview")){pvw='&preview=true'};
	openExternalWin(scriptName+'?opt=labelmap&mapx='+mapX+'&mapy='+mapY+'&sessid='+sID+'&histid='+hID+'&appid='+aID+pvw,400,235,'Add+Label+to+Map')
}
function startMeas(){
	resetMeas();measuring=true;showCanvas();writeMeas();
}
function stopMeas(){
	measuring=false;resetMeas();hideTips();hideCanvas();
}
function doMeas(e){
	if(submitted){stopMeas;return};
	if((lastMeasX!=0)||(lastMeasY!=0)){
		currMeas=getMeasDist(e,false);
		writeMeas();
		if(((oVML=findObj("vmlShape"))!=null)&&(vmlMeas!='')){
			var s='';if(ptsMeas>1){s+=", "};
			s+=mouseX+","+mouseY;oVML.path=vmlMeas+s;
		}
	}
}
function resetMeas(){
	measuring=false;vmlMeas='';ptsMeas=0;currMeas=0;ttlMeas=0;
	lastMeasX=0;lastMeasY=0;sMeas='';clearCanvas();
	if((oVML=findObj("vmlShape"))!=null)oVML.path="m 0,0";
}
function measClick(e){
	var x=mouseX-minX,y=mouseY-minY;
	ptsMeas++;ttlMeas+=getMeasDist(e,true);currMeas=0;
	sMeas+='<img src="'+imgPath+'point.gif" style="position:absolute;height:6px;width:6px;top:'+(y-3)+'px;left:'+(x-3)+'px;">';writeCanvas(sMeas);
	writeMeas();
	if((oVML=findObj("vmlShape"))!=null){
		if(ptsMeas==1){vmlMeas="m "+mouseX+","+mouseY+" l "};if(ptsMeas>2){vmlMeas+=","};
		if(ptsMeas>=2){vmlMeas+=mouseX+","+mouseY};oVML.path=vmlMeas;
	}
}
function getMeasDist(e,b){
	var x=mouseX-minX,y=mouseY-minY;
	getMapXY(x,y);x=Math.abs(mapX);y=Math.abs(mapY);
	if((lastMeasX!=0)||(lastMeasY!=0)){
		dist=Math.sqrt(Math.pow(Math.abs(x-lastMeasX),2) + Math.pow(Math.abs(y-lastMeasY),2));
	}else{
    dist=0;
  }
	if(b){lastMeasX=x;lastMeasY=y};
	return dist;
}
function writeMeas(){
	writeTip("<b>Total:</b>&nbsp;"+formatNumber(ttlMeas+currMeas,0)+"&nbsp;&nbsp;&nbsp;<b>Last:</b>&nbsp;"+formatNumber(currMeas,0));
}
function windowResized(){
	if((crntWinWid==getWindowWidth())&&(crntWinHgt=getWindowHeight()))return;
	if(!resizing){wpt=window.setInterval('getWindowParams()', 1000)};
	resizing=true;repositionElements();
}
function repositionElements(){
	if(exists('Map')){
		positionStatusBar();positionToolBar();positionTips();lyrMap.show();
		for(i=0;i<arrLyrNames.length;i++){
			if(exists(arrLyrNames[i])){lyr=layer(arrLyrNames[i]);checkLayerPosition(lyr,arrLyrStyle[i])}
		};
	}
}
function getWindowParams(){
	if(resizing){
		if((resizeCnt>=3)&&(crntWinWid==getWindowWidth())&&(crntWinHgt==getWindowHeight())){
			clearTimeout(wpt);
			SetCurrTool(50,1);
		}else{
			if((crntWinWid==getWindowWidth())&&(crntWinHgt=getWindowHeight())){resizeCnt=resizeCnt+1;}
		}
		crntWinWid=getWindowWidth();crntWinHgt=getWindowHeight();
	}
}
function hoverLayer(lyr){
	clearTimeout(hvr);
	if(lyr!=null){
		lyrHover=lyr;hvr=window.setInterval('hoverLayer()', 2000);
	}else{
		if((lyrHover!=null)&&(lyrHover.isVisible())){
			bringLayerToFront(lyrHover);
		}
		lyrHover=null;
	}
}
function ToggleMapLayerVisibility(idx){
	if((img=findObj('VisLyrChk_' + idx))!=null){
		s=img.src.toLowerCase();
		if(s.indexOf("clear.gif")>0){;
			img.src=imgPath+'btn_check.gif';
		}else{
			img.src=imgPath+'gl_pixel_clear.gif';
		}
	}
	if((vis=findObj('MapLyrVis_' + idx))!=null){;
		if(vis.value!=1){vis.value=1}else{vis.value=0}
	}
	if(parentValid()){winParent.ToggleMapLayerVisibility(idx)};
}
function ToggleMapLayerActive(idx,id){
	for(j=1;j<=layerCnt;j++){
		if((img=findObj('ActLyrChk' + j))!=null){;
			if(j==idx){img.src=imgPath+'btn_check.gif';
			}else{img.src=imgPath+'gl_pixel_clear.gif';}
		}
	}
	if((objMapLayerActive=findObj('MapLayerActive'))!=null){objMapLayerActive.value=id;};
	if(parentValid()){winParent.ToggleMapLayerActive(idx,id)};
}
function SetCurrTool(i,t){
	var prevTool,objCurrTool;
	if((objMapFunction=findObj('MapFunction'))!=null){
		objMapFunction.value=i;
		switch(t){
			case 1:
				RefreshMap();break;
			case 2:
				if(crntTool==11){
					Drag.end();objMap.onmousedown=mapDown;document.onmouseup=mUp;document.onmousemove=getMouseXY;
				}
				crntTool=i;crntToolType=t;prevTool=getVal('CurrTool');setVal('CurrTool',i);
				setMapCursor();break;
			case 3:
				crntTool=i;crntToolType=t;setMapCursor();break;
			case 4:
				crntTool=i;crntToolType=t;prevTool=getVal('CurrTool');setVal('CurrTool',i);
				setMapCursor();break;
		}
	}
	if(crntTool==29){startMeas()}else{stopMeas()};
	if(parentValid()){winParent.SetCurrTool(i,t);if(t==1){winParent.focus()}};
}
function setMapCursor(){
	var sCursor="default";sTool="None Selected";
	switch(crntTool){
		case 1:sCursor="hand";sTool="Zoom In By Point";break;
		case 2:sCursor="crosshair";sTool="Zoom In By Envelope";break;
		case 4:sCursor="hand";sTool="Zoom Out By Point";break;
		case 5:sCursor="crosshair";sTool="Zoom Out By Envelope";break;
		case 10:sCursor="hand";sTool="Pan By Point";break;
		case 11:sCursor="move";sTool="Pan By Drag";break;
		case 20:sCursor="help";sTool="Identify";break;
		case 21:sCursor="help";sTool="Identify All";break;
		case 22:sCursor="hand";sTool="Create User Shape";break;
		case 30:sCursor="hand";sTool="Select By Point";break;
		case 31:sCursor="crosshair";sTool="Select By Envelope";break;
		case 26:sCursor="crosshair";sTool="Identify By Envelope";break;
		case 27:sCursor="crosshair";sTool="Identify All By Envelope";break;
		case 29:sCursor="crosshair";sTool="Measure";break;
		case 41:sCursor="hand";sTool="Map Tips";break;
		case 42:sCursor="hand";sTool="Add Map Label";break;
		case 999:
			sTool="Custom Tool";
			if(sCustToolDesc!='')sTool=sCustToolDesc;
			if(sCustToolCursor!='')sCursor=sCustToolCursor;
			break;
	};
	objMap.style.cursor=sCursor;findObj('Canvas').style.cursor=sCursor;
	if((sTool!='')&&(sbHeight>0)){
		writeStatus('l',"Current&nbsp;Tool:&nbsp;" + sTool);
	}
}
function zoomToScale(zScale){
	setVal('MapScale',zScale);SetCurrTool(101,1);
}
function ZoomToEnv(ZminX,ZminY,ZmaxX,ZmaxY,isMapUnits){
	var t;
	if(isMapUnits){setVal('EnvIsMapUnits',-1);t=ZminY;ZminY=ZmaxY;ZmaxY=t};
	setVal('MapMinX',ZminX);setVal('MapMinY',ZminY);
	setVal('MapMaxX',ZmaxX);setVal('MapMaxY',ZmaxY);
	SetCurrTool(2,1);
}
function closePolygon(){
	setVal('BufferSource',5);setVal('BufferTarget',-1);
	setVal('BufferDistance',0);setVal('BufferUnits',0);
	SetCurrTool(25,1);
}
function ProcessQuery(qName,qVal){
	setVal('QueryName',qName);setVal('QueryValue',qVal);SetCurrTool(40,1);
	if(parentValid()){winParent.ProcessQuery(qName,qVal);winParent.focus()};
}
function pageLoaded(){
	if(findObj("footer")!=null){sbHeight=lyrFooter.getHeight()+lyrStatusBar.getHeight()}else{sbHeight=lyrStatusBar.getHeight()};
	if(!sbVisible){sbHeight=0};
	repositionElements();SetCurrTool(crntTool,crntToolType);
	MM_reloadPage(true);lyrLoadingText.hide();lyrLoading.hide();
	if(crntTool==11){Drag.init(objMap,null);objMap.onDragStart=dragStartMap;objMap.onDragEnd=dragEndMap;}
	objCanvas=findObj("Canvas");objCanvas.onmouseover=mapOver;objCanvas.onmouseout=mapOut;objCanvas.onmousedown=mapDown;
	if(isIE)fnLoadPngs();
	clearTimeout(wpt);resizing=false;crntWinWid=getWindowWidth();crntWinHgt=getWindowHeight();
}
function ignoreErr(){return true;}
function popUpWindow(target,w,h,windowName,scroll,pos){
	if(popUpWindow.arguments.length>1){
		if(w<=0){w=550};if(h<=0){h=400};
	}else{
		w=550;h=400;
	};
	if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
	}else{if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}}
	if(scroll==null){scroll='yes'};
	if(windowName==''){windowName='mpt_popup'};
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
	newWin = window.open(target, windowName, settings);
	if(!newWin.opener){newWin.opener=self};
	newWin.focus();
}
function setVal(s,v){o=findObj(s);if(o!=null)o.value=v}
function getVal(s){o=findObj(s);if(o!=null){return o.value}else{return ''}}
function setChk(s,v){o=findObj(s);if(o!=null)o.checked=v}
function getChk(s,v){o=findObj(s);if(o!=null){return o.checked}else{return false}}
function exists(s){o=findObj(s);if(o!=null){return true}else{return false}}
function findObj(s,n){return MM_findObj(s,n)}
function parentValid(){
  if(winParent==null)winParent=window.parent;
  if((winParent==null)||(winParent.closed)||(winParent==window))return false;
  if(winParent.mpt!='mpt'){return false}else{return true};
}
function openParentHref(s){
	if((parent.opener!=null)&&(!parent.opener.closed)){parent.opener.location.href=s;parent.opener.focus();
	}else{window.open(s)}
}
function refreshWin(u){
	var w=getWindowWidth(),h=getWindowHeight(),s="?";
	if(u.indexOf("?")>=0){s="&"};
	location.replace(u+s+"windowwidth="+w+"&windowheight="+h);
}
function replaceLocation(s){location.replace(s)}
function closeChildWindow(){
	window.close();
	if(parentValid()){winParent.focus();eval("winParent.hideLayer('"+winName+"')")};
}
function formatNumber(v,decplaces){
	var str=""+Math.round(eval(v)*Math.pow(10,decplaces));
	while(str.length<=decplaces){str="0"+str;}
	var decpoint=str.length-decplaces;
	var s=str.substring(0,decpoint);
	if(decplaces>0)s+="."+str.substring(decpoint,str.length);
	return s;
}
function dollarize(v){return "$"+formatNumber(v,2)}
function fnLoadPngs() {
	for (var i=document.images.length-1,img=null;(img = document.images[i]);i--){
		if(img.src.match(/\.png$/i)!=null){
			var src=img.src;
			img.style.width=img.width+"px";img.style.height=img.height+"px";
			img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='scale')";img.src = imgPath+"gl_pixel_clear.gif";
		}
	}
}
function disableSelect(e){return false}
function enableSelect(){return true}