﻿function CheckTelephone(sender, args) {
    var ControlValidatorName = sender.id;
    var iPhonenum = args.Value;
    var regpatt = new RegExp("^[0]");
    var regpatt2 = new RegExp("[0][123587][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$|[0][8][0][0][0-9][0-9][0-9][0-9][0-9][0-9]$");
    var regpattconsec0 = new RegExp("[0]{8}");
    var regpattconsec1 = new RegExp("[1]{8}");
    var regpattconsec2 = new RegExp("[2]{8}");
    var regpattconsec3 = new RegExp("[3]{8}");
    var regpattconsec4 = new RegExp("[4]{8}");
    var regpattconsec5 = new RegExp("[5]{8}");
    var regpattconsec6 = new RegExp("[6]{8}");
    var regpattconsec7 = new RegExp("[7]{8}");
    var regpattconsec8 = new RegExp("[8]{8}");
    var regpattconsec9 = new RegExp("[9]{8}");

    var regpattseq1 = new RegExp("[0][1][2][3][4][5][6][7]");
    var regpattseq2 = new RegExp("[1][2][3][4][5][6][7][8]");
    var regpattseq3 = new RegExp("[2][3][4][5][6][7][8][9]");
    
    iPhonenum = iPhonenum.replace(/ /gi, "");
    iPhonenum = iPhonenum.replace(/-/gi, "");
    
    if (iPhonenum.match(regpatt)) 
    {
        if (iPhonenum.match(regpatt2)) {

            if (iPhonenum.match(regpattconsec0) || iPhonenum.match(regpattconsec1) || iPhonenum.match(regpattconsec2) || iPhonenum.match(regpattconsec3) || iPhonenum.match(regpattconsec4) || iPhonenum.match(regpattconsec5) || iPhonenum.match(regpattconsec6) || iPhonenum.match(regpattconsec7) || iPhonenum.match(regpattconsec8) || iPhonenum.match(regpattconsec9)) {
                document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
                args.IsValid = false;
                return; 
            }
            else {
                if (iPhonenum.match(regpattseq1) || iPhonenum.match(regpattseq2) || iPhonenum.match(regpattseq3)) {
                    document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
                    args.IsValid = false;
                    return; 
                }
                else {
                    document.getElementById(ControlValidatorName).innerHTML = "";
                    args.IsValid = true;
                    return;
                }                            
            }
        }
        else {            
            document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
            args.IsValid = false;
            return;         
        }        
    }
    else {        
        document.getElementById(ControlValidatorName).innerHTML = "Invalid Number (Start with 0)";
        args.IsValid = false;
        return;
    }
}

function CheckMobileTelephone(sender, args) {
    var ControlValidatorName = sender.id;
    var iPhonenum = args.Value;
    var regpatt = new RegExp("^[0]");
    var regpatt2 = new RegExp("[0][7][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$");
    
    var regpattconsec0 = new RegExp("[0]{8}");
    var regpattconsec1 = new RegExp("[1]{8}");
    var regpattconsec2 = new RegExp("[2]{8}");
    var regpattconsec3 = new RegExp("[3]{8}");
    var regpattconsec4 = new RegExp("[4]{8}");
    var regpattconsec5 = new RegExp("[5]{8}");
    var regpattconsec6 = new RegExp("[6]{8}");
    var regpattconsec7 = new RegExp("[7]{8}");
    var regpattconsec8 = new RegExp("[8]{8}");
    var regpattconsec9 = new RegExp("[9]{8}");

    var regpattseq1 = new RegExp("[0][1][2][3][4][5][6][7]");
    var regpattseq2 = new RegExp("[1][2][3][4][5][6][7][8]");
    var regpattseq3 = new RegExp("[2][3][4][5][6][7][8][9]");
    
    iPhonenum = iPhonenum.replace(/ /gi, "");
    iPhonenum = iPhonenum.replace(/-/gi, "");

    if (iPhonenum.match(regpatt)) {
        if (iPhonenum.match(regpatt2)) {
            if (iPhonenum.match(regpattconsec0) || iPhonenum.match(regpattconsec1) || iPhonenum.match(regpattconsec2) || iPhonenum.match(regpattconsec3) || iPhonenum.match(regpattconsec4) || iPhonenum.match(regpattconsec5) || iPhonenum.match(regpattconsec6) || iPhonenum.match(regpattconsec7) || iPhonenum.match(regpattconsec8) || iPhonenum.match(regpattconsec9)) {
                document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
                args.IsValid = false;
                return;
            }
            else {
                if (iPhonenum.match(regpattseq1) || iPhonenum.match(regpattseq2) || iPhonenum.match(regpattseq3)) {
                    document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
                    args.IsValid = false;
                    return;
                }
                else {
                    document.getElementById(ControlValidatorName).innerHTML = "";
                    args.IsValid = true;
                    return;
                }
            }            
        }
        else {
            document.getElementById(ControlValidatorName).innerHTML = "Invalid Number";
            args.IsValid = false;
            return;
        }
    }
    else {
        document.getElementById(ControlValidatorName).innerHTML = "Invalid Number (Start with 0)";
        args.IsValid = false;
        return;
    }
}

