<!--
//	ServiceRequest.js
//
//	Jeffrey Roy
//	November 2004
//
//	Dependencies:
//		DocUtility.js 
//		ServiceRequest_Validation.js
//

var gstrDisplayNone = "none"
var gstrDisplayBlock = "block"
var mblnIsCityParkVisible = false

	function checkPhone(vobj) {
	
		with (document.frmServiceRequest.ddlCountry) {
		
			if ((value == "USA") || (value == "CANADA")) {
				reformatUSPhone(vobj)
			}
			
		}
	}

	function checkPhoneAll() {
	
		with (document.frmServiceRequest) {
		
			if ((ddlCountry.value == "USA") || (ddlCountry.value == "CANADA")) {
				reformatUSPhone(txtHomePhone)
				}
			
		}
	}

	function hideIssueElements(){

	  document.getElementById("rowPark").style.display = gstrDisplayNone;
	  document.getElementById("rowConfidential").style.display = gstrDisplayNone;

	}
	
	function hideAddressElements(){

	  document.getElementById("rowCityState").style.display = gstrDisplayNone;
	  document.getElementById("rowCountry").style.display = gstrDisplayNone;

	}
	
	function submitLink(strAction){

	//	Generic submit action.
	//
		document.frmServiceRequest.action = strAction
		document.frmServiceRequest.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.frmServiceRequest.ddlIssue.value
		
		switch(strValue){
			case "Leash":
				history.forward()
				break;
			case "LeashPark":
				history.forward()
				break;
			case "Noise":
				history.forward()
				break;
			case "Deceased":
				history.forward()
				break;
			case "Trap":
				history.forward()
				break;
			case "Scoop":
				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.frmServiceRequest) {
				htxtParkName.value = ddlPark.options[ddlPark.selectedIndex].text
				htxtIssue.value = ddlIssue.options[ddlIssue.selectedIndex].text
			}
			
			submitLink("ServiceRequest_IQ.asp")
		}
	}

	function ddlCountry_change(vobj){

		if ((vobj.value == "CANADA") && !isProvinceCode(document.frmServiceRequest.ddlState.value)) {
			
			// See DocumentUtility.js for this method
			setOptionSelected(document.frmServiceRequest.ddlState, "XX")
		}
		
		if ((vobj.value == "USA") && !isStateCode(document.frmServiceRequest.ddlState.value)) {
			
			// See DocumentUtility.js for this method
			setOptionSelected(document.frmServiceRequest.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 strConfidentialStyle = gstrDisplayNone
		var strParkStyle = gstrDisplayNone
		
		switch(strValue){
			case "_":
				setOptionSelected(prmList, "");
				break;
			case "":
				setOptionSelected(prmList, "");
				break;
			case "Adoptions":
				submitLink("http://www.seattle.gov/animalshelter/Adoptnow.htm");
				break;
			case "Feedback":
				submitLink("http://www.seattle.gov/animalshelter/feedback.htm");
				break;
			case "Donations":
				submitLink("http://www.seattle.gov/animalshelter/programs.htm");
				break;
			case "Foster":
				submitLink("http://www.seattle.gov/animalshelter/fostervolunteers.htm");
				break;
			case "Leash":
				strConfidentialStyle = gstrDisplayBlock;
				break;
			case "LeashPark":
				strConfidentialStyle = gstrDisplayBlock;
				strParkStyle = gstrDisplayBlock;
				break;
			case "Noise":
				strConfidentialStyle = gstrDisplayBlock;
				break;
			case "License":
				submitLink("http://www.seattle.gov/animalshelter/licenses.htm");
				break;
			case "Deceased":
				break;
			case "Trap":
				break;
			case "Scoop":
				strConfidentialStyle = gstrDisplayBlock;
				break;
			case "Spay":
				submitLink("http://www.seattle.gov/animalshelter/spay.htm");
				break;
			case "Volunteer":
				submitLink("http://www.seattle.gov/animalshelter/fostervolunteers.htm");
				break;
		}
		
		mblnIsCityParkVisible = (strParkStyle == gstrDisplayBlock)
		document.getElementById("rowPark").style.display = strParkStyle
		document.getElementById("rowConfidential").style.display = strConfidentialStyle
		
	}

	function ddlState_change(vobj){
		checkPostalCode()
	}
		
	
	function txtEmail_change(vobj) {
		validateEmail(vobj)
	}
	
	function txtHomePhone_change(vobj) {
		checkPhone(vobj);
	}
	
		
	function txtZip_change(vobj) {
		setState(vobj, document.frmServiceRequest.ddlState)
		getCity()
		checkPostalCode()
	}

//-->
