// Get URL Parameter
function param(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null) {
        return "";
    }
    else {
        return unescape(results[1]);
    }
}

//*********************************************************************************
// 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 validateForm() {
    var reason = "";
    var frm = null;
    frm = document.forms[0];

    frm["N-URL."].value = param("parentUrl").toString();

    document.getElementById("validate").innerHTML = "";

    reason += validateEmpty(frm["N-FULL NAME."]);
    reason += validateEmail(frm["N-EMAIL."]);
    reason += validatePhone(frm["N-PHONE."]);

    if (reason != "") {
        document.getElementById("validate").innerHTML = "&nbsp* Please complete all mandatory fields";
        return false;
    }
    return true;
}

function SetParam() {
    var frm = null;
    frm = document.forms[0];
    frm["N-URL."].value = param("parentUrl").toString();
}
