      // Event Handler
	  function mouseOver(e) {
	    if (e) {
		  if(e.target.id!=parent.jsp.toolSelected)
		  	e.target.src = "images/maptools/" + e.target.id + "g.gif";		  
		} else if (window.event) {
		  if(window.event.srcElement.id!=parent.jsp.toolSelected)
		  	window.event.srcElement.src = "images/maptools/" + window.event.srcElement.id + "g.gif";
	    }
	  }

	  // Event Handler
	  function mouseClick(e) {
	    if (e) {
		  alert("panning map to in proprietary browser!");
		} else if (window.event) {
		 // alert("panning map to " + window.event.srcElement.id + " in standards based browser");
	    }
	  }

	  // Event Handler
	  function mouseOut(e) {
	    if (e) {
		  if(e.target.id!=parent.jsp.toolSelected)
		  	e.target.src = "images/maptools/" + e.target.id + ".gif";
		} else if (window.event) {
		  if(window.event.srcElement.id!=parent.jsp.toolSelected)
		  	window.event.srcElement.src = "images/maptools/" + window.event.srcElement.id + ".gif";
	    }
	  }
	  
	  function attachEvents() {
		  var tools=['nw','n','ne','w','e','sw','s','se','measure','addmypoint','fullextent','zoomin','zoomout','clearselections','previousmap',
		  			'pan','identify','legend','mail','print','help','overviewmap','centermap','zin','zout','mapsize','selections','imagery','dragpan'];
		  for(i=0;i<tools.length;i++)
		  {
		  	if(getElement(tools[i]))
		  	{
		  		try{
		  		getElement(tools[i]).onmouseover=mouseOver;
		  		getElement(tools[i]).onmouseout=mouseOut;
		  		}catch(ex){}
		  	}
		  }
	  }

      function setAlpha(panelid) {
         window.status = "Setting alpha...";
         panelid.filters.item('DXImageTransform.Microsoft.Alpha').opacity=50;
      }
      
      function clearAlpha(panelid) {
         window.status = "Clearing alpha...";
         panelid.filters.item('DXImageTransform.Microsoft.Alpha').opacity=100;
      }
	  
	  function doHide(panelid) {
	    panelid.style.display = "none";
	  }
	  
	function hidePanels()
	{	  
	      var panels=['errorMessagePanel','addressSearchPanel','customSearchPanel','intersectionSearchPanel','facilitySearchPanel',
	      	'mailMapPanel','printMapPanel','profPrintPanel','generateUrlPanel','searchResultsPanel','advancedSearchPanel',
	      	'mymapsPanel','whatsnearbySearchPanel','quickSearchPanel2','displayManagerPanel','preferencesPanel','bufferPanel','simpleReportsPanel','modifyReportTextPanel'];
	     for(i=0;i<panels.length;i++)
	     {
	     	var pan=getElement(panels[i]);
	     	try
	     	{
	     		if(pan)
	     			pan.style.display='none';
	     	}catch(ex){}	
	     }
	}
	 function showPreferencesPanel() {
		hidePanels();
      	getElement('preferencesPanel').style.display = "";
    }
	   function showDisplayManagerPanel() {
		hidePanels();
      	getElement('displayManagerPanel').style.display = "";
    }
      function showAddressPanel() {
		hidePanels();
      	getElement('addressSearchPanel').style.display = "";
    }
	function showCustomSearchPanel() {
		hidePanels();
      	getElement('customSearchPanel').style.display = "";
    }
    function showIntersectionPanel() {
      hidePanels();   	
      getElement('intersectionSearchPanel').style.display = "";
    }
    
   function showWhatsNearbyPanel() {
	hidePanels();
      getElement('whatsnearbySearchPanel').style.display= "";
    }
    
  function showFacilityPanel() {
	hidePanels();
      getElement('facilitySearchPanel').style.display="";
    }   
    
    function showMailMapPanel() { 
	hidePanels();
     getElement('mailMapPanel').style.display="";
    }   
    function showPrintMapPanel() {   
	hidePanels();
      getElement('printMapPanel').style.display=""; 
    }  
    
    function showBufferPanel() {   
	hidePanels();
      getElement('bufferPanel').style.display=""; 
    }   
    function showSimpleReportsPanel() {   
	hidePanels();
      getElement('simpleReportsPanel').style.display=""; 
      hideLoading();
    }   
    function showModifyReportTextPanel() {   
	hidePanels();
      getElement('modifyReportTextPanel').style.display=""; 
    }                               
     function showInstaMapPanel() {   
	 hidePanels();
      getElement('profPrintPanel').style.display="";
    } 

    function showGenerateUrlPanel() {   
	hidePanels();
      getElement('generateUrlPanel').style.display="";
      document.forms['frmGenerateURL'].elements['linktext'].focus();
      document.forms['frmGenerateURL'].elements['linktext'].select();
    }                                   

   function showResultsPanel() {   
	hidePanels();
      getElement('searchResultsPanel').style.display="";
     }                      

   function showAdvancedSearchPanel() {   
	hidePanels();
      getElement('advancedSearchPanel').style.display="";
     }  
  function showLegendPanel() {   
      getElement('legendPanel').style.display="";
     } 
     
  function showMyMapsPanel() {   
	hidePanels();
      getElement('mymapsPanel').style.display="";
     }   
  function showQuickSearchPanel() {   
	hidePanels();
      getElement('quickSearchPanel2').style.display=""; 
     }                       

