
var state=""; 
var theCursor;

// sets the tool value. A tool is a mode that needs futher click on map.
function setState(tool){	
	state = tool;
	document.frmMap.tool.value=state;
	switch (tool){
		case "pan":
			theCursor = "move";
			break;
		case "zoom_in":
		case "zoom_out":
			theCursor = "crosshair";
			break;
		default:
			theCursor="default";
	}
	if (isIE)		getLayer("theMap").cursor=theCursor;
	
}

function doCommand(cmd){	
	
	var bailout = true;
	document.frmMap.cmd.value = cmd;
	if (!validate(cmd)) return false;
	//perform operation
	switch (cmd) {
		case "data":
			submitData();
			break;
		default:
		  submitMap();
		break;
	}
}


function submitMap() {
	beforeSubmit();
	//document.frmMap.action="map.asp";
	document.frmMap.target="_self";
  document.frmMap.submit();
	
}

function submitData(){
	//beforeSubmit();
	self.blur();
	var oldAction=document.frmMap.action;
	var oldTarget=document.frmMap.target;
	document.frmMap.action="map.asp";//identify.asp";
	popUp("","DataWindow",0,0,500,500);
	document.frmMap.target="DataWindow";
	document.frmMap.submit();
	document.frmMap.action=oldAction;//identify.asp";
	document.frmMap.target=oldTarget;
}

function zoomRange(r){
	document.frmMap.qrystr.value=r;
	doCommand("zoom_range");
}

function beforeSubmit(){
	showLayer("loadLayer");
}
function afterReturn(){
	hideLayer("loadLayer");
}
function popUp(sURL,sTitle,iLeft,iTop,iWidth,iHeight) {
  var objWin = window.open(sURL,sTitle,"left="+iLeft+",top="+iTop+",height="+iHeight+",width="+iWidth+",scrollbars=yes,resizable=yes");
  objWin.focus();
}

function showInfo(stat){
	alert(stat);
}

function validate(cmd){
  valid=false;
	switch (cmd){
		case "data":
			for (var i=0; i<document.frmMap.layer.length; i++){
				if (document.frmMap.layer[i].checked) {
					valid=true;
					break;
				}
			}
			if (!valid) {
				alert("Please choose a layer to retrieve data");
				return false;
			}
			break;
		default:
		  return true;
	}
	return true;
}

