﻿var _hostId = "ctl00_ctl00_ctl00_ctl00_IIRBBody_IIRBZonesBody_IIRBPageBody_pageContentPlaceHolder_";

var labelBackColor;
function validateForm() {
    var requiredFields = "";
    var invalidFields = "";

    var lblFirstName = document.getElementById(_hostId + 'lblFirstName')
    var lblLastName = document.getElementById(_hostId + 'lblLastName')
    var lblEmail = document.getElementById(_hostId + 'lblEmail')
    var lblSubscriptionType = document.getElementById(_hostId + 'lblSubscriptionType')
    
    if (labelBackColor!=null) {
        lblFirstName.style.color = labelBackColor;
        lblLastName.style.color = labelBackColor;
        lblEmail.style.color = labelBackColor;
        lblSubscriptionType.style.color = labelBackColor;
    }
    else{
        labelBackColor = lblFirstName.style.color;
    }
    var txtFirstName = document.getElementById(_hostId + 'txtFirstName')
    var txtLastName = document.getElementById(_hostId + 'txtLastName')
    var txtEmail = document.getElementById(_hostId + 'txtEmail')

    // required fields
    if (txtFirstName.value.trim() == "") {
        requiredFields = requiredFields + "\r\tyour First Name"
        lblFirstName.style.color = "Red";
    }
    if (txtLastName.value.trim() == "") {
        requiredFields = requiredFields + "\r\tyour Last Name"
        lblLastName.style.color = "Red";
    }
    if (txtEmail.value.trim() == "") {
        requiredFields = requiredFields + "\r\tyour Email"
        lblEmail.style.color = "Red";
    }
    else {
        var re = /^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/; //new RegExp("^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
        if (!txtEmail.value.trim().match(re)) {
            invalidFields = invalidFields + "\r\tEmail has unexpected format"
            lblLastName.style.color = "Red";
        }
    }
    if (!hasSubscriptionType()) {
        requiredFields = requiredFields + "\r\tSubscription Type"
        lblSubscriptionType.style.color = "Red";
    }

    if (requiredFields != "" || invalidFields != "") {
        var message = "";
        if (requiredFields != "") {
            message = "The following fields are required:\r" + requiredFields + "\r\r"
        }

        if (invalidFields != "") {
            message = message + "The following fields does not respect the format:\r" + invalidFields + "\r\r"
        }

        alert(message);
        return false;
    }

    return true;
}

function hasSubscriptionType() {
    var chks = document.getElementsByTagName("input");
    for (var i = 0; i < chks.length; i++) {
        if (chks[i].type != "checkbox")
            continue;
            
        if (chks[i].checked)
            return true;
    }

    return false;
}
