
// validate the sign up / update signup (Employment form)
function validateSignUpForm(form, mode, rcbOrganization, rcbSupervisor) 
{
    var resultForm = ValidateForm(form, mode);

    var resultSupervisor = validateSupervisor(rcbSupervisor);

    var resultOrganization = validateOrganization(rcbOrganization);
    
    var validateLicense = ValidateLicenseNumber();

    return resultForm && resultSupervisor && resultOrganization && validateLicense;
}


    // validate the orgainzaition selection
function validateOrganization(rcbOrganization) 
{
    var org_sel = true;
    var orgname = document.getElementById(rcbOrganization + "_Input");

    if (orgname != null && !orgname.disabled) {

        var errormsg = document.getElementById("errRcbOrganization");

        if (orgname.value == '' || orgname.value == '--- PLEASE TYPE YOUR ORGANIZATION ---' || orgname.value == 'Organization not found. Please type again') 
        {
            errormsg.style.color = 'red';
            errormsg.style.fontSize = '11px';
            errormsg.style.fontFamily = 'arial';

            if (errormsg.style.display != "block") 
            {
                errormsg.innerHTML += "<br/>";
            }

            errormsg.style.display = "block";
            org_sel = false;
            if (focusControl) {
                if (focusControl.sourceIndex > orgname.sourceIndex) {
                    orgname.focus();
                }
            }
            else {
                orgname.focus();
            }              
        }
        else 
        {
            errormsg.style.display = "none";
        }
    }
    return org_sel;
}
    
     
     // validate the supervisor selection
function validateSupervisor(rcbSupervisor) 
{
    var sup_sel = true;
    var supname = document.getElementById(rcbSupervisor + "_Input");

    if (supname != null && !supname.disabled) 
    {
        var errormsg = document.getElementById("errRcbSupervisor");

        if (supname.value == '' || supname.value == '--- PLEASE ENTER SUPERVISOR LAST NAME ---' || supname.value == 'Supervisor not found. Please type again') 
        {
            errormsg.style.color = 'red';
            errormsg.style.fontSize = '11px';
            errormsg.style.fontFamily = 'arial';

            if (errormsg.style.display != "block") 
            {
                errormsg.innerHTML += "<br/>";
            }
            errormsg.style.display = "block";
            sup_sel = false;
            if (focusControl) {
                if (focusControl.sourceIndex > supname.sourceIndex) {
                    supname.focus();
                }
            }
            else {
                supname.focus();
            }            
        } else 
        {
            errormsg.style.display = "none";
        }
    }
    return sup_sel;
}
    
    
// check wheather any radiobutton is selected in given roleType table
function checkRole()
{
    var roleType = document.getElementById('roleType');
    var inputTags = roleType.getElementsByTagName("input");
    var tagsLength = inputTags.length;

    for (var i = 0; i < tagsLength; i++) 
    {
        if (inputTags[i].checked) 
        {
            return true;
        }
    }
    alert('Please Select Your Role!');
    return false;
}

function ValidateSignInForm(frm, mode, errorControl) 
{
    if (errorControl != undefined)
    {
        errorControl.style.visibility = "hidden";
        errorControl.innerHTML = '';
    }

    memberId = document.getElementById(GetClientId("txtMemberId")).value;
    password = document.getElementById(GetClientId("txtPassword")).value;
    result = true;

    // check user name
    if (memberId == '') 
    {
        errorControl.innerHTML = 'Please enter User ID';
        result = false;
    }
    else if (!checkAlphanumeric(memberId)) 
    {
        errorControl.innerHTML = "<br/>Please enter valid User ID";
        result = false;
    }

    // check password
    if (password == '') 
    {
        errorControl.innerHTML += '<br/>Please enter Password';
        result = false;
    }
    else if (!checkAlphanumeric(password)) 
    {
        errorControl.innerHTML += '<br/>Please enter valid password';
        result = false;
    }

    if (!result) 
    {
        if (errorControl != undefined) 
        {
            errorControl.style.visibility = 'visible';
            window.location = '#topLock';
        }
    }
    return result;
}


