function canLeave(){
	bCanLeave = true;
}

function confirmDelete(){
	val = confirm("Are you sure you want to delete this record?\n[Press OK to delete]");
	canLeave();
	return val;
}

function checkLength(input, maxLength, name){
	if (input.value.length > maxLength){
		alert(name + " is too long. It has " + input.value.length + " characters. The maximum permitted characters is " + maxLength	+ ".");
		return false;
	}
	else {
		return true;
	}
}

function checkLeapYear(year) { 
	return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? true : false;
}

function checkDate(iDay, iMonth, iYear, datefieldtext){
	
	var pattern = new RegExp("\(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/][0-9]{4}", "g");
	var bValid = false;
	
	if (iDay < 10){
		iDay = "0" + iDay;
	}
		if (iMonth < 10){
		iMonth = "0" + iMonth;
	}
	
	var theDate = iDay + "/" + iMonth + "/" + iYear;
	
	var maxDay;
	
	// Initial pattern testing
	bValid = pattern.test(theDate);
	
	if (theDate.length > 10){
		// Incorrect number of characters
		bValid = false;
	}

	if ((theDate.substr(0,2) > 30) && ((theDate.substr(3,2) == "04") || (theDate.substr(3,2) == "06") || (theDate.substr(3,2) == "09") || (theDate.substr(3,2) == "11"))){
		// Month with less than 31 days
		bValid = false;
	}
	
	if (theDate.substr(3,2) == "02") {
		// February!!!	
		//theYear = "20" + theDate.substr(6,2) - 0; // - 0 converts to number
		if (checkLeapYear(iYear)){
			// Leap year
			maxDay = 29;
		}
		else {
			// Not a leap year
			maxDay = 28;
		}
		if (theDate.substr(0,2) > maxDay) {
			bValid = false;
		}
	}
	
	if (!bValid){
		alert("The date you have entered is not valid. Please respecify.");
		return false;
	}
	else {
		return true;
	}
}

/* Navigation Controls */

if (document.images) {
  zoominOn = new Image();
  zoominOn.src = "images/zoomin_on.gif";
  zoominOff = new Image();
  zoominOff.src = "images/zoomin_off.gif";
  zoomoutOn = new Image();
  zoomoutOn.src = "images/zoomout_on.gif";
  zoomoutOff = new Image();
  zoomoutOff.src = "images/zoomout_off.gif";

  queryOn = new Image();
  queryOn.src = "images/query_on.gif";
  queryOff = new Image();
  queryOff.src = "images/query_off.gif";
  recentreOn = new Image();
  recentreOn.src = "images/recentre_on.gif";
  recentreOff = new Image();
  recentreOff.src = "images/recentre_off.gif";
}


function MouseOn(img){
	window.status = img.alt;
	img.parentNode.className="buttonwrapperon";
}

function MouseOff(img){
	img.parentNode.className="buttonwrapper"
	window.status = "";
}

function toggle() {
	var curTool = toggle.arguments[toggle.arguments.length-1];
	//alert(curTool);
	document.frmMap.curtool.value = curTool;
	getObj("map").style.cursor = "crosshair"; // Cursor style for map
	//if (document.images) {
		for (var i=0; i<toggle.arguments.length; i+=2){
			var arg = toggle.arguments[i];
			document.getElementById(arg).src = eval(toggle.arguments[i+1] + ".src");
			theSrc = document.getElementById(toggle.arguments[i]).src;
			//alert(arg);
			if (theSrc.substr(theSrc.length-12,13) == "query_on.gif"){
				
				getObj("map").style.cursor = "help"; // Cursor style for map
			}
		}
	//}

	return false;
}

function statusText(sString){
	window.status = sString;
}

function setCurTool(tool) {
	document.frmMap.curtool.value = tool;	
	return false;
}