//start facility search
function frmFacilitySubmit(cmd)
{
 	var frm=document.forms["frmFacility"];
 	frm.elements["command"].value=cmd;
	frm.submit();
}
//end facility search
//start what's nearby scripts    

//end what's nearby scripts     

function selectTool(id)
{
	if(document.getElementById(id))
		document.getElementById(id).src="images/maptools/" + id + "g.gif";
}
function deSelectTool(id)
{
	try{
	if(document.getElementById(id))
		document.getElementById(id).src="images/maptools/" + id + ".gif";}catch(E){}
}    
// Drag a panel - start

var dragObj=null;
var dragStartX=-1;
var dragStartY=-1;
var dragObjLeft=-1;
var dragObjTop=-1;
var dragEventObj=null;
var dragMode=false;
function dragNS_MouseUp(e)
{
	try{
		dragStartX=-1;
		dragStartY=-1;
		dragObj=null;
	     window.onmousemove=null;
	     window.onmouseup=null;
	     dragMode=false;
	}catch(ex)
	{}
}
function drag_Netscape(obj)
{
	try{
		dragObj=obj;
	     window.onmousemove=dragNS_MouseMove;
	     window.onmouseup=dragNS_MouseUp;	
	     dragMode=true;
	}
	catch(ex){}
}
function dragNS_MouseMove(e)
{
	if(dragMode)
	{
		try{
			if(dragStartX==-1 && dragStartY==-1)
			{
				dragStartX=e.pageX;
				dragStartY=e.pageY;
		        	window.lastX=e.clientX;
		        	window.lastY=e.clientY;		
			}
			else
			{
				var newX1 = parseInt(dragObj.style.left)+ e.clientX-window.lastX;
				var newY1 = parseInt(dragObj.style.top) + e.clientY-window.lastY;
				if(e.pageX>50)
				{
					dragObj.style.left=newX1+"px";
					window.lastX=e.clientX;
				}
				if(e.pageY>10)
				{
					dragObj.style.top=newY1+"px";			
					window.lastY=e.clientY;
				}
				
			}
		}catch(ex){}
	}
}

function dragThis(draggableObj)
{
	try{
	    if(navigator.appName=='Netscape' && navigator.userAgent.indexOf('Netscape/7.1')>0)	
	    {
	    		drag_Netscape(draggableObj);
	    		return;
	    }
	var curObj;
	dragObj=draggableObj;
	dragObj.zorder=-1;
	window.status='Dragging:' + dragObj.id ;
	curObj=window.event.srcElement;
	dragObjLeft=getSize(dragObj.style.left);
	dragObjTop=getSize(dragObj.style.top);

	dragStartX=getSize(window.event.clientX );
	dragStartY=getSize(window.event.clientY );

	dragEventObj=curObj;
	document.onmousemove=dragMouseMove;
	document.onmouseup=dragMouseUp;
	dragEventObj.onmouseup=dragMouseUp;
	window.event.cancelBubble = true;	
	document.all.item(dragObj.id+'body').style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=50)';
	}catch(ex){}
}

function dragMouseMove(e)
{
	if(dragObj!=null)
	{
		//window.status = getSize(dragObj.style.left) +','+ getSize(dragObj.style.top) ;
		tempX=dragObjLeft-(dragStartX-window.event.clientX );
		tempY=dragObjTop-(dragStartY-window.event.clientY );
		if(window.event.clientX>50)
			dragObj.style.left=tempX+"px";
		if(window.event.clientY>10)
			dragObj.style.top=tempY+"px";
	}
	window.event.cancelBubble = true;
}

function dragMouseUp()
{
	document.onmousemove='';
	document.onmouseup='';
	try{document.all.item(dragObj.id+'body').style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=100)";}catch(ex){}
	dragObj=null;
	dragEventObj=null;
	window.event.cancelBubble = true;	
}


function getSize(sizeWithPx)
{
	var sizeStr =new String(sizeWithPx);
	if(sizeStr.substring(sizeStr.length-2,sizeStr.length)=="px")
		res=sizeStr.substring(0,sizeStr.length-2);
	else
		res=sizeStr;
	//alert(res);
	return res;
}
// Drag a panel - end

//for MAPCONTENTS

//end MAPCONTENTS
//common
function showLoading()
{
	getElement('loading').style.display='';	
}
//common
function hideLoading()
{
	getElement('loading').style.display='none';	
}
  function frmSubmit(name)
  {
  	var frm=document.forms[name];
  	frm.submit();
  }
// start TOC

// end TOC
 
