//*********************************************************************************
// Validate fields
//*********************************************************************************

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');

    if (fld.value == "") {
        error = "You didn't enter a phone number.\n";
        fld.style.background = '#FFFF99';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        fld.style.background = '#FFFF99';
    } else {
        fld.style.background = '#FFFFFF';
    }
    return error;
}

function trim(s) {
    return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error = "";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
    var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;

    if (fld.value == "") {
        fld.style.background = '#FFFF99';
        error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = '#FFFF99';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#FFFF99';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = '#FFFFFF';
    }
    return error;
}

function validateEmpty(fld) {
    var error = "";

    if (fld.value.length == 0) {
        fld.style.background = '#FFFF99';
        error = "The required field has not been filled in.\n"
    } else {
        fld.style.background = '#FFFFFF';
    }
    return error;
}

function validateRadio(fld) {
    var error = "";
    var myOption = -1;
    for (i = fld.length - 1; i > -1; i--) {
        if (fld[i].checked) {
            myOption = i; i = -1;
        }
    }
    if (myOption == -1) {
        for (i = fld.length - 1; i > -1; i--) {
            fld[i].style.background = '#FFFF99';
        }
        error = "The required field has not been filled in.\n"
    } else {
        for (i = fld.length - 1; i > -1; i--) {
            fld[i].style.background = '#FFFFFF';
        }
    }
    return error;
}

function validateHospice() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtPostcode."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateHome() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    //reason += validateEmpty(frm["N-sltPreferredCM"]);
    //reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);    
 
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPremium."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateLab() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPractise."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtPremium."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPostcode."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateLocum() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPractise."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtPremium."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPostcode."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateMotor() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullName."]);
    reason += validateEmail(frm["N-Email address."]);
    reason += validatePhone(frm["N-txtPreferredCT"]);
    reason += validateEmpty(frm["N-Contact day"]);
    reason += validateEmpty(frm["N-How did you hear about us"]);
    //reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPostcode."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtPhoneNo."]);
    reason += validateRadio(frm["N-over25"]);
    reason += validateEmpty(frm["N-Current Insurer."]);
    reason += validateEmpty(frm["N-Occupation."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validatePractise() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPractise."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtPremium."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPostcode."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validatePro() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-profession"]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtRenewal."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateSurgery() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPractise."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtPremium."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPostcode."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

function validateSchedule() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-txtFullname."]);
    reason += validateEmail(frm["N-txtEMail."]);
    reason += validatePhone(frm["N-txtTelNo."]);
    reason += validateEmpty(frm["N-sltPreferredCM"]);
    reason += validateEmpty(frm["N-ddHearAboutUs"]);
    reason += validateRadio(frm["N-towergate"]);

    reason += validateEmpty(frm["N-txtPractise."]);
    reason += validateEmpty(frm["N-Address."]);
    reason += validateEmpty(frm["N-txtCurrentProv."]);
    reason += validateEmpty(frm["N-txtRenewal."]);
    reason += validateEmpty(frm["N-txtPostcode."]);


    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp;&nbsp; * Please complete all mandatory fields";
        return false;
    }
    return true;
}

