﻿function CheckIfValidationIsRequired() 
{
    var validatorIDs = [];

    validatorIDs.push(GetValidatorId('reqContactTitle'));
    validatorIDs.push(GetValidatorId('customContactFirstName'));
    validatorIDs.push(GetValidatorId('customContactSurname'));
    validatorIDs.push(GetValidatorId('regexContactFirstName'));
    validatorIDs.push(GetValidatorId('regexContactPhone'));
    validatorIDs.push(GetValidatorId('regexContactMiddleName'));
    validatorIDs.push(GetValidatorId('regexContactEmail'));
    validatorIDs.push(GetValidatorId('regexContactSurname'));
    
    var cb = document.getElementById(GetClientId('cbAddAltContact'));

    if (cb && typeof (cb) != 'undefined' && cb.checked) 
    {
        EnableContactValidation(validatorIDs);
    }
    else 
    {
        DisableContactValidation(validatorIDs);
    }
}

function EnableContactValidation(validatorIDs) 
{
    for (var i = 0; i < validatorIDs.length; i++) 
    {
        ValidatorEnable(document.getElementById(validatorIDs[i]), true);
    }
}

function DisableContactValidation(validatorIDs) 
{
    for (var i = 0; i < validatorIDs.length; i++) 
    {
        ValidatorEnable(document.getElementById(validatorIDs[i]), false);
    }
}

function GetValidatorId(strid) 
{
    var count = Page_Validators.length;
    var i = 0;
    var elementName;

    for (i = 0; i < count; i++) 
    {
        elementName = Page_Validators[i].id;
        pos = elementName.indexOf(strid);
        if (pos >= 0) break;
    }
    
    return elementName;
}

function GetClientId(strid) 
{
    var count = document.forms[0].length;
    var i = 0;
    var elementName;

    for (i = 0; i < count; i++) 
    {
        elementName = document.forms[0].elements[i].id;
        pos = elementName.indexOf(strid);
        if (pos >= 0) break;
    }
    return elementName;
}

function PrivacyCheckboxStatus(oSrc, args) 
{
    var cbPrivacyStatement = document.getElementById(GetClientId('cbPrivacyStatement'));

    if (cbPrivacyStatement.checked == false) 
    {
        args.IsValid = false;
    }
}

function RulesCheckboxStatus(oSrc, args) 
{
    var cbRulesAndRegs = document.getElementById(GetClientId('cbRulesAndRegs'));

    if (cbRulesAndRegs.checked == false) 
    {
        args.IsValid = false;
    }
}

function customValidator_chkPhoneNumbers(src, args)
{
    var homePhone = document.getElementById(GetClientId('tbHomePhone'));
    var workPhone = document.getElementById(GetClientId('tbWorkPhone'));
    var mobilePhone = document.getElementById(GetClientId('tbMobilePhone'));
    
    if (homePhone.value == '' && workPhone.value == '' && mobilePhone.value == '')
    {
        args.IsValid = false;
    }
}

function customValidator_chkContactFirstName(src, args)
{
    var contactFirstName = document.getElementById(GetClientId('tbContactFirstName'));
    
    if (contactFirstName.value == '')
    {
        args.IsValid = false;
    }
}

function customValidator_chkContactSurname(src, args)
{
    var contactSurname = document.getElementById(GetClientId('tbContactSurname'));
    
    if (contactSurname.value == '')
    {
        args.IsValid = false;
    }
}

function customValidator_chkAddress(src, args)
{
    var address = document.getElementById(GetClientId('tbAddress'));
    
    if (address.value.length > 1000)
    {
        args.IsValid = false;
    }
}

function btnRegister_ClientClick()
{
    CheckIfValidationIsRequired();
}