//start preferences panel
 function toggleHeader()
{
	
	if(getElement('chkQuickSearch').checked)
	{
		//quickSearchPanel.style.display='none';
		parent.jsp.showQuickSearch=false;		
	}
	else
	{
		//quickSearchPanel.style.display='';
		parent.jsp.showQuickSearch=true;	
	}
	hideQuickSearch();
}
//end preferences panel
// start Pan Map	
var mapObj;
var panOn=false;
var mapLeft, mapTop, mapPanStartX, mapPanStartY;
var mapText,mapTextCnt;
var orgMapLeft, orgMapTop, orgMapWidth, orgMapHeight;

function panMap()
{
	try
	{
		panOn=true;
		mapObj=window.event.srcElement;
		if(mapObj.style.position != 'absolute')
			alert('style.position must be absolute to enable PAN');
		mapLeft=getSize(mapObj.offsetLeft);
		mapTop=getSize(mapObj.style.clientTop);
		orgMapLeft=mapLeft;
		orgMapTop=mapTop;
		orgMapWidth=getSize(mapObj.style.width);
		orgMapHeight=getSize(mapObj.style.height);
		mapPanStartX=Number(mapLeft)+Number(getSize(window.event.clientX));
		mapPanStartY=Number(mapTop)+Number(getSize(window.event.clientY));
		document.onmousemove=panMouseMove;
		document.onmouseup=panMouseUp;
		//mapObj.onmouseup=panMouseUp;
		window.event.cancelBubble = true;	
		try{document.all.item(mapObj.id+'body').style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=50)';}catch(ex){}
	}
	catch(ex)
	{}
}


function panMouseMove()
{
	try
	{
		if(mapObj!=null && panOn)
		{
			tempX=mapLeft-(mapPanStartX-window.event.clientX);
			tempY=mapTop-(mapPanStartY-window.event.clientY);
	
			panClipMap();
			mapObj.style.left=(Number(mapLeft)+Number(tempX))+"px";
			mapObj.style.top=(Number(mapTop)+Number(tempY))+"px";
			//window.status=mapObj.style.clientLeft + ',' + mapObj.style.clientTop;
		}
	}
	catch(ex)
	{}
	window.event.cancelBubble = true;
}

function panClipMap() {
	 var clipleft, cliptop, clipright,clipbottom;
	 if(tempX < 0)
	 	{ clipleft= -tempX; clipright='auto'; }
	 else
	 	{ clipright=mapObj.width - tempX; clipleft='auto'; }

	 if(tempY < 0)
	 	{ cliptop= -tempY; clipbottom='auto'; }
	 else
	 	{ clipbottom=mapObj.height-tempY; cliptop='auto'; }

		mapObj.style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
		//window.status='tempy:' + tempY +' tempX:' + tempX + mapObj.style.clip;
	return true;
}

function panMouseUp()
{
	try
	{
		panOn=false;
		document.onmousemove='';
		document.onmouseup='';
		document.onmouseout='';
		//mapObj.onmouseup='';
		
		tempX=mapLeft-(mapPanStartX-window.event.clientX);
		tempY=mapTop-(mapPanStartY-window.event.clientY);	
	
		var newCenterX=Number(getSize(mapObj.style.width))/2 - tempX;
		var newCenterY=Number(getSize(mapObj.style.height))/2 - tempY;
	
		try{document.all.item(mapObj.id+'body').style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=100)";}catch(ex){}
	
		isSubmit=false;
		var frm=document.forms['frmclick'];
		frm.elements['themap.x'].value=newCenterX;
		frm.elements['themap.y'].value=newCenterY;	
		frm.toolselected.value='centermap';
		frm.submit();
	}
	catch(ex)
	{}
	window.event.cancelBubble = true;
}
function dragPanEnd()
{
	if(mapObj!=null)
	{
		mapObj=null;
	}
}

function setMapRight()
{
	if(mapObj!=null)
	{	
		var themap=getElement('themap');
		themap.style.left='auto';
		themap.style.top='auto';
		themap.style.clip = 'rect(auto)';	
		themap.style.height=parent.jsp.mapheight;
		themap.onload='';	
		mapObj=null;
	}
}
//end pan map

function previousMapButtonClick()
{
	toolClicked('previousmap');	
}

