	
	/**
	* jquery.checkbox.css
	* @author  	   Business/Development: Adam Lee & Yaakov Albietz
	* @credit   	3rd Party Development: Seth Benjamin
	* @copyright   Copyright Eject Core 2009-2010. All rights reserved.
	* @license 	   end-user license agreements (EULAs)
	* @package     Filter Search Pro
	* @version 	   v1.7 Final
	*
	*/

(function($) {
    var i = function(e) {
        if (!e) var e = window.event;
        e.cancelBubble = true;
        //if (e.stopPropagation) e.stopPropagation();
    };
    $.fn.checkbox = function(f) {
        try {
            document.execCommand('BackgroundImageCache', false, true)
        } catch(e) {}
        var g = {
            cls: 'jquery-checkbox',
            empty: 'empty.png'
        };
        g = $.extend(g, f || {});
        var h = function(a) {
            var b = a.checked;
            var c = a.disabled;
            var d = $(a);
            if (a.stateInterval) clearInterval(a.stateInterval);
            a.stateInterval = setInterval(function() {
                if (a.disabled != c) d.trigger((c = !!a.disabled) ? 'disable': 'enable');
                if (a.checked != b) d.trigger((b = !!a.checked) ? 'check': 'uncheck')
            },
            10);
            return d
        };
        return this.each(function() {
            var a = this;
            var b = h(a);
            if (a.wrapper) a.wrapper.remove();
            a.wrapper = $('<span class="' + g.cls + '"><span class="mark"><img src="' + g.empty + '" /></span></span>');
            a.wrapperInner = a.wrapper.children('span:eq(0)');
            a.wrapper.hover(function(e) {
                a.wrapperInner.addClass(g.cls + '-hover');
                i(e)
            },
            function(e) {
                a.wrapperInner.removeClass(g.cls + '-hover');
                i(e)
            });
            b.css({
                position: 'absolute',
                zIndex: -1,
                visibility: 'hidden'
            }).after(a.wrapper);
            var c = false;
            if (b.attr('id')) {
                c = $('label[for=' + b.attr('id') + ']');
                if (!c.length) c = false
            }
            if (!c) {
                c = b.closest ? b.closest('label') : b.parents('label:eq(0)');
                if (!c.length) c = false
            }
            if (c) {
                c.hover(function(e) {
                    a.wrapper.trigger('mouseover', [e])
                },
                function(e) {
                    a.wrapper.trigger('mouseout', [e])
                });
                c.click(function(e) {
                    b.trigger('click', [e]);
                    i(e);
                    //return false
                })
            }
            a.wrapper.click(function(e) {
                b.trigger('click', [e]);
                i(e);
                //return false
            });
            b.click(function(e) {
                i(e)
            });
            b.bind('disable',
            function() {
                a.wrapperInner.addClass(g.cls + '-disabled')
            }).bind('enable',
            function() {
                a.wrapperInner.removeClass(g.cls + '-disabled')
            });
            b.bind('check',
            function() {
                a.wrapper.addClass(g.cls + '-checked')
            }).bind('uncheck',
            function() {
                a.wrapper.removeClass(g.cls + '-checked')
            });
            $('img', a.wrapper).bind('dragstart',
            function() {
                //return false
            }).bind('mousedown',
            function() {
                //return false
            });
            if (window.getSelection) a.wrapper.css('MozUserSelect', 'none');
            if (a.checked) a.wrapper.addClass(g.cls + '-checked');
            if (a.disabled) a.wrapperInner.addClass(g.cls + '-disabled')
        })
    }
})(jQuery);