function CheckOptInEmailAddress(sender, args) {
    var ControlValidatorName = sender.id;
    var ControlValidator = document.getElementById(ControlValidatorName);
    var CheckBoxToValidate = document.getElementById('chkThirdPartyOptIn');
    var EmailAddressTextBoxToValidate = document.getElementById('txtOptInEmailAddress');

    if (EmailAddressTextBoxToValidate.value == '') {
        if (CheckBoxToValidate.checked == true) {
            ControlValidator.innerHTML = "Required";
            args.IsValid = false;
            return;
        }
        else {
            ControlValidator.innerHTML = "";
            args.IsValid = true;
            return;
        }
    }
    else {
        ControlValidator.innerHTML = "";
        args.IsValid = true;
        return;
    }
}

function CheckThirdPartyOptInCheckBox(sender, args) {
    var ControlValidatorName = sender.id;
    var ControlValidator = document.getElementById(ControlValidatorName);
    var CheckBoxToValidate = document.getElementById('chkThirdPartyOptIn');
    var EmailAddressTextBoxToValidate = document.getElementById('txtOptInEmailAddress');

    if (CheckBoxToValidate.checked == false) {
        if (EmailAddressTextBoxToValidate.value != '') {
            ControlValidator.innerHTML = "Please tick to continue";
            args.IsValid = false;
            return;
        }
        else {
            ControlValidator.innerHTML = "";
            args.IsValid = true;
            return;
        }
    }
    else {
        ControlValidator.innerHTML = "";
        args.IsValid = true;
        return;
    }
}

function CheckOptInEmailAddressConfirm(sender, args) {
    var ControlValidatorName = sender.id;
    var ControlValidator = document.getElementById(ControlValidatorName);    
    var EmailAddressTextBoxToValidate = document.getElementById('txtOptInEmailAddress');
    var EmailAddressConfirmTextBoxToValidate = document.getElementById('txtOptInEmailAddressConfirm');

    if (EmailAddressTextBoxToValidate.value == EmailAddressConfirmTextBoxToValidate.value) {
        ControlValidator.innerHTML = "";
        args.IsValid = true;
        return;
    }
    else {
        ControlValidator.innerHTML = "<br>Emails do not match";
        args.IsValid = false;
        return;
    }
}

function SingleSubmit(source) {
    Page_ClientValidate();
    if (Page_IsValid) {
        source.disabled = true;
        __doPostBack(source.name, '');
    }
    return Page_IsValid;
}

function CheckTermsConditionsCheckBox(sender, args) {
    var ControlValidatorName = sender.id;
    var ControlValidator = document.getElementById(ControlValidatorName);
    var CheckBoxToValidate = document.getElementById('chkTerms');

    if (CheckBoxToValidate.checked == false) {
        ControlValidator.innerHTML = "*";
        args.IsValid = false;
        return;
    }
    else {
        ControlValidator.innerHTML = "";
        args.IsValid = true;
        return;
    }
}