//common
function toolClicked(tool)
{
	try{
		var shapeLinkId=tool;
		var n='';
		var shapeLinkName='';
		var selectableTool=false;
		if(tool.indexOf('zoomstep')==0)
		{
			n=tool.substring(8);
			tool='zoomstep';
		}
		else if(tool.indexOf('shapelink')==0)
		{
			if(tool.indexOf('#T#')>-1)
				parent.jsp.externalShapeLink=true;
			else
				parent.jsp.externalShapeLink=false;
			
			shapeLinkName=tool.substring(12);
			tool='shapelink';
		}
		var tools=["zoomin","zoomout","identify","centermap","measure","addmypoint","selections","dragpan","shapelink","redlining"];
		for(i=0;i<tools.length;i++)
			if(tools[i]==tool)
				selectableTool=true;
		var href=parent.dispatcher + '?APPID=' + parent.appid + '&';
		if(selectableTool)
		{
			deSelectTools();
			if(tool=='shapelink')
			{
				parent.jsp.shapeLinkName=shapeLinkName;
				document.images[shapeLinkId].src="images/maptools/shapelinkg.gif";
			}
			else
				selectTool(tool);
			parent.jsp.toolSelected=tool;
			document.forms['frmclick'].elements['toolselected'].value=tool;
			document.forms['frmMain'].elements['toolselected'].value=tool;
		}
		else
		{
			showLoading();
			href+='REFRESHONLYMAP=true&REQUESTTYPE=mapviewer&' + tool + '.x=true';	
			if(n!='')
				href+='&ZOOMSTEP=' + n;
			parent.results.location.href=href;
		}
	}catch(ex){}
}
function deSelectTools()
{
	try
	{
		var tools=["zoomin","dragpan","zoomout","identify","centermap","measure","addmypoint","selections","shapelink"];
		for(i=0;i<tools.length;i++)
		{
			if(tools[i]!='shapelink')
				deSelectTool(tools[i]);
			else
			{
				var images=document.images;
				for(i=0;i<images.length;i++)
					if(images[i].id.indexOf('shapelink')==0)
						images[i].src="images/maptools/shapelink.gif";
			}
		}
	}
	catch(ex)
	{
	}
}
function changeCursor(elm)
{
	if(elm.src.indexOf('g.gif')==-1)
		elm.style.cursor='hand';
}
function changeSelectableTool()
{
	if(parent.jsp.toolSelected=='measure' || parent.jsp.toolSelected=='addmypoint' || parent.jsp.toolSelected=='selections')
		parent.jsp.toolSelected='zoomin';
	selectTool(parent.jsp.toolSelected);
}
//end common
//start measure
function toggleTool(tool,value)
{
	try
	{
		var elementBody=getElement(tool + 'Body');
		if(value)
		{
			if(elementBody.style.display!='')
			{
				togglePanels(elementBody);
				submitTool(tool);
			}
		}
	else
		{
			getElement('searchBarPanel').style.display='';
			elementBody.style.display='none';			
		}
		
	}catch(ex){}		
}
function submitTool(tool)
{
	try
	{
		var elementBody=getElement(tool + 'Body');	
		if(elementBody.style.display=='')
		{
			getElement(tool + 'Div').innerHTML='Loading...';
			var href=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=' + tool + '&' + tool + '.x=true';
			parent.results.location.href=href;
		}
		else
			parent.jsp.toolSelected='zoomin';	
	}
	catch(ex){}	
}
function setMeasureUnitsDisplay(flag)
{
	if(flag)
	{
		try
		{
			getElement('tMeasureUnit').style.display='';
		}
		catch(ex)
		{
		}
		
		try
		{
			getElement('measureunit').value=getElement('linemeasureunit').value;
		}
		catch(ex)
		{
		}
	}
	else
		getElement('tMeasureUnit').style.display='none';
}
function setLineMeasureUnitsDisplay(flag)
{
	if(flag)
	{
		getElement('tLineMeasureUnit').style.display='';
		if(getElement('measureunit').value=='hectare')
		{
			try
			{
				getElement('linemeasureunit').value='meter';
			}
			catch(ex)
			{
			}
			try
			{
				getElement('measureunit').value='meter';
			}
			catch(ex)
			{
			}
		}
		else
		{
			try
			{
				getElement('linemeasureunit').value=getElement('measureunit').value;			
			}
			catch(ex)
			{
			}
		}
	}
	else
		getElement('tLineMeasureUnit').style.display='none';
}

