﻿$j(function () {
    $j('.inputsel').customStyle();

    /* Form Elements */
    $j("input.inputtxt, input.inputrad, textarea.inputarea, select.inputsel").live('focus', (function () {
        $j(this).parents('.inputbox').addClass("focus");
    })).live('blur', (function () {
        $j(this).parents('.inputbox').removeClass("focus");
        formValidation.validateField($j(this));
    }));

    $j(".inputhelp")
    .livequery(function () {
        $j(this).tipTip({
            defaultPosition: 'right',
            enter: function () {
                $j('.tooltip').find('span.tooltiparrow').remove();
            }
        });
    })
    .live('click', function (e) {
        e.preventDefault();
        return false;
    })
    .live('mouseover', function (e) {
        $j(this).fadeTo('fast', 1.0, function () {
            // Animation complete.
        });
    })
    .live('mouseout', function (e) {
        $j(this).fadeTo('fast', 0.5, function () {
            // Animation complete.
        });
    });
});

var formValidation = {
    validateGroup: function ($container, $group) {
        // container: A div or something containing all the fields
        // group: Name of the ASP.NET Validation Group - if you don't supply any, all groups are validated

        var error = false;
        $j(document).find('.inputerror>span:visible').each(function () {
            $j(this).parents('div:eq(1)').removeClass('inputerrorflag');
        });
        try { Page_ClientValidate($group); } catch (ex) { }

        $container.find('.inputerror>span:visible').each(function () {
            $j(this).parents('div:eq(1)').addClass('inputerrorflag');
            error = true;
        });

        return !error;
    },
    validateField: function ($element) {
        if ($element.parent().nextAll(".inputerror").children("span:visible").size() > 0) {
            $element.parents("div:eq(1)").addClass("inputerrorflag");
        } else {
            $element.parents("div:eq(1)").removeClass("inputerrorflag");
        };
    },

    DisableValidators: function (flag) {
        for (var i = 0; i < Page_Validators.length; i++) {
            Page_Validators[i].enabled = flag;
        }
    },
    EnableVal: function () {
        this.DisableValidators(true);
        Page_ClientValidate();
        if (!Page_IsValid) {
            this.DisableValidators(false);
        }
        return Page_IsValid;
    }
};
