var requiredMsg = null;
var errors = false;

function fnValidateMe(){
	// Make quick references to our fields
	var company = document.getElementById('company');
    var mailbox = document.getElementById("00N60000001chJK"); 
	var firstname = document.getElementById('first_name');
	var lastname = document.getElementById('last_name');
	var email = document.getElementById('email');
	var phone = document.getElementById('phone');

        requiredMsg = "The following fields are required: \n\n";
	
	// Check each input in the order that it appears in the form!
        errors = false;
	validateValue(company, "Company name * ", "Company Name");
	validateSelection(mailbox.options.selectedIndex, "Mailboxes to protect");
	validateValue(firstname, "First name * ", "First Name");
	validateValue(lastname, "Last name * ", "Last Name");
	validateValue(email, "Work email * ", "Work Email");
	validateValue(phone, "Phone * ","Phone Number");
	validateEmail(email, "Work email * ", "Valid email address");
	validatePhone(phone, "Phone * ","Valid phone number");
        requiredMsg += "\nPlease correct and try again."

        if (errors) {
	   alert(requiredMsg);
           return false; 
        } else { 
           return true; 
        }

           
}


function validateValue(elem, defaultText, helperMsg){
	if(elem.value.length == 0 || elem.value == defaultText){
           requiredMsg += "   " + helperMsg + "\n";
           errors = true;
	}
}

function validateSelection(elem, helperMsg){
	if(elem == 0){
           requiredMsg += "   " + helperMsg + "\n";
           errors = true;
	}
}

function validatePhone(elem, defaultText, helperMsg){
	var phoneExp = /^[0-9\.\-\*\+]+$/;
	if(elem.value != defaultText && !elem.value.match(phoneExp)){
           requiredMsg += "   " + helperMsg + "\n";
           errors = true;
	}
}

function validateEmail(elem, defaultText, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value != defaultText && !elem.value.match(emailExp)){
           requiredMsg += "   " + helperMsg + "\n";
           errors = true;
	}
}


function clearDefault(thisfield, defaulttext) {
         if (thisfield.value == defaulttext) {
            thisfield.value = "";
         }
}