//end measure
//start selections
function toggleSelectionsTool(maptabid)
{
	try
	{
		if(!hasSelectableLayer(maptabid))
			document.getElementById('tselections').style.display='none';
		else if(parent.maptabtools.length<=1)
		{
			var tools=parent.maptabtools[0];
			for(i=0;i<tools.length;i++)
				if(tools[i]=='selections')
					document.getElementById('tselections').style.display='';
		}
	}
	catch(ex)
	{
	}	
}
function hasSelectableLayer(maptabid)
{
	try
	{
		var idx=-1;
		for(i=0;i<parent.maptabids.length;i++)
		{
			if(parent.maptabids[i]==maptabid)
			{
				idx=i;
				break;
			}
		}
		if(idx==-1)return false;
		return parent.hasSelectableLayers[idx];
	}
	catch(ex)
	{
	}	
	return false;
}
//end selections
//start add my point
//end add my point
//common
function togglePanels(thePanel)
{
	var panels=['searchBarPanel','measureBody','addMyPointBody','selectionsBody','redliningBody'];
	for(i=0;i<panels.length;i++)
	{
		try{
		if(document.getElementById(panels[i]))
		{
			var panel=document.getElementById(panels[i]);
			if(panel!=thePanel)
				panel.style.display='none';
		}
		}catch(ex){alert('trouble..');}
	}
	thePanel.style.display='';
}
function doToggleSelectionsPanel()
{
	try
	{
		var selectionsClose=getElement('selectionsClose');
		var selectionsPanel=getElement('selectionsPanel');
		doToggleCollapse(selectionsPanel);
		if(selectionsPanel.style.display=='')
			selectionsClose.style.display='none';
		else
			selectionsClose.style.display='';
		var href=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=mapviewer&LISTCOMMAND=toggle';
		if(selectionsPanel.style.display=='none')
		{
			href+='&toggle=collapse';
			parent.jsp.selectionsExpanded=false;
		}
		else
		{
			parent.jsp.selectionsExpanded=true;
			href+='&toggle=expand&REFRESHONLYMAP=true';
		}
		parent.results.location.href=href;			
	}
	catch(ex)
	{
	}
}
//
//for MAPCONTENTS
function getData()
{
	//try{
		if(getElement('addRemoveDataPanel').style.display=='')
		{
			try
			{
				if(getElement('searchPanel').style.display=='')
					doToggleCollapse(getElement('searchPanel'));
				if(getElement('mapToolsPanel').style.display=='')
					doToggleCollapse(getElement('mapToolsPanel'));
				if(getElement('advancedToolsPanel').style.display=='')
					doToggleCollapse(getElement('advancedToolsPanel'));
				if(getElement('customPanel').style.display=='')
					doToggleCollapse(getElement('customPanel'));
				if(getElement('customSearchTool').style.display=='')
					doToggleCollapse(getElement('customSearchTool'));
			}
			catch(ex){}

			getElement('mapContentsDiv').style.display="";
			getElement('mapContentsDiv').innerHTML="<table><tr><td class='clsPartTools'>Loading...</td></tr></table>";
			document.forms['frmTOC'].submit();
		}
		else
		{
			var href=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=tableofcontents&cancel.x=true';
			parent.results.location.href=href;	
		}	
	//}catch(ex){}
}
function closeDisplayManager()
{
	var dPanel=getElement('displayManagerPanel');
	if(dPanel.style.display=='')
	{
		var href=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=tableofcontents&cancel.x=true';
		parent.results.location.href=href;	
	}
	dPanel.style.display='none';
}
//end MAPCONTENTS

//for thematic mapping

//end thematic mapping

//for SavedList (from selections panel & manage saved list)


//*********************************************************
//Moved from mapviewer_incl
function submitList(cmd)
{
	var options=document.forms['frmSelection'].elements['selected'].options;
	if(cmd!='savedlistR' && options.length==0)
	{
		alert("No selections available");
		return;
	}
	if(cmd.indexOf('savedlist')==0)
	{
		var urlStr=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=SMARTCLIENT&COMMAND=SAVEDLIST';
		if(cmd=='savedlistS')
			urlStr+='&FOR=SAVE';
		else
			urlStr+='&FOR=RETRIEVE';
		parent.results.location.href=urlStr;
	}
	else if(cmd=='notificationhistory')
	{
		var urlStr=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=SMARTCLIENT&COMMAND=NOTIFICATIONHISTORY';
		var newWindow=window.open(urlStr,'NotificationHistory','alwaysraised=1,resizable=1,dependent=1,titlebar=1,menubar=0,toolbar=0,scrollbars=1,width=550,height=350,left=20,top=20');
		newWindow.focus();	
	}
	else if(cmd=='applybuffer')
	{
		var frm=document.forms['frmBuffer'];
		showLoading();
		frm.submit();
	}
	else
	{
		var selected=false;
		for(i=0;i<options.length;i++)
			if(options[i].selected==true)
			{
				selected=true;
				break;
			}
			
		if(cmd=='refresh' || selected)
		{
			var frm=document.forms['frmSelection'];
			frm.elements['LISTCOMMAND'].value=cmd;
			if(cmd!='details' && cmd!='reports' & cmd!='documents' & cmd!='exportascsv')
				showLoading();
			frm.submit();
		}
		else
			alert("please select from the list box and try again");	
	}
}
//end SavedList

//for Selections Panel

//end Selections Panel
//for mconnect_advanced_search
function submitAdvancedSearch()
{
	try
	{
		var oldValue='';
		var temp="";
		var options=document.forms['frmSelection'].elements['selected'].options;
		var cnt=0;	
		if(options.length==0)
		{
			alert("No selections available");
			return;
		}
		var subFrm=document.forms['mconn'];
		var txtRoll=subFrm.elements['txtRoll'];
		oldValue=txtRoll.value;
		//var date=new Date();
		//var startTime=date.getTime();
		for(i=0;i<options.length;i++)
			if(options[i].selected==true)	
			{
				var str=options[i].value;
				gisid=str.substring(str.lastIndexOf('#')+1);
				temp+="'" + gisid + "',";
			}
		//date=new Date();
		//var endTime=date.getTime();
		//alert(startTime + ',' + endTime);
		//alert(endTime-startTime);
		//alert(subFrm.target);
		if(subFrm.target=='self')
			subFrm.target='';
		else if(subFrm.target=='new')
			subFrm.target='_NEW';
		else if(subFrm.target=='parent')
			subFrm.target='_PARENT';
		txtRoll.value+=temp.substr(0,temp.length-1)+')';
		subFrm.submit();
		txtRoll.value=oldValue;
	}
	catch(ex){}
}
//end for mconnect_advanced_search
//Selections Panel

