function isavalidemail(inputValue) {

    var foundAt = false
    var foundDot = false
	
    for (var i=0; i<=inputValue.length; i++) {
      if (inputValue.charAt(i) == "@" ) {
          foundAt = true
      }
      else if (inputValue.charAt(i) == ".") {
          foundDot = true
      }
    }
	
    if (foundAt && foundDot) {
        return true
    }
    else {
        return false
    }
}

function exists(inputValue) {

    var aCharExists = false

    for (var i=0; i<=inputValue.length; i++) {
      if (inputValue.charAt(i) != " " && inputValue.charAt(i) != "") {
          aCharExists = true
          break
      }
    }

    return aCharExists
}

function isavalidphonenumber(inputValue) {
	
    var stripped = inputValue.replace(/[\(\)\.\-\ ]/g, '');
//strip out acceptable non-numeric characters
if (isNaN(parseInt(stripped))) {
   return false;
}

if (!(stripped.length == 10 || (stripped.length == 11 && stripped[0] == '1'))) {
	return false;
}
return true;
}

function validateform(){
	
	var fname = exists(document.ctbrakes_orderform.first_name.value);
	var lname = exists(document.ctbrakes_orderform.last_name.value);
	var email = exists(document.ctbrakes_orderform.email.value);
	var vemail = exists(document.ctbrakes_orderform.email2.value);
	var phone = exists(document.ctbrakes_orderform.phone1.value);
	var vphone = exists(document.ctbrakes_orderform.phone2.value);
	var makevar = exists(document.ctbrakes_orderform.make.value);
	var modelvar = exists(document.ctbrakes_orderform.model.value);
	var yearvar = exists(document.ctbrakes_orderform.year.value);
	var enginevar = exists(document.ctbrakes_orderform.engine.value);
	var mileagevar = exists(document.ctbrakes_orderform.mileage.value);
	
	var sameemails = false;
	var samephones = false;
	if(document.ctbrakes_orderform.phone1.value == document.ctbrakes_orderform.phone2.value) samephones = true;
	if(email && email2 && document.ctbrakes_orderform.email.value == document.ctbrakes_orderform.email2.value) sameemails = true;	
	
	var validemail = false;
	var validphone = false;
	
	if(!phone && !vphone) validphone = true;
	else if(samephones) validphone = isavalidphonenumber(document.ctbrakes_orderform.phone1.value);
	if(sameemails) validemail = isavalidemail(document.ctbrakes_orderform.email.value);
	
	var usevar = false;
	var changepadsvar = false;
	var drivetrainvar = false;
	var padsneededvar = false;
	if(document.ctbrakes_orderform.use.value != "select") usevar = true;
	if(document.ctbrakes_orderform.change_pads.value != "select") changepadsvar = true;
	if(document.ctbrakes_orderform.drivetrain.value != "select") drivetrainvar = true;
	if(document.ctbrakes_orderform.pads_needed.value != "select") padsneededvar = true;
	
	if(fname && lname && validemail && validphone && makevar && modelvar && yearvar && enginevar && mileagevar && usevar && changepadsvar && drivetrainvar && padsneededvar) return true;
	
	var badfirstname = "-No first name.\n";
	var badlastname = "-No last name.\n";
	var noemail = "-No email address.\n";
	var novemail = "-Email not verified.\n";
	var invalidemail = "-Invalid Email. Please enter a valid email address.\n";
	var nophone = "-No telephone number.\n";
	var novphone = "-Telephone number not verified.\n";
	var phonenomatch = "-Telephone numbers do not match.  They must be EXACTLY the same.\n";
	var invalidphone = "-Telephone invalid. Please make sure that your telephone number has only 10 or 11 digits - no more, no less. Any combination of parentheses, dashes, or spaces may be used. Also, if you entered an 11 digit telephone number make sure it begins with \"1\".\n";
	var emailnomatch = "-Emails do not match.\n";
	var nouse = "-Use not specified.\n";
	var nochangepads = "-Not specified if you're willing to change pads for track events.\n";
	var nomake = "-Vehicle make not specified.\n";
	var nomodel = "-Vehicle model not specified.\n";
	var noyear = "-Vehicle year not specified.\n";
	var noengine = "-Vehicle engine not specified.\n";
	var nomileage = "-Vehicle mileage not specified.\n";
	var nodrivetrain = "-Drivetrain not selected.\n";
	var nopadsneeded = "-Pads needed not selected.\n";
	var alertline = "The following problems were encountered with your submission:\n\n";
	
	if(!usevar) alertline += nouse;
	if(!changepadsvar) alertline += nochangepads;
	if(!makevar) alertline += nomake;
	if(!modelvar) alertline += nomodel;
	if(!yearvar) alertline += noyear;
	if(!enginevar) alertline += noengine;
	if(!mileagevar) alertline += nomileage;
	if(!drivetrainvar) alertline += nodrivetrain;
	if(!padsneededvar) alertline += nopadsneeded;
	if(!fname) alertline += badfirstname;
	if(!lname) alertline += badlastname;
	if(!email) alertline += noemail;
	else if(!vemail) alertline += novemail;
 	else if(!sameemails) alertline += emailnomatch;
	else if(!validemail) alertline += invalidemail;
	if(!phone && vphone) alertline += nophone;
	else if(!vphone && phone) alertline += novphone;
	else if(!samephones) alertline += phonenomatch;
	else if(!validphone && phone && vphone) alertline += invalidphone;
	alertline += "\n Please make corrections and submit again. Thank you.";

	alert(alertline);
	
	return false;
	
}