$(document).ready(function() {

    function Left(str, n) {
        if (n <= 0)
            return "";
        else if (n > String(str).length)
            return str;
        else
            return String(str).substring(0, n);
    }

    var $footerPrefix = '';
    var $fnmID = $('#smsFooter .smsAreaCode').attr("id");
    if ($fnmID != undefined) {
        $footerPrefix = Left($fnmID, $fnmID.length - 11);
    }
    if ($('#printConfirmBlock').length != 0) {
        var $homePrefix = '';
        var $hnmID = $('.homepage_bucket_btm .smsButton').attr("id");
        $homePrefix = Left($hnmID, $hnmID.length - 12);
        $('#' + $homePrefix + 'ImageButton1').click(function() {
            var rc = CheckBucketEmailAndSMS($(this));
            //alert(rc);
            return rc;
        });

    }

    $('#srshBuckets_EMailControlBuckets_ImageButton1').click(function() {
        var rc = CheckBucketEmailAndSMS($(this));
        //alert(rc);
        return rc;
    });


    $('#ctl00_ContentPlaceHolder1_EMailControl_ImageButton1').click(function() {
        return CheckSideEmailAndSMS($(this));
    });

    $('#' + $footerPrefix + 'ImageButton2').click(function() {
        return checkFooterSMS($(this));
    });

    $('#' + $footerPrefix + 'ImageButton1').click(function() {
        return checkFooterEmail($(this));
    });

    function isNumber(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }
    var errorTextClass = "TextFieldError";
    var errorChkBxClass = "ChkBxFieldError";

    function checkFooterEmail(e) {
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var em = $('#emailFooter input[type=text]');
        em.removeClass(errorTextClass);
        if (filter.test(em.val())) {
            return true;
        } else {
            em.addClass(errorTextClass);
            return false;
        }

    }
    function checkFooterSMS(e) {
        var btn = $('#' + e.id);
        var par = btn.parent();
        var acod;
        var prfx;
        var sufx;
        var div = $('#smsFooter');
        var els = div.children('input').each(function(i) {
            switch (i) {
                case 0:
                    acod = $(this);
                    break;
                case 1:
                    prfx = $(this);
                    break;
                case 2:
                    sufx = $(this);
                    break;
            }
        });
        var chbx = $('#smsFooter input[type=checkbox]');
        var chbxLbl = chbx.next('label');
        var num = acod.val() + '' + prfx.val() + '' + sufx.val();
        acod.removeClass(errorTextClass);
        prfx.removeClass(errorTextClass);
        sufx.removeClass(errorTextClass);
        chbxLbl.removeClass(errorChkBxClass);

        var returnVal = true;

        if (acod.val().length != 3 || !isNumber(acod.val())) {
            acod.addClass(errorTextClass);
            returnVal = false;
        }

        if (prfx.val().length != 3 || !isNumber(prfx.val())) {
            prfx.addClass(errorTextClass);
            returnVal = false;
        }

        if (sufx.val().length != 4 || !isNumber(sufx.val())) {
            sufx.addClass(errorTextClass);
            returnVal = false;
        }
        if (!chbx.attr('checked')) {
            $('#footer_rates_label').addClass(errorChkBxClass);
            returnVal = false;
            //console.log("chbx.attr('checked') = " + chbx.attr('checked'));
        }
        return returnVal;

    }

    function CheckBucketEmailAndSMS(e) {

        var em;
        var acod;
        var prfx;
        var sufx;
        var div = $('.homepage_bucket_form');
        var els = div.children('input').each(function(i) {
            switch (i) {
                case 0:
                    em = $(this);
                    break;
                case 1:
                    acod = $(this);
                    break;
                case 2:
                    prfx = $(this);
                    break;
                case 3:
                    sufx = $(this);
                    break;
            }
        });
        var chbx = $('#rates_label input[type=checkbox]');
        var chbxLbl = chbx.next('label');
        //console.log(em);
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        /*
        console.log("em.val() = " + em.val());
        console.log("acod.val() = " + acod.val());
        console.log("prfx.val() = " + prfx.val());
        console.log("sufx.val() = " + sufx.val());
        console.log("chbx.attr('checked') = " + chbx.attr('checked'));
        */
        var EmailEmpty = !(em.val().length > 0);
        var SMSEmpty = !(acod.val().length > 0 || prfx.val().length > 0 || sufx.val().length > 0);
        var EmailValid = true;
        var SMSValid = true;


        em.removeClass(errorTextClass);
        acod.removeClass(errorTextClass);
        prfx.removeClass(errorTextClass);
        sufx.removeClass(errorTextClass);
        chbxLbl.removeClass(errorChkBxClass);

        if (SMSEmpty && EmailEmpty) return false;


        if (!SMSEmpty) {

            if (acod.val().length != 3 && !isNumber(acod.val())) {
                acod.addClass(errorTextClass);
                SMSValid = false;
            }


            if (prfx.val().length != 3 && !isNumber(prfx.val())) {
                prfx.addClass(errorTextClass);
                SMSValid = false;
            }

            if (sufx.val().length != 4 && !isNumber(sufx.val())) {
                sufx.addClass(errorTextClass);
                SMSValid = false;
            }

            if (!chbx.attr('checked')) {
                chbxLbl.addClass(errorChkBxClass);
                SMSValid = false;
            }
        }

        if (!EmailEmpty) {
            EmailValid = filter.test(em.val());
            em.addClass(errorTextClass);
        }

        if (!EmailValid || !SMSValid) {
            //	console.log("return = false");
            return false;
        } else {
            //console.log("return = true");
            return true;
        }


    }


    function CheckSideEmailAndSMS(e) {
        var em;
        var acod;
        var prfx;
        var sufx;
        var div = $('.rhs_form');
        var els = div.children('input').each(function(i) {
            switch (i) {
                case 0:
                    em = $(this);
                    break;
                case 1:
                    acod = $(this);
                    break;
                case 2:
                    prfx = $(this);
                    break;
                case 3:
                    sufx = $(this);
                    break;
            }
        });
        var chbx = $('.rhs_check input[type=checkbox]');
        var chbxLbl = chbx.next('label');
        //console.log("checkbox = " + chbx);
        //console.log(em);
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        /*
        console.log("em.val() = " + em.val());
        console.log("acod.val() = " + acod.val());
        console.log("prfx.val() = " + prfx.val());
        console.log("sufx.val() = " + sufx.val());
        console.log("chbx.attr('checked') = " + chbx.attr('checked'));
        */
        var EmailEmpty = !(em.val().length > 0);
        var SMSEmpty = !(acod.val().length > 0 || prfx.val().length > 0 || sufx.val().length > 0);
        var EmailValid = true;
        var SMSValid = true;


        em.removeClass(errorTextClass);
        acod.removeClass(errorTextClass);
        prfx.removeClass(errorTextClass);
        sufx.removeClass(errorTextClass);
        chbxLbl.removeClass(errorChkBxClass);

        if (SMSEmpty && EmailEmpty) {
            em.addClass(errorTextClass);
            acod.addClass(errorTextClass);
            prfx.addClass(errorTextClass);
            sufx.addClass(errorTextClass);
            if (!chbx.attr('checked')) {
                chbxLbl.addClass(errorChkBxClass);
            }
            return false;

        }

        if (!SMSEmpty) {

            if (acod.val().length != 3 && !isNumber(acod.val())) {
                acod.addClass(errorTextClass);
                SMSValid = false;
            }


            if (prfx.val().length != 3 && !isNumber(prfx.val())) {
                prfx.addClass(errorTextClass);
                SMSValid = false;
            }

            if (sufx.val().length != 4 && !isNumber(sufx.val())) {
                sufx.addClass(errorTextClass);
                SMSValid = false;
            }

            if (!chbx.attr('checked')) {
                chbxLbl.addClass(errorChkBxClass);
                SMSValid = false;
            }
        }

        if (!EmailEmpty) {
            EmailValid = filter.test(em.val());
            if (!EmailValid) {
                em.addClass(errorTextClass);
            }

        }

        if (!EmailValid || !SMSValid) {

            return false;
        } else {
            //console.log("return = true");
            em.removeClass(errorTextClass);
            acod.removeClass(errorTextClass);
            prfx.removeClass(errorTextClass);
            sufx.removeClass(errorTextClass);
            chbxLbl.removeClass(errorChkBxClass);
            return true;
        }

    }
});
