/* Javascript Document */
/* Author: Travis Cunningham */
/* Date: 02/2008 */
/* Description: Form Validation */

//Check email format
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false;
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false;
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			return false;
		}
		if (str.indexOf(at,(lat+1))!=-1){
		return false;
		}
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			return false;
		}
		
		if (str.indexOf(dot,(lat+2))==-1){
			return false;
		}
		if (str.indexOf(" ")!=-1){
			return false;
		}
	}
//validate Form
//Contact Form
	function validateContact(){
		var contactForm = document.forms.contactForm
		errorFields=Array();
		
		if(""==contactForm.first.value){
			document.getElementById('first').className="required";
			errorFields[errorFields.length]="First";
		} else {
			document.getElementById('first').className="";
		}
		if(""==contactForm.last.value){
			document.getElementById('last').className="required";
			errorFields[errorFields.length]="Last";
		} else {
			document.getElementById('last').className="";
		}
		if (echeck(contactForm.email.value)==false){
			contactForm.email.value="";
			errorFields[errorFields.length]="Email";
			document.getElementById('email').className="required";
		} else {
			document.getElementById('email').className="";
		}
		if(""==contactForm.phone.value){
			document.getElementById('phone').className="required";
			errorFields[errorFields.length]="Phone";
		} else {
			document.getElementById('phone').className="";
		}

		if (errorFields.length==0) return true;
		alert("Please make sure you fill in the following fields: "+errorFields.join(", "));
		return false;
	}
// Quote Form	
	function validateQuote(){
		var quoteForm = document.forms.quoteForm
		errorFields=Array();
		
		if(""==quoteForm.first.value){
			document.getElementById('first').className="required";
			errorFields[errorFields.length]="First";
		} else {
			document.getElementById('first').className="";
		}
		if(""==quoteForm.last.value){
			document.getElementById('last').className="required";
			errorFields[errorFields.length]="Last";
		} else {
			document.getElementById('last').className="";
		}
		if (echeck(quoteForm.email.value)==false){
			quoteForm.email.value="";
			errorFields[errorFields.length]="Email";
			document.getElementById('email').className="required";
		} else {
			document.getElementById('email').className="";
		}
		if(""==quoteForm.phone.value){
			document.getElementById('phone').className="required";
			errorFields[errorFields.length]="Phone";
		} else {
			document.getElementById('phone').className="";
		}
		if(""==quoteForm.city.value){
			document.getElementById('city').className="required";
			errorFields[errorFields.length]="City";
		} else {
			document.getElementById('city').className="";
		}
		if(""==quoteForm.state.value){
			document.getElementById('state').className="required";
			errorFields[errorFields.length]="State";
		} else {
			document.getElementById('state').className="";
		}
		if(""==quoteForm.zip.value){
			document.getElementById('zip').className="required";
			errorFields[errorFields.length]="Zip";
		} else {
			document.getElementById('zip').className="";
		}

		if (errorFields.length==0) return true;
		alert("Please make sure you fill in the following fields: "+errorFields.join(", "));
		return false;
	}
	
//Remove Google Styles
  
  if(window.attachEvent)
    window.attachEvent("onload",setListeners);

  function setListeners(){
    inputList = document.getElementsByTagName("INPUT");
    for(i=0;i<inputList.length;i++){
      inputList[i].attachEvent("onpropertychange",restoreStyles);
      inputList[i].style.backgroundColor = "";
    }
    selectList = document.getElementsByTagName("SELECT");
    for(i=0;i<selectList.length;i++){
      selectList[i].attachEvent("onpropertychange",restoreStyles);
      selectList[i].style.backgroundColor = "";
    }
  }

  function restoreStyles(){
    if(event.srcElement.style.backgroundColor != "")
      event.srcElement.style.backgroundColor = "";
  }
	
