<!--
//	Form.js
//
//	Jeffrey Roy
//	November 2004
//
//	Dependencies:
//		DocUtility.js 
//		Form_Validation.js
//

var gstrDisplayNone = "none"
var gstrDisplayBlock = "block"
var mblnIsCityParkVisible = false

	function checkPhone(vobj) {
	
		with (document.frmForm.ddlCountry) {
		
			if ((value == "USA") || (value == "CANADA")) {
				reformatUSPhone(vobj)
			}
			
		}
	}

	function checkPhoneAll() {
	
		with (document.frmForm) {
		
			if ((ddlCountry.value == "USA") || (ddlCountry.value == "CANADA")) {
				reformatUSPhone(txtHomePhone)
				}
			
		}
	}

	function hideIssueElements(){

	  if(document.all){
	    document.all.rowPark.style.display = gstrDisplayNone;
	  }

	}
	
	function hideAddressElements(){

	  if(document.all){
	    document.all.rowPark.style.display = gstrDisplayNone;
	  }

	}
	
	function submitLink(strAction){

	//	Generic submit action.
	//
		document.frmForm.action = strAction
		document.frmForm.submit()
	}
	
 	function forceForward(){

	//	Called by body_load(), this forces the browser to move
	//  forward in the history list if the content was cached and
	//  an issue remains selected.  This is an attempt to prevent
	//  multiple posts of the same data while avoiding session variables.
	//

		var strValue = document.frmForm.ddlIssue.value
		
		switch(strValue){
			case "Athletics":
				history.forward()
				break;
			case "Centers and Pools":
				history.forward()
				break;
			case "Environmental Stewardship":
				history.forward()
				break; 
			case "Get involved":
				history.forward()
				break; 
			case "Jobs":
				history.forward()
				break;
			case "Parks":
				history.forward()
				break;
			case "Projects and planning":
				history.forward()
				break;
			case "Recreation programs":
				history.forward()
				break; 
			case "Reservations and rentals and permits":
				history.forward()
				break;
			case "Other":
				history.forward()
				break;
		}
		
	}

 //**************************
 //	Event Handlers
 //**************************
 
	function body_load(){
		hideAddressElements()
		hideIssueElements()
		forceForward() // In case we're trying a resubmit.
	}

	function cmdSubmit_click(){

		if (isValidInput()){
		
			with(document.frmForm) {
				htxtParkName.value = ddlPark.options[ddlPark.selectedIndex].text
				htxtCenterName.value = ddlCenterID.options[ddlCenterID.selectedIndex].text
				htxtIssue.value = ddlIssue.options[ddlIssue.selectedIndex].text
			}
			
			submitLink("Form_IQ.asp")
		}
	}

	function ddlCountry_change(vobj){

		if ((vobj.value == "CANADA") && !isProvinceCode(document.frmForm.ddlState.value)) {
			
			// See DocumentUtility.js for this method
			setOptionSelected(document.frmForm.ddlState, "XX")
		}
		
		if ((vobj.value == "USA") && !isStateCode(document.frmForm.ddlState.value)) {
			
			// See DocumentUtility.js for this method
			setOptionSelected(document.frmForm.ddlState, "XX")
		}
		
		checkPostalCode()
		checkPhoneAll()
	}

	function ddlIssue_change(prmList){

	//	Called whenever a user selects an issue from the drop-list.
	//  Takes action based upon requirements for each selection.
	//
	//	See ddlIssue's onChange attribute.

		var strValue = prmList.value
		var strParkStyle = gstrDisplayNone
		var strCenterStyle = gstrDisplayNone
				
		switch(strValue){
			case "_":
				setOptionSelected(prmList, "");
				break;
			case "":
				setOptionSelected(prmList, "");
				break;
			case "Parks":
				strParkStyle = gstrDisplayBlock;
				break;
			case "Centers and Pools":
				strCenterStyle = gstrDisplayBlock;
				break;
			case "Athletics":
				break;
			case "Environmental Stewardship":
				break;
			case "Jobs":
				break;
			case "Projects and Planning":
				break;
			case "Recreation programs":
				break;
			case "Reservations and rentals and permits":
				break;				
			case "Other":
				break;
				}
		
		mblnIsCityParkVisible = (strParkStyle == gstrDisplayBlock)
		document.all.rowPark.style.display = strParkStyle
		mblnIsCenterVisible = (strCenterStyle == gstrDisplayBlock)
		document.all.rowCenter.style.display = strCenterStyle
	}

	function ddlState_change(vobj){
		checkPostalCode()
	}
		
	
	function txtEmail_change(vobj) {
		validateEmail(vobj)
	}
	
	function txtHomePhone_change(vobj) {
		checkPhone(vobj);
	}
	
	
	function txtZip_change(vobj) {
		setState(vobj, document.frmForm.ddlState)
		getCity()
		checkPostalCode()
	}

//-->

