/********
 * Validate the 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 solid #f99898'; } else { f.first_name.style.border=''; }
	if (!isValidEmail(f.email.value)) {errorMessage += "Enter a Valid Email Address\n"; errorFound = 1;  f.email.style.border='1px solid #f99898'; } else { f.email.style.border=''; }
  if (f.comment.value.length == 0) {errorMessage += "Enter Your Comment\n"; errorFound = 1;  f.comment.style.border='1px solid #f99898'; } else { f.last_name.style.border=''; }
  
	if (errorFound == 1) {
    	//document.location.href="#parent";
        alert(errorMessage);
        return false;
    } else {
        return true;
    }
}

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 solid #f99898'; } else { f.first_name.style.border=''; }
	if (!isValidEmail(f.email.value)) {errorMessage += "Enter a Valid Email Address\n"; errorFound = 1;  f.email.style.border='1px solid #f99898'; } 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 solid #f99898'; } else { f.phone.style.backgroundColor=''; }
  if (f.company.value.length == 0) {errorMessage += "Enter Your Company\n"; errorFound = 1;  f.company.style.border='1px solid #f99898'; } else { f.company.style.border=''; }
	if (f.url.value.length == 0) {errorMessage += "Enter Your URL\n"; errorFound = 1;  f.url.style.border='1px solid #f99898'; } else { f.url.style.border=''; }
	if (f.address.value.length == 0) {errorMessage += "Enter Your Address\n"; errorFound = 1;  f.address.style.border='1px solid #f99898'; } else { f.address.style.border=''; }
	if (f.country.value.length == 0) {errorMessage += "Enter Your Country\n"; errorFound = 1;  f.country.style.border='1px solid #f99898'; } 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 solid #f99898'; } else { f.stateorprovince.style.border=''; }
	if (f.zipcode.value.length == 0) {errorMessage += "Enter Your Zip Code\n"; errorFound = 1;  f.zipcode.style.border='1px solid #f99898'; } 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 solid #f99898'; } else { f.typeofproject.style.border=''; }
	if (f.projectsize.value.length == 0) {errorMessage += "Enter the Project Size\n"; errorFound = 1;  f.projectsize.style.border='1px solid #f99898'; } else { f.projectsize.style.border=''; }
	if (f.timeframe.value.length == 0) {errorMessage += "Enter the Time Frame\n"; errorFound = 1;  f.timeframe.style.border='1px solid #f99898'; } else { f.timeframe.style.border=''; }
	if (f.budget.value.length == 0) {errorMessage += "Enter Your Budget\n"; errorFound = 1;  f.budget.style.border='1px solid #f99898'; } else { f.budget.style.border=''; }
	if (f.hosting.value.length == 0) {errorMessage += "Enter Your Hosting Needs\n"; errorFound = 1;  f.hosting.style.border='1px solid #f99898'; } else { f.hosting.style.border=''; }
	if (f.maintenance.value.length == 0) {errorMessage += "Enter Your Maintenance Needs\n"; errorFound = 1;  f.maintenance.style.border='1px solid #f99898'; } else { f.maintenance.style.border=''; }
  
	if (errorFound == 1) {
    	//document.location.href="#parent";
        alert(errorMessage);
        return false;
    } else {
        return true;
    }
}

/********
 * Validate phone number for international countries
********/
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);
}

/********
 * 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;
   }
}