/* Validate the contact form */
function contactvalidate() {
	var errorMessage = "Please complete the following information:\n\n";
	var errorFound = 0;
	var f = document.contactform;

	if (f.name.value.length == 0) { errorMessage += "Enter Your Name\n"; errorFound = 1; f.name.style.border='1px dotted #fd5529'; } else { f.name.style.border=''; }
	if (!isValidEmail(f.email.value)) { errorMessage += "Enter a Valid Email Address\n"; errorFound = 1; f.email.style.border='1px dotted #fd5529'; } else { f.email.style.border=''; }
	if (f.msg.value == 0) { errorMessage += "Enter Your Message\n"; errorFound = 1; f.msg.style.border='1px dotted #fd5529'; } else { f.msg.style.border='';}

	if (errorFound == 1) {
		alert(errorMessage);
		return false;
	} else {
		return true;
	}
}

/* Validate the RFP form */
function rfpvalidate() {
	var errorMessage = "Please complete the following information:\n\n";
	var errorFound = 0;
	var f = document.rfpform;

	if (f.name.value.length == 0) {errorMessage += "Enter Your Name\n"; errorFound = 1;  f.name.style.border='1px dotted #fd5529'; } else { f.name.style.border=''; }
	if (!isValidEmail(f.email.value)) {errorMessage += "Enter a Valid Email Address\n"; errorFound = 1;  f.email.style.border='1px dotted #fd5529'; } else { f.email.style.border=''; }
	if (!isValidPhoneNumber(f.phone.value, 10)) {errorMessage += "Enter a Valid Phone Number\n"; errorFound = 1;  f.phone.style.border='1px dotted #fd5529'; } else { f.phone.style.backgroundColor=''; }
	if (f.company.value.length == 0) {errorMessage += "Enter Your Company\n"; errorFound = 1;  f.company.style.border='1px dotted #fd5529'; } else { f.company.style.border=''; }
	if (f.address.value.length == 0) {errorMessage += "Enter Your Address\n"; errorFound = 1;  f.address.style.border='1px dotted #fd5529'; } else { f.address.style.border=''; }
	if (f.country.value.length == 0) {errorMessage += "Enter Your Country\n"; errorFound = 1;  f.country.style.border='1px dotted #fd5529'; } else { f.country.style.border=''; }
	if (f.stateorprovince.value.length == 0) {errorMessage += "Enter Your State or Province\n"; errorFound = 1;  f.stateorprovince.style.border='1px dotted #fd5529'; } else { f.stateorprovince.style.border=''; }
	if (f.zipcode.value.length == 0) {errorMessage += "Enter Your Zip Code\n"; errorFound = 1;  f.zipcode.style.border='1px dotted #fd5529'; } else { f.zipcode.style.border=''; }
	if (f.typeofproject.value.length == 0) {errorMessage += "Enter the Type Of Project\n"; errorFound = 1;  f.typeofproject.style.border='1px dotted #fd5529'; } else { f.typeofproject.style.border=''; }
	if (f.projectsize.value.length == 0) {errorMessage += "Enter the Project Size\n"; errorFound = 1;  f.projectsize.style.border='1px dotted #fd5529'; } else { f.projectsize.style.border=''; }
	if (f.timeframe.value.length == 0) {errorMessage += "Enter the Time Frame\n"; errorFound = 1;  f.timeframe.style.border='1px dotted #fd5529'; } else { f.timeframe.style.border=''; }
	if (f.budget.value.length == 0) {errorMessage += "Enter Your Budget\n"; errorFound = 1;  f.budget.style.border='1px dotted #fd5529'; } else { f.budget.style.border=''; }
	if (f.maintenance.value.length == 0) {errorMessage += "Enter Your Maintenance Needs\n"; errorFound = 1;  f.maintenance.style.border='1px dotted #fd5529'; } else { f.maintenance.style.border=''; }

	if (errorFound == 1) {
		alert(errorMessage);
		return false;
	} else {
		return true;
	}
}

/* Verify that an email addres is valid */
function isValidEmail(emailad) {
   var exclude=/[^@\-\.\+\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
   var check=/@[\w\-]+\./;
   var checkend=/\.[a-zA-Z]{2,4}$/;
   if(((emailad.search(exclude) != -1) ||
       (emailad.search(check)) == -1) ||
       (emailad.search(checkend) == -1)){
      return false;
   } else {
      return true;
   }
}

/* Verify that a phone number is valid */
function isValidPhoneNumber(num, requiredDigits) {
    var digits = 0;
    if (num == null) return false;
    for( i=0; i<num.length; i++ ){
        var c = num.charCodeAt(i);
        //convert the i-th character to ascii code value
        if( (c>=48) && (c<=57) ) digits++;
    }
    return (digits >= requiredDigits);
}