function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}


function checkForm(myForm) {

    var ddl_state_province = document.getElementById("state_province");
    var ddl_country = document.getElementById("country");
    var zipPostalCode = document.reg_form.zip_postal.value;
    var postal_code_us = /^\d{5}$/;
    //var postal_code_ca = /^([a-z]\d){3}$/i;   // no space
    var postal_code_ca = /^[a-zA-Z]\d[a-zA-Z]\s{0,1}\d[a-zA-Z]\d$/; // 1 space or none in between
    var repeat_phone = /0{7,}|1{7,}|2{7,}|3{7,}|4{7,}|5{7,}|6{7,}|7{7,}|8{7,}|9{7,}/;
    var minlength_phone = document.reg_form.phone_no_1.value.length + document.reg_form.phone_no_2.value.length + document.reg_form.phone_no_3.value.length;
    var phone_number = document.reg_form.phone_no_1.value + document.reg_form.phone_no_2.value + document.reg_form.phone_no_3.value;
    var phone_only = document.reg_form.phone_no_2.value + document.reg_form.phone_no_3.value;
    var is_numeric = /^(?:(?:[+\-]?\$?)|(?:\$?[+\-]?))?(?:(?:\d{1,3}(?:(?:,\d{3})|(?:\d))*(?:\.(?:\d*|\d+[eE][+\-]\d+))?)|(?:\.\d+(?:[eE][+\-]\d+)?))$/;

    if (trim(document.reg_form.f_name.value) == "") {
        alert("Your first name is required.")
        document.reg_form.f_name.focus();
        return false;
    }
    if (trim(document.reg_form.l_name.value) == "") {
        alert("Your last name is required.")
        document.reg_form.l_name.focus();
        return false;
    }
    if (trim(document.reg_form.address.value) == "") {
        alert("Your street address is required. ")
        document.reg_form.address.focus()
        return false;
    }
    if (trim(document.reg_form.city.value) == "") {
        alert("Your city is required. ")
        document.reg_form.city.focus();
        return false;
    }
    if (document.reg_form.state.selectedIndex == 0) {
        alert("Your state/province is required.");
        document.reg_form.state.focus();
        return false;
    }
    if ((zipPostalCode == "") || (!postal_code_us.test(zipPostalCode) && !postal_code_ca.test(zipPostalCode))) {
        alert("Your zip/postal code is required.")
        document.reg_form.zip_postal.focus();
        return false;
    }

    if (zipPostalCode == "00000" || zipPostalCode == "11111" || zipPostalCode == "33333" || zipPostalCode == "66666" || zipPostalCode == "77777" || zipPostalCode == "88888" || zipPostalCode == "99999") {
        alert("Your zip/postal code is required.")
        document.reg_form.zip_postal.focus();
        return false;
    }
    
    if (document.reg_form.country.selectedIndex == 0) {
        alert("Your country is required.");
        document.reg_form.country.focus();
        return false;
    }
    if (document.reg_form.phone_no_1.value == "" || document.reg_form.phone_no_2.value == "" || document.reg_form.phone_no_3.value == "") {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    else if ((!is_numeric.test(document.reg_form.phone_no_1.value)) || (!is_numeric.test(document.reg_form.phone_no_2.value)) || (!is_numeric.test(document.reg_form.phone_no_3.value))) {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    else if ((phone_only == "5551212") || (phone_only == "5552112") || (phone_only == "5551122")) {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }

    else if (minlength_phone < 10) {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    else if (document.reg_form.phone_no_2.value.substring(0, 1) == "0") {
        alert("Your phone number is required.")
        document.reg_form.phone_no_2.focus();
        return false;
    }
    else if (repeat_phone.test(phone_number)) {
        alert("Your phone number is required.")
        document.reg_form.phone_no_2.focus();
        return false;
    }
    else if (document.reg_form.phone_no_1.value.substring(0, 1) == "0") {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    else if (document.reg_form.phone_no_1.value.substring(0, 3) == "0") {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    else if ((phone_number.indexOf('11111') >= 0) || (phone_number.indexOf('22222') >= 0) ||
	        (phone_number.indexOf('33333') >= 0) || (phone_number.indexOf('44444') >= 0) || (phone_number.indexOf('55555') >= 0) ||
	        (phone_number.indexOf('66666') >= 0) || (phone_number.indexOf('77777') >= 0) || (phone_number.indexOf('88888') >= 0) ||
	        (phone_number.indexOf('99999') >= 0) || (phone_number.indexOf('00000') >= 0) || (phone_number.indexOf('12345') >= 0) ||
	        (phone_number.indexOf('23456') >= 0) || (phone_number.indexOf('34567') >= 0) || (phone_number.indexOf('45678') >= 0) ||
	        (phone_number.indexOf('56789') >= 0) || (phone_number.indexOf('98765') >= 0) || (phone_number.indexOf('87654') >= 0) ||
	        (phone_number.indexOf('76543') >= 0) || (phone_number.indexOf('65432') >= 0) || (phone_number.indexOf('54321') >= 0)) {
        alert("Your phone number is required.")
        document.reg_form.phone_no_1.focus();
        return false;
    }
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.reg_form.email.value) != true) {
        alert("Your email address is required.")
        document.reg_form.email.focus();
        return false;
    }


    return true;
}