//end Selections Panel
//common
function doScale()
{
	var frmScale=document.forms['frmScale'];
	var form=document.forms['frmMain'];
	if(navigator.appVersion.indexOf("MSIE 5.5")>0 || navigator.appVersion.indexOf("MSIE 6.0")>0 )
	{
		var urlString=frmScale.action + '?APPID=' + frmScale.all.APPID.value + '&REQUESTTYPE=mapviewer&target=MAP&goscale.x=true';
		urlString+='&scale=' + frmScale.all.scale.value;
		form.all.themap.src=urlString;
	}
	else
		frmScale.submit();
}
//end common

//start common

//*********************************************************
//CODE below for dynamic refresh of maptabs,viewmapof,tools etc.
//************************************************************
var mapTabsOn=true;
var viewMapOn=true;
function changeMapTabTool(maptabid)
{
	var maptools=parent.maptools;
	var tools;
	var idx=getMapTabIndex(maptabid);
	if(parent.maptabtools.length>1) //maptab level customization
	{
		if(idx==-1)
			tools=parent.maptabtools[0];
		else
			tools=parent.maptabtools[idx+1];
	}
	else
		tools=parent.maptabtools[0];
	//document.getElementById('tmeasure').style.display='none';
	/*
	toggleTool('measure',false);
	toggleTool('addMyPoint',false);
	toggleTool('selections',false);
	toggleTool('redlining',false);*/
	try
	{
		getElement('printMapPanel').style.display='none';
	}catch(ex){}
	try
	{
		getElement('mailMapPanel').style.display='none';
	}catch(ex){}
	
	for(i=0;i<maptools.length;i++)
	{
		try
		{
			var isThere=false;
			var tool=maptools[i];
		
			for(j=0;j<tools.length;j++)
				if(tool==tools[j])
				{
					if(maptools[i].indexOf('measure')==0)
						tool='measure';
					document.getElementById('t' + tool).style.display='';
					//eval("parent.onpoint." + 't' + tool).style.display=''; 
					isThere=true;
				}
			if(!isThere)
			{
				if(maptools[i].indexOf('measure')==0)
					tool='measure';				
				document.getElementById('t' + tool).style.display='none';
			}
				//eval("parent.onpoint." + 't' + tool).style.display='none';
		}
		catch(Ex)
		{};
	}
}
function getMapTabIndex(maptabid)
{
	try
	{
		var maptabids=parent.configuredMapTabIds;
		for(i=0;i<maptabids.length;i++)
			if(maptabids[i]==maptabid)
				return i;	
		return -1;
	}
	catch(Ex)
	{}
}
function getViewMapIndex(maptab)
{
	try
	{
		var maptabs=parent.maptabids;
		for(i=0;i<maptabs.length;i++)
			if(maptabs[i]==maptab)
				return i;	
		return -1;
	}catch(Ex)
	{}
}
function refreshViewMap(maptabid,currentchoice)
{
	try{
		var maptop=parent.jsp.maptop;
		//var theMap=document.all.themap;
		if(maptabid!=parent.jsp.currentMapTabId)
		{
			mapTabChanged();
			parent.jsp.currentMapTabId=maptabid;
		}
		var viewindex=getViewMapIndex(maptabid)
		if(viewindex!=-1 && getElement('tviewmapof')!=null)
		{
			var content=parent.viewmapof[viewindex];
			if(content!='')
			{
				//parent.onpoint.mapBookMarkPanel.style.display='';
				document.getElementById('mapBookMarkPanel').style.display='';
				//parent.onpoint.tviewmapof.innerHTML='<select name="mapchoice" size="1">' 
				//	+ content + '</select>';
				document.getElementById('tviewmapof').innerHTML='<select id="mapchoicebox" name="mapchoicebox" size="1" onchange="document.forms[\'viewmap\'].elements[\'mapchoice\'].value=this.options[this.selectedIndex].value;">' + content + '</select>';
				selectChoice(currentchoice);		
				if(!viewMapOn)
				{
					maptop=(Number(getSize(parent.jsp.maptop))+ 32) + 'px';				
					viewMapOn=true;
				}
			}
			else
			{
				getElement('mapBookMarkPanel').style.display='none';
				if(viewMapOn)
				{
					//theMap.style.top=(Number(getSize(theMap.style.top))-32) + 'px';	
					maptop=(Number(getSize(parent.jsp.maptop))-32) + 'px';	
					viewMapOn=false;			
				}
			}
		}
		parent.jsp.maptop=maptop;
	}catch(ex){}
}
//end common