function clearLicenseNumber(txt) {
    if (txt.value.trim() == "License#")
        txt.value = "";
}

function ShowLicenseNumber(cbMember) {
    var txtLicenseNumber = document.getElementById((cbMember.id).replace(/cbLicenseType/gi, "txtLicenseNumber"));

    if (cbMember.checked) {
        txtLicenseNumber.style.display = "block";

        if (txtLicenseNumber.value == "") {
            txtLicenseNumber.value = "License#";
        }
    }
    else if (!cbMember.checked) {
        txtLicenseNumber.style.display = "none";
    }
}

function ValidateLicenseNumber() {
    var gvLicenseTypeBehaviour = document.getElementById(GetClientId("gvLicenseTypeBehaviour"));
    var gvLicenseTypeHealing = document.getElementById(GetClientId("gvLicenseTypeHealing"));
    var gvLicenseTypeNursing = document.getElementById(GetClientId("gvLicenseTypeNursing"));
    var txtLicenseTypeOther = document.getElementById(GetClientId("txtLicenseTypeOther"));
    var errLicenseTypeOther = document.getElementById(GetClientId("errLicenseTypeOther")); 
    var txtLicenseNumberOther = document.getElementById(GetClientId("txtLicenseNumberOther"));
    var licenseTypeError = document.getElementById("licenseTypeError");
    var result = false;
    var index = 2;
    var cbType = null;

    if (gvLicenseTypeBehaviour) {
        for (index; index <= gvLicenseTypeBehaviour.rows.length; index++) {
            cbType = document.getElementById(gvLicenseTypeBehaviour.id + "_ctl" + Math.floor(index / 10) + Math.floor(index % 10) + "_cbLicenseType");
            if (cbType.checked) result = true;
        }
    }

    if (gvLicenseTypeHealing) {
        index = 2;
        for (index; index <= gvLicenseTypeHealing.rows.length; index++) {
            cbType = document.getElementById(gvLicenseTypeHealing.id + "_ctl" + Math.floor(index / 10) + Math.floor(index % 10) + "_cbLicenseType");
            if (cbType.checked) result = true;
        }
    }

    if (gvLicenseTypeNursing) {
        index = 2;
        for (index; index <= gvLicenseTypeNursing.rows.length; index++) {
            cbType = document.getElementById(gvLicenseTypeNursing.id + "_ctl" + Math.floor(index / 10) + Math.floor(index % 10) + "_cbLicenseType");
            if (cbType.checked) result = true;
        }
    }
   
    if (txtLicenseTypeOther && txtLicenseNumberOther) {
        if (!result && txtLicenseTypeOther.value.trim() == "") {
            errLicenseTypeOther.innerHTML = "Please select a license type below or type in as Other License";
            if (focusControl) {
                if (focusControl.sourceIndex > licenseTypeError.sourceIndex) {
                    document.location.href = "#licenseTypeError";
                }
            }
            else {
                document.location.href = "#licenseTypeError";
            }
            result = false;
        }
        else if (result && txtLicenseTypeOther.value.trim() == ""){
            if (txtLicenseNumberOther.value.trim() == "License#") {
                errLicenseTypeOther.innerHTML = "";
                result = true;
            }
            else if (txtLicenseNumberOther.value.trim() == "") {
                errLicenseTypeOther.innerHTML = "";
                result = true;
            }
            else {
                if (focusControl) {
                    if (focusControl.sourceIndex > licenseTypeError.sourceIndex) {
                        document.location.href = "#licenseTypeError";
                    }
                }
                else {
                    document.location.href = "#licenseTypeError";
                }
                errLicenseTypeOther.innerHTML = "Please select a license type below or type in as Other License";
                document.location.href = "#licenseTypeError";
                result = false;            
            }
        }
        else {
            errLicenseTypeOther.innerHTML = "";
            result = true;
        }
    }
    else {
        result = true;
    }

    return result;
}