/*  Validate Forms with Inline Error Message displays*/
function checkForm(n) {
first_name = document.getElementById("first_name").value;
last_name = document.getElementById("last_name").value;
title = document.getElementById("title").value;
company = document.getElementById("company").value;
email = document.getElementById("email").value;
phone = document.getElementById("phone").value;
street = document.getElementById("street").value;
city = document.getElementById("city").value;
zip = document.getElementById("zip").value;  
country = document.getElementById("country").value;
state = document.getElementById("state").value;
industry = document.getElementById("industry").value;
interest = document.getElementById("interest").value;
message = document.getElementById("message").value;
var appemail = document.forms[n].email.value;


if (first_name == "") {
hideAllErrors();
document.getElementById("first_nameError").style.display="inline";
document.getElementById("first_name").select();
document.getElementById("first_name").focus();
return false;

} else if (last_name == "") {
hideAllErrors();
document.getElementById("last_nameError").style.display="inline";
document.getElementById("last_name").select();
document.getElementById("last_name").focus();
return false;

} else if (title == "") {
hideAllErrors();
document.getElementById("titleError").style.display="inline";
document.getElementById("title").select();
document.getElementById("title").focus();
return false;

} else if (company == "") {
hideAllErrors();
document.getElementById("companyError").style.display="inline";
document.getElementById("company").select();
document.getElementById("company").focus();
return false;
} 


 if (email == "") {
hideAllErrors();
document.getElementById("emailError").style.display="inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false;

} else if (appemail.indexOf("@") < 0 || appemail.indexOf(".") < 0)
{
hideAllErrors();
document.getElementById("emailincorrectError").style.display="inline";
document.getElementById("email").select();
document.getElementById("email").focus();
return false; 

} 

// 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 = 7;
var phonenumber = document.forms[n].phone.value;

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 checkPhoneNumber(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}


if ((phonenumber == "") || (phonenumber==null))
{
hideAllErrors();
document.getElementById("phoneError").style.display="inline";
document.getElementById("phone").select();
document.getElementById("phone").focus();
return false;

} 

else if (checkPhoneNumber(phonenumber)==false){
hideAllErrors();
document.getElementById("phoneincorrectError").style.display="inline";
document.getElementById("phone").select();
document.getElementById("phone").focus();
return false;

} else if (street == "") {
hideAllErrors();
document.getElementById("streetError").style.display="inline";
document.getElementById("street").select();
document.getElementById("street").focus();
return false;

} else if (city == "") {
hideAllErrors();
document.getElementById("cityError").style.display="inline";
document.getElementById("city").select();
document.getElementById("city").focus();
return false;

} else if (zip == "") {
hideAllErrors();
document.getElementById("zipError").style.display="inline";
document.getElementById("zip").select();
document.getElementById("zip").focus();
return false;

} else if (country == "") {
hideAllErrors();
document.getElementById("countryError").style.display="inline";
document.getElementById("country").focus();
return false;

} else if ((document.forms[n].country == "US")&&(document.forms[n].state == "empty")) {
hideAllErrors();
document.getElementById("stateError").style.display="inline";
document.getElementById("state").focus();
return false;

} else if ((document.forms[n].country == "CA")&&(document.forms[n].state == "empty")) {
hideAllErrors();
document.getElementById("statecanadaError").style.display="inline";
document.getElementById("state").focus();
return false;

} else if (industry == "") {
hideAllErrors();
document.getElementById("industryError").style.display="inline";
document.getElementById("industry").focus();
return false; 
}
 
function hideAllErrors() {
document.getElementById("first_nameError").style.display = "none";
document.getElementById("last_nameError").style.display = "none";
document.getElementById("titleError").style.display = "none";
document.getElementById("companyError").style.display = "none";
document.getElementById("emailError").style.display = "none";
document.getElementById("emailincorrectError").style.display = "none";
document.getElementById("phoneError").style.display = "none";
document.getElementById("phoneincorrectError").style.display = "none";
document.getElementById("streetError").style.display = "none";
document.getElementById("cityError").style.display = "none";
document.getElementById("zipError").style.display = "none";
document.getElementById("countryError").style.display = "none";
document.getElementById("stateError").style.display = "none";
document.getElementById("industryError").style.display = "none";
}

document.forms[n].submit();

return true;
}