function setParams(frmForm,curWidth){ //,background){
	var btnArray = new Array();
	btnArray = ["zoomin","zoomout","recentre","query"];
	//var sParams = "";
	var newWidth = curWidth;
	var widthElem = getObj("zoomwidth");
	var toolElem = getObj("curtool");
	//alert(toolElem.value);
	
	for(i=0; i<4; i++) {
		var btnTool = getObj(btnArray[i]);
		if (btnTool != null){
			strSource = btnTool.src;
			if (strSource.substring(strSource.length-6,strSource.length) == "on.gif"){
				//sParams = sParams + "&curtool=" + btnTool.name;
				//alert(sParams);
				if (btnArray[i] == "zoomin"){
					newWidth = curWidth - 1;
				}
				if (btnArray[i] == "zoomout"){
					newWidth = curWidth + 1;
				}
				//alert(btnArray[i]);
				toolElem.value = btnArray[i];
			}
		}
	}
	
	//alert(toolElem.value);
	widthElem.value = newWidth;
	//alert(widthElem.value);
		
	//sParams = sParams + "&zoomwidth=" + newWidth + "&background=" + background;
	//alert(sParams);
	//frmForm.action = frmForm.action + sParams;
}

//Object Routine for Tab switching
function getObj(obj) {
	var objRef;
	if(document.getElementById)
		objRef = document.getElementById(obj);

	else if(document.all)
		objRef = eval("document.all." + obj);

	else if(document.layers) {
		objRef = document.layers[obj];
		objRef.style = objRef;
	}
	else return false;

	return objRef;
}

//Add Record settings
function getRecordAtts(){
	/* Get the habitat type */
	var objHabitat = getObj("selLandType");
	if (objHabitat != null){
		var objLandType = getObj("landtype");
		if (objLandType != null){
			objLandType.value = objHabitat.value;
		}
	}
	/* Get the InGarden Indicator */
	var objGardenNo = getObj("No");
	var objGardenYes = getObj("Yes");
	if ((objGardenNo != null) && (objGardenYes != null)){
		var objInGarden = getObj("ingarden");
		if (objInGarden != null){
			if (objGardenNo.checked){
				objInGarden.value = 'N';
			}
			else {
				objInGarden.value = 'Y';
			}
		}
	}
	/* Get the observation date */
	var objDateDay = getObj("day");
	var objDateMonth = getObj("month");
	var objDateYear = getObj("year");
	if ((objDateDay != null) && (objDateMonth != null) && (objDateYear != null)){
		var objSelDay = getObj("selDay");
		var objSelMonth = getObj("selMonth");
		var objSelYear = getObj("selYear");
		if ((objSelDay != null) && (objSelMonth != null) && (objSelYear != null)){
			objDateDay.value = objSelDay.value;
			objDateMonth.value = objSelMonth.value;
			objDateYear.value = objSelYear.value;
		}
	}
	/* Get the X and Y */
	var objXloc = getObj("xloc");
	var objYloc = getObj("yloc");
	if ((objXloc != null) && (objYloc != null)){		
		var objX = getObj("x");
		var objY = getObj("y");
		if ((objX != null) && (objY != null)){
			objXloc.value = objX.value;
			objYloc.value = objY.value;
		}
	}
}

function startList() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}

function clearRad(listRads){
	arrRads = listRads.split(",")
	for (i = 0; i < arrRads.length; i++){
		for (j = 1; j < 8; j++){ //presumes not more than 6 radios in a section
			var objRadio = getObj(arrRads[i] + "_" + j);
			if (objRadio != null){
				objRadio.checked = false;
				if (i > 0){
					// disable secondary answer radios
					objRadio.disabled = true;
				}
			}
		}
	}
}

function dispHelp(section){
	var winAtts = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=450,height=350,top=50,left=50";
	window.open("fbx_index.cfm?fuseaction=info.help#" + section, "", winAtts);
	return false;
}

function dispHabHelp(section){
	var winAtts = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=470,height=350,top=50,left=50";
	window.open("fbx_index.cfm?fuseaction=habitat.help#" + section, "", winAtts);
	return false;
}