//common
function toggleImageryTool(maptabid)
{
	try
	{
		if(hasOrthoLayer(maptabid))
			//parent.onpoint.timagery.style.display='';
			document.getElementById('timagery').style.display='';
		else
			//parent.onpoint.timagery.style.display='none';
			document.getElementById('timagery').style.display='none';
	}
	catch(ex)
	{
	}	
}
function hasOrthoLayer(maptabid)
{
	try
	{
		var idx=-1;
		for(i=0;i<parent.maptabids.length;i++)
		{
			if(parent.maptabids[i]==maptabid)
			{
				idx=i;
				break;
			}
		}
		if(idx==-1)return false;
		return parent.hasOrtho[idx];
	}
	catch(ex)
	{
	}	
	return false;	
}
function selectChoice(currentchoice)
{
	try
	{
		//var elm=parent.onpoint.viewmap.mapchoice;
		var elm=getElement('mapchoicebox');
		//var elm=document.forms['viewmap'].elements['mapchoice'];
		var opts=elm.options;
		for(i=0;i<opts.length;i++)
		{
			if(opts[i].value==currentchoice)
			{
				elm.selectedIndex=i;
				break;		
			}
		}
	}
	catch(ex)
	{
		//alert(ex);
	}
}

function refershMapTabs(projectid,currentid)
{
	try
	{
		//var theMap=document.all.themap;		
		var maptop=parent.jsp.maptop;
		var projectidx=getProjectIndex(projectid);
		if(projectidx!=-1)
		{
			var projectMaptabs=parent.project_maptabs[projectidx];
//			var ids=parent.maptabids;
//			var descs=parent.maptabDescs;
			if(parent.jsp.showmaptab || projectMaptabs.length>1) 
			{
				//parent.onpoint.mapTabs.style.display='';
				document.getElementById('mapTabs').style.display='';
				var htmlText='<table border="0" cellspacing="0" cellpadding="0" class="text"><tr>';
				
//				for(i=0;i<ids.length;i++)
//				{
//					var id=ids[i];
					for(j=0;j<projectMaptabs.length;j++)
					{
						var id=projectMaptabs[j];
//						if(id==projectMaptabs[j])
//						{
//							var maptabdesc=descs[i];
							var maptabdesc=getMapTabDesc(id);
							if(id==currentid)
							{
								htmlText+='<td><img src="images/aleftcurve.gif" alt="" width="10" height="19"></td>';
								htmlText+='<td class="clsPartActiveTab">' + maptabdesc + '</td>';
								htmlText+='<td><img src="images/arightcurve.gif" alt="" width="10" height="19"><img src="images/spacer.gif" alt="" width="1" height="10"></td>';
							}
							else
							{
								htmlText+='<td><img src="images/leftcurve.gif" alt="" width="10" height="19"></td>'
								htmlText+='<td class="clsPartInActiveTab">';
								htmlText+='<a href="' + parent.dispatcher + '?REQUESTTYPE=mapviewer&REFRESHONLYMAP=true&APPID=' + parent.appid + '&maptabid=' + id + '" class="clsTabLink" target="results">' + maptabdesc + '</a></td>';
								htmlText+='<td><img src="images/rightcurve.gif" alt="" width="10" height="19"><img src="images/spacer.gif" alt="" width="1" height="10"></td>	';
							}
//						}
					}
//				}
				htmlText+='</tr></table>';
				//parent.onpoint.maptabsbar.innerHTML=htmlText;	
				document.getElementById('maptabsbar').innerHTML=htmlText;
				if(!mapTabsOn)
				{
					//theMap.style.top=(Number(getSize(theMap.style.top))+19) + 'px';		
					maptop=(Number(getSize(parent.jsp.maptop))+19) + 'px';		
					mapTabsOn=true;							
				}
			}
			else
			{
				document.getElementById('mapTabs').style.display='none';
				if(mapTabsOn)
				{
					//theMap.style.top=(Number(getSize(theMap.style.top))-19) + 'px';	
					maptop=(Number(getSize(parent.jsp.maptop))-19) + 'px';		
					mapTabsOn=false;				
				}
			}
			parent.jsp.maptop=maptop;
			getElement('themap').style.top=parent.jsp.maptop;
			getElement('themap').style.clientTop=parent.jsp.maptop;
		}
	}
	catch(ex)
	{
		//alert(ex);
	}
}
function getMapTabDesc(id)
{
	var ids=parent.maptabids;
	var descs=parent.maptabDescs;	
	for(i=0;i<ids.length;i++)
	{
		if(id==ids[i])
			return descs[i];		
	}
}
function getProjectIndex(projectid)
{
	try
	{
		for(i=0;i<parent.projectIndexes.length;i++)
			if(projectid==parent.projectIndexes[i])
				return i;
		return -1;
	}catch(ex)
	{
	}
}
function displayShapeLinks(shapelinks,externallinks,shapelinktargets)
{
	try
	{
		if(shapelinks && shapelinks.length>0)
		{
			var htmlText="<table cellpadding='2' cellspacing='0' border='0' width='100%'>";
			for(i=0;i<shapelinks.length;i++)
			{
				var s='shapelink#';
				if(externallinks[i]==true)
					s+='T#';
				else
					s+='F#';
				s+=shapelinks[i];
				htmlText+='<tr><td width="20" align="center"><img id="' + s + '" src="images/maptools/shapelink.gif" alt="" width="15" height="15" border="0"></td>';
				htmlText+='<td width="165"><a href="#" onclick="parent.jsp.shapeLinkTarget=\'' + shapelinktargets[i] + '\';toolClicked(\'' + s + '\');return false;\">' + shapelinks[i] + '</a></td></tr>';
			}
			parent.onpoint.shapelinks.style.display='';
			parent.onpoint.shapelinktext.innerHTML=htmlText;
		}
		else
			parent.onpoint.shapelinks.style.display='none';
	}
	catch(ex)
	{
	}
}
//end common
//start common
function hideQuickSearch()
{
	var quickSearchPanel=getElement('quickSearchPanel');
	var themap=getElement('themap')
	if(parent.jsp.showQuickSearch)
	{
		if(quickSearchPanel.style.display=='none')
		{
			quickSearchPanel.style.display='';	
			getElement('chkQuickSearch').checked=false;
			themap.style.top=(Number(getSize(parent.jsp.maptop))+ 67) + 'px';	
			parent.jsp.maptop=themap.style.top;
//			themap.style.clientTop=(Number(getSize(themap.style.clientTop))+ 65) + 'px';	
		}
	}
	else
	{
		if(quickSearchPanel.style.display=='')
		{
			quickSearchPanel.style.display='none';	
			getElement('chkQuickSearch').checked=true;
			themap.style.top=(Number(getSize(parent.jsp.maptop))- 67) + 'px';			
			parent.jsp.maptop=themap.style.top;
//			themap.style.clientTop=(Number(getSize(themap.style.clientTop))- 65) + 'px';			
		}
	}	
}
function setQuickSearchPanelDisplay()
{
	var quickSearchPanel=getElement('quickSearchPanel');
	var themap=getElement('themap')
	if(parent.jsp.showQuickSearch)
	{
		try{
		if(quickSearchPanel)
			quickSearchPanel.style.display='';	
		}catch(ex){};
		try{
		if(getElement('chkQuickSearch'))
			getElement('chkQuickSearch').checked=false;
		}catch(ex){};
	}
	else
	{
		quickSearchPanel.style.display='none';	
		getElement('chkQuickSearch').checked=true;
	}	
	themap.style.top=parent.jsp.maptop;	
}
function getElement(name)
{
	return document.getElementById(name);	
}
var overviewWindow;
function mapTabChanged()
{
	toolClicked('zoomin');

	toggleTool('measure',false);
	toggleTool('addMyPoint',false);
	toggleTool('selections',false);
	toggleTool('redlining',false);	
	
	hideElement('addRemoveDataPanel');
	hideElement('legendPanel');
	hideElement('advancedSearchPanel');		
	hideElement('redliningsymbolPanel');
	hideElement('redliningobjectsPanel');

	try
	{
		overviewWindow.close();
	}catch(e){}	
	
	var panels=['measureBody','addMyPointBody','selectionsBody','redliningBody',];
	for(i=0;i<panels.length;i++)
	{
		try
		{
			getElement(panels[i]).style.display='none';
		}catch(ex){}	
	}
	try
	{
		getElement('searchBarPanel').style.display='';
	}catch(ex){}
	
}

