function isZip(zipcode) {
	
	     // Check for correct zip code
	     reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	
	     if (!reZip.test(zipcode)) {     
	         zip = document.getElementById("txtZip");	
			 ziperror = document.getElementById("reqvalZip");       
	         generalerror.style.display = "block";
			 ziperror.style.display = "block";
	     }
	
	return true;
	}
	
	// email checking
	
	
	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;
		 }

 		 return true					
	}

	function ValidateEmail(){
		var emailID=document.getElementById("txtEmail");
	
		
		emailerror = document.getElementById("valEmail");	
		
		if ((emailID.value==null)||(emailID.value=="")){
			emailerror.style.display = "block";	
			return false;
		}
		if (echeck(emailID.value)==false){
			emailerror.style.display = "block";	
			return false;
		}
		return true;
 	}


// end email checking	
	
// Phone number checking 


// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhone(){
	var Phone=document.getElementById("txtPhone");
	
	phoneerror = document.getElementById("reqvalPhone");	
			
	if ((Phone.value==null)||(Phone.value=="")){		
		phoneerror.style.display = "block";	
		return false;
	}
	if (checkInternationalPhone(Phone.value)==false){	
		phoneerror.style.display = "block";			
		return false;
	}
	return true;
 }
 
 // end phone number checking
 
 // url checking 
 
 function ValidateURL(url) {
    var v = new RegExp();
    
    v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
    if (!v.test(url)) {
        dealerurlerror = document.getElementById("valDealerURL");
        dealerurlerror.style.display = "block";
        return false;
    }
} 

function valButton(btn) {
	var cnt = -1;
	for (var i=btn.length-1; i > -1; i--) {
		if (btn[i].checked) {cnt = i; i = -1;}
	}
	if (cnt > -1) return btn[cnt].value;
	else return null;
}


function checkForm() {
	
	var error = false;
	
	generalerror = document.getElementById("generalError");
	name = document.getElementById("txtName");	
	nameerror = document.getElementById("reqName");
	company = document.getElementById("txtCompany");	
	companyerror = document.getElementById("reqCompany");
	phone = document.getElementById("txtPhone");	
	phoneerror = document.getElementById("reqPhone");
	address = document.getElementById("txtAddress");	
	addresserror = document.getElementById("reqAddress");
	city = document.getElementById("txtCity");	
	cityerror = document.getElementById("reqCity");
	state = document.getElementById("cboStates");	
	stateerror = document.getElementById("reqState");
	zip = document.getElementById("txtZip");	
	ziperror = document.getElementById("reqZip");
	email = document.getElementById("txtEmail");	
	emailerror = document.getElementById("reqEmail");
	radioerror = document.getElementById("reqRadio");
	
	//start fresh in case this is the not the first time through the form
	generalerror.style.display = "none";
	nameerror.style.display = "none";
	companyerror.style.display = "none";
	phoneerror.style.display = "none";
	addresserror.style.display = "none";
	cityerror.style.display = "none";
	stateerror.style.display = "none";
	ziperror.style.display = "none";
	emailerror.style.display = "none";
	radioerror.style.display = "none";
		
	if (name.value == "") {
		generalerror.style.display = "block";
		nameerror.style.display = "block";			
		error = true;
	}
	if (company.value == "") {
		generalerror.style.display = "block";
		companyerror.style.display = "block";			
		error = true;
	}
	if (phone.value == "") {
		generalerror.style.display = "block";
		phoneerror.style.display = "block";			
		error = true;
	}
	if (address.value == "") {
		generalerror.style.display = "block";
		addresserror.style.display = "block";			
		error = true;
	}
	if (city.value == "") {
		generalerror.style.display = "block";
		cityerror.style.display = "block";			
		error = true;
	}
	if (state.value == "") {
		generalerror.style.display = "block";
		stateerror.style.display = "block";
		error = true;
	}
	if (zip.value == "") {
		generalerror.style.display = "block";
		ziperror.style.display = "block";
		error = true;
	}
	if (email.value == "") {
		generalerror.style.display = "block";
		emailerror.style.display = "block";
		error = true;
	}
	var btn1 = valButton(document.form1.radExistingCustomer);
	if (btn1 == null) {
		generalerror.style.display = "block";
		radioerror.style.display = "block";
		error = true;
	}
	var btn2 = valButton(document.form1.radOKtoContact);
	if (btn2 == null) {
		generalerror.style.display = "block";
		radioerror.style.display = "block";
		error = true;
	}
	var btn3 = valButton(document.form1.radGetUpdates);
	if (btn3 == null) {
		generalerror.style.display = "block";
		radioerror.style.display = "block";
		error = true;
	}	
	if (error) {		
		document.location = "#top"
		return false;
		}
			
	if (error)
		return false;
	else
		return true;	
	}