
!0 && Sys.Application.notifyScriptLoaded(), (function($)
{
    function getRegionOrCulture(region)
    {
        var regionInfo = $.formatCurrency.regions[region],
            culture;
        if(regionInfo)
            return regionInfo;
        else if(/(\w+)-(\w+)/g.test(region))
            return culture = region.replace(/(\w+)-(\w+)/g,"$1"), $.formatCurrency.regions[culture];
        return null
    }
    function validateParseType(parseType)
    {
        switch(parseType.toLowerCase())
        {
            case"int":
                return"Int";
            case"float":
                return"Float";
            default:
                throw"invalid parseType";
        }
    }
    $.formatCurrency = {}, $.formatCurrency.regions = [], $.formatCurrency.regions[""] = {
        symbol:"$",
        positiveFormat:"%s%n",
        negativeFormat:"(%s%n)",
        decimalSymbol:".",
        digitGroupSymbol:",",
        groupDigits:!0
    }, $.fn.formatCurrency = function(destination,settings)
    {
        arguments.length == 1 && typeof destination != "string" && (settings = destination, destination = !1);
        var defaults = {
                name:"formatCurrency",
                colorize:!1,
                region:"",
                global:!0
            };
        return defaults = $.extend(defaults,$.formatCurrency.regions[""]), settings = $.extend(defaults,settings), settings.region.length > 0 && (settings = $.extend(settings,getRegionOrCulture(settings.region))), this.each(function()
        {
            var num,
                trimRegex,
                isPositive,
                cents,
                i,
                format,
                money;
            $this = $(this), num = "0", num = $this[$this.is("input, select, textarea") ? "val" : "html"](), trimRegex = new RegExp("[^\\d" + settings.decimalSymbol + "-]","g"), num = num.replace(trimRegex,""), settings.decimalSymbol != "." && (num = num.replace(settings.decimalSymbol,".")), isNaN(num) && (num = "0"), isPositive = num == (num = Math.abs(num)), num = Math.floor(num * 100), cents = num % 100, num = Math.floor(num / 100).toString(), cents < 10 && (cents = "0" + cents);
            if(settings.groupDigits)
                for(i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
                    num = num.substring(0,num.length - (4 * i + 3)) + settings.digitGroupSymbol + num.substring(num.length - (4 * i + 3));
            num = num + settings.decimalSymbol + cents, format = isPositive ? settings.positiveFormat : settings.negativeFormat, money = format.replace(/%s/g,settings.symbol), money = money.replace(/%n/g,num), destination = destination ? $(destination) : $this, destination[destination.is("input, select, textarea") ? "val" : "html"](money), settings.colorize && destination.css("color",isPositive ? "black" : "red")
        })
    }, $.fn.toNumber = function(settings)
    {
        var defaults = $.extend({
                name:"toNumber",
                region:"",
                global:!0
            },$.formatCurrency.regions[""]);
        return settings = jQuery.extend(defaults,settings), settings.region.length > 0 && (settings = $.extend(settings,getRegionOrCulture(settings.region))), this.each(function()
        {
            var method = $(this).is("input, select, textarea") ? "val" : "html",
                trimRegex = new RegExp("[^\\d" + settings.decimalSymbol + "-]","g");
            $(this)[method]($(this)[method]().replace(trimRegex,""))
        })
    }, $.fn.asNumber = function(settings)
    {
        var defaults = $.extend({
                name:"asNumber",
                region:"",
                parse:!0,
                parseType:"Float",
                global:!0
            },$.formatCurrency.regions[""]);
        settings = jQuery.extend(defaults,settings), settings.region.length > 0 && (settings = $.extend(settings,getRegionOrCulture(settings.region))), settings.parseType = validateParseType(settings.parseType);
        var method = $(this).is("input, select, textarea") ? "val" : "html",
            trimRegex = new RegExp("[^\\d" + settings.decimalSymbol + "-]","g"),
            num = $(this)[method]().replace(trimRegex,"");
        return settings.parse ? (num.length == 0 && (num = "0"), settings.decimalSymbol != "." && (num = num.replace(settings.decimalSymbol,".")), window["parse" + settings.parseType](num)) : num
    }
})(jQuery);