function hideElement(elmName)
{
	try
	{
		var elm=getElement(elmName);
		doHide(elm);
	}catch(e){}	
}
//end common

function dhtmlLoadScript(url)
{
   try{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e); 
}catch(e){alert(e);}
}
function updateMconnSearch(url,UID,mtarget)
{
	var subFrm=document.forms['mconn'];
	subFrm.action=url;
	subFrm.target=mtarget;
	var uide=subFrm.elements['UID'];
	uide.value=UID;
	getElement('mconnect_advanced_search').style.display='';	
}

function verifySelectable()
{
	if(hasSelectableLayer(parent.jsp.currentMapTabId))
	{
		var str=parent.dispatcher + '?APPID=' + parent.appid + '&REQUESTTYPE=advancedselections&advancedselections.x=0';
		parent.onpoint.window.location.href=str;
	}
	else
		alert('No selectable layers on this maptab');
}

function showJoins()
{
	try{
    for(i=0;i<parent.jsp.multiColJoins.length;i++)
    {
    		
    		if(getElement(parent.jsp.multiColJoins[i]))
    		{
	    		getElement(parent.jsp.multiColJoins[i]).style.display="";
    			//eval(parent.jsp.multiColJoins[i] + '.style.display=""');
    			document.images[parent.jsp.multiColJoins[i]+'Btn'].src="images/btn_minus.gif";
    		}
    }
    	}catch(ex){}
}
