
        // matches zip codes
        validZipCode = /\d{5}(-\d{4})?/;
	//validZipCode = /\d{5}/;

        // matches $17.23 or $14,281,545.45 or ...
	validCurrency = /\$\d{1,3}(,\d{3})*\.\d{2}/;

        // matches 5:04 or 12:34 but not 75:83
        validTime = /^([1-9]|1[0-2]):[0-5]\d$/;

        //matches email
        validEmailAddress = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

        // matches phone ###-###-####
        //validPhoneNumber = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;
	validPhoneNumber = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$|^\d{10}$/;
	
        // International Phone Number
        validPhoneNumberInternational = /^\d(\d|-){7,20}/;

        // IP Address
        validIPAddress = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;

        // Date xx/xx/xxxx
        validDate = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

        // State Abbreviation
        validState = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i;

        // Social Security Number
        validSSN = /^\d{3}\-\d{2}\-\d{4}$/;


function isZip(fInput){
     // Check for correct zip code
     reZip = new RegExp(validZipCode);
     if(!reZip.test(fInput)){
	     alert('Zip code is not correct.');
	     return false;
     }
return true;
}

function isState(state){
     // Check for correct zip code
     reState = new RegExp(validState);
     if(!reState.test(state)){
	     alert('State code is not correct. Please use two letter abriviation.');
	     return false;
     }
return true;
}

function checkAddress(address){
	if(address.length < 3){
		alert('Address does not appear to be valid');
		return false;
	}
return true;
}

function checkCity(city){
	if(city.length < 2){
		alert('City does not appear to be valid');
		return false;
	}
return true;
}
function isEmail(email){
	reEmail = new RegExp(validEmailAddress);
	if(!reEmail.test(email)){
	     alert('Email address does not appear to be in the correct format.');
	     return false;
	}
return true;
}

function isPhone(phone){
	rePhone = new RegExp(validPhoneNumber);
	if(!rePhone.test(phone)){
		alert('Phone does not appear to be in the correct format. Use: xxx-xxx-xxxx');
	     return false;
	}
return true;
}
function checkName(name){
	if(name.length < 2){
		alert('Please enter your first and last name.');
	     return false;
	}
return true;
}

function validateContactForm(){
	zip = document.getElementById('cFzip').value;
	state = document.getElementById('cFstate').value;
	address = document.getElementById('cFaddress').value;
	city = document.getElementById('cFcity').value;
	email = document.getElementById('cFemail').value;
	phone = document.getElementById('cFphone').value;
	name = document.getElementById('cFname').value;
	
	if(checkName(name) && isEmail(email) && isPhone(phone) && checkAddress(address) && checkCity(city) && isState(state) && isZip(zip)){
		document.getElementById('contactForm').submit();
		
	}

}

function isOptionalPhone(phone){
	if(!phone){return true;}
	rePhone = new RegExp(validPhoneNumber);
	if(!rePhone.test(phone)){
		alert('Phone does not appear to be in the correct format. Use: xxx-xxx-xxxx');
	     return false;
	}
return true;
}

function validateQuickContactForm(){
	name = document.getElementById('cFname').value;
	email = document.getElementById('cFemail').value;
	phone = document.getElementById('cFphone').value;
	if(checkName(name) && isEmail(email) && isOptionalPhone(phone)){
		document.getElementById('contactForm').submit();
	}
}

