// Copyright © 2010 by Eclipse Web Media for The Lamb's Chapel.
//
// You may use this code for your own website
// without restriction. You may also redistribute
// and edit this code without restriction.



//----------Validate form on Submit----------

var valid;
var why = "";
var blankError = "Please fill out all required fields. \n";
var nameError = "Please tell us your first and last name. \n";
var phoneError = "Phone number must be 10 digits long and cannot contain illegal characters. \n";
var emailError = "Email must be valid and cannot contain illegal characters. \n";
var isBlankError;


function validateForm(thisform) {
	//alert("false");
	//return false;
	with (thisform) {
        valid = true;
		why="";
		isBlankError = false;
		if (!validateField('name')) {
			valid = false;
			if (!isBlankError){why += blankError; isBlankError=1;}
		}
		if (!validatePhone('phone')) {
			valid = false;
			why += phoneError;
		}
		if (!validateEmail('em')){
			valid = false;
			why += emailError;
		}
		if (valid==false){alert(why);}
		return valid;
    }
}

function validateContactPageForm(thisform) {
	with (thisform) {
        valid = true;
		why="";
		isBlankError = false;
		if (!validateName('name')) {
			valid = false;
			why += nameError;
		}
		if (!validateField('company')) {
			valid = false;
			if (!isBlankError){why += blankError; isBlankError=1;}
		}
		if (!validateField('city')) {
			valid = false;
			if (!isBlankError){why += blankError; isBlankError=1;}
		}
		if (!validateField('state')) {
			valid = false;
			if (!isBlankError){why += blankError; isBlankError=1;}
		}
		if (!validateField('country')) {
			valid = false;
			if (!isBlankError){why += blankError; isBlankError=1;}
		}
		if (!validatePhone('phone')) {
			valid = false;
			why += phoneError;
		}
		if (!validateEmail('em')){
			valid = false;
			why += emailError;
		}
		if (valid==false){alert(why);}
		return valid;
    }
}


//--------------Validate Fields--------------


function validateField(theID){
	var fieldID = document.getElementById(theID);
        if (fieldID.value==null||fieldID.value==""){
	    	fieldID.style.borderColor = "red";
			fieldID.style.backgroundColor = "pink";
            return false;
        } else {
	    	fieldID.style.borderColor = "#abadb3";
			fieldID.style.backgroundColor = "#ffffff";
            return true;
        }
}

function validateName(theID){
	var fieldID = document.getElementById(theID);
		if (fieldID.value==null||fieldID.value==""){
			fieldID.style.borderColor = "red";
			fieldID.style.backgroundColor = "pink";
            return false;
        }
	  	if (!(fieldID.value.split(' ').length > 1)){
			fieldID.style.borderColor = "red";
			fieldID.style.backgroundColor = "pink";
            return false;
        } else {
			fieldID.style.borderColor = "#abadb3";
			fieldID.style.backgroundColor = "#ffffff";
            return true;
        }

}

function validatePhone(theID){
	var phoneID = document.getElementById(theID);
    var stripped = phoneID.value.replace(/[\(\)\.\-\ ]/g, '');
    if (phoneID.value==null||phoneID.value==""){
	    phoneID.style.borderColor = "red";
		phoneID.style.backgroundColor = "pink";
        return false;
    }
	if (isNaN(parseInt(stripped))) {
	    phoneID.style.borderColor = "red";
		phoneID.style.backgroundColor = "pink";
	    return false;
	} 
	if (!(stripped.length == 10)){
	    phoneID.style.borderColor = "red";
		phoneID.style.backgroundColor = "pink";
	    return false;
	}
	else {
        phoneID.style.borderColor = "#abadb3";
		phoneID.style.backgroundColor = "#ffffff";
    	return true;
    }
}

function validateEmail(theID) {
	var emailID = document.getElementById(theID);
    var emailFilter=/^.+@.+\..{2,3}$/;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
    if (emailID.value==null||emailID.value==""){
        emailID.style.borderColor = "red";
		emailID.style.backgroundColor = "pink";
        return false;
    }
    if (!(emailFilter.test(emailID.value))) { 
	    emailID.style.borderColor = "red";
		emailID.style.backgroundColor = "pink";
	    return false;
    } 
	if (emailID.value.match(illegalChars)) {
	    emailID.style.borderColor = "red";
		emailID.style.backgroundColor = "pink";
	    return false;
	} else {
        emailID.style.borderColor = "#abadb3";
		emailID.style.backgroundColor = "#ffffff";
        return true;
    }
}
  

