/*------------------------------------------------------
--- Code to run after form submit event is registered.
---   In the event of an error, scroll up the window to
---   an error message and focus the first failed field.
---   All fields should be indicated as failed via
---   onBlur events.
-------------------------------------------------------*/

 // document.getElementById('inquiryForm').submit();
 
 
// sends the form data to the CFC
			function sendData(){
				$.get("/cfc/ajax.cfc?method=inquiryFormSubmit", { firstname: document.getElementById('inquiry_firstNameTextField').value 
																												, lastname: document.getElementById('inquiry_lastNameTextField').value
																												, email: document.getElementById('inquiry_emailTextField').value
																												, phoneNumber: document.getElementById('inquiry_phoneNumberTextField').value
																												, zipCode: document.getElementById('inquiry_zipCodeTextField').value
																												, comment: document.getElementById('inquiry_commentTextArea').value},  returnResponse, 'json');
			}
			
// Gets the return
			function returnResponse(json){
				// putting the return message here in the event we may want different messages based on 
				// the return code.
				
				var returnMessage = '<span>Thank you for submitting your comments.  A representative will contact you shortly.</span>';
				
					// on return, display the return message.
					document.getElementById('inquiry_container').style.display = 'none';										
					document.getElementById('inquiry_returnMessage').innerHTML=returnMessage;
					document.getElementById('inquiry_returnMessage').style.display = 'block';				
			}
 
 
 		function validateForm() {
			
			var submitForm = true	
			// check( [id of form element], [id of error tag for form element])
			
			if (+check('inquiry_firstNameTextField', 'inquiry_firstNameError') == false )	{
				submitForm = false;
			}
			
			if (+check('inquiry_lastNameTextField', 'inquiry_lastNameError') == false )	{
				submitForm = false;
			}
			
			if (+check('inquiry_emailTextField', 'inquiry_emailError') == false )	{
				submitForm = false;
			}
			
			if (+check('inquiry_commentTextArea', 'inquiry_commentError') == false )	{
				submitForm = false;
			}
			
			/* Zip not required at this time
			if (+check('inquiry_zipCodeTextField', 'inquiry_zipCodeError') == false )	{
				submitForm = false;
			}
			*/
			
			// if at any time durring the above check the return is set to false, dont submit form, show message stating there was an error
			// otherwise submit form.
			if (submitForm){
				sendData();
			} else {
				alert('Please fill out the require fields.');
			}

		
    }
		
		
		
		/*--------------------------------------------------------------------
		---  Generates error messages in a consistant manner.
		---
		---	 Variables:
		---		@name			id of label field to apply error message to
		---		@spantxt		text to use for an error message
		---		@bit			1 to apply error message
		---						0 to clear error message
		---------------------------------------------------------------------*/
    function errMsg(name, spantxt, bit) {
    		document.getElementById(name).innerHTML=spantxt;
    }
		/*----------------------------------------------------------------------
		---  Generic c-s validation, can be used inline with little code overhead.
		---	   Add fields needed, refer to errMsg() for creating an error message.
		---
		---	 Variables:
		---		@objEle			id of element to be checked.
		---		@errorId		id of element for inserting error message
		------------------------------------------------------------------------*/
    function check(objEle, errorId){
			objEle = document.getElementById(objEle);
		switch(objEle.name)
    	{
				case "email" :
	   			if(objEle.value.match(/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{1,3}){1,2}$/)){
	   				errMsg(errorId,"",0);
	   				return true; }
	   			else{
	   				errMsg(errorId,"(valid email required)",1);
	   				return false; }
						
				case "zipCode" :
	   			if(objEle.value.match(/^[\d]{5,9}$/)){
	   				errMsg(errorId,"",0);
	   				return true; }
	   			else{
	   				errMsg(errorId,"(required)",1);
	   				return false; }
						
				case "firstName" :
    			if(objEle.value == ""){
    				errMsg(errorId,"(required)",1);
					return false; }
    			else{
    				errMsg(errorId,"",0);
					return true; }
				
				case "lastName" :
    			if(objEle.value == ""){
    				errMsg(errorId,"(required)",1);
					return false; }
    			else{
    				errMsg(errorId,"",0);
					return true; }
					
				case "comment" :
					errMsg('inquiry_commentErrorBottom',"Currently, you have " + objEle.value.length + " characters. (max 250)",1);
					if (objEle.value.length > 250){
						errMsg(errorId,"<Br>Please limit your comments to 250 characters.",1);
						
						return false; }
					
					else{
						if (objEle.value.length == 0){
							errMsg(errorId,"(required)",0);
							return false; 
						}	else {
						errMsg(errorId,"",0);
						return true; 
						}
					}

	    	
	   		case "DPhone" :
	   			if( objEle.value.match(/(\(\d\d\d\))?\s*(\d\d\d)\s*[\.-]?\s*(\d\d\d\d)/) && objEle.value.length >9 ){
	   				errMsg(objEle.name,"Day Time Phone #:",0);
	   				return true;}
	   			else{
	   				errMsg(objEle.name,"Please enter your Day Time Phone #, including Area code.",1);
	   				return false; }




	    	
	    	default:
    			alert(objEle.name);
    	}
    	return true;
    }


