(function($){var CB=function(e){if(!e)var e=window.event;e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()};$.fn.checkbox=function(options){try{document.execCommand('BackgroundImageCache',false,true)}catch(e){};var settings={cls:'jquery-checkbox',empty:'empty.png'};settings=$.extend(settings,options||{});var addEvents=function(object){var checked=object.checked,disabled=object.disabled,$object=$(object);if(object.stateInterval)clearInterval(object.stateInterval);object.stateInterval=setInterval(function(){if(object.disabled!=disabled)$object.trigger((disabled=!!object.disabled)?'disable':'enable');if(object.checked!=checked)$object.trigger((checked=!!object.checked)?'check':'uncheck')},10);return $object};return this.each(function(){var ch=this,$ch=addEvents(ch);if(ch.wrapper)ch.wrapper.remove();ch.wrapper=$('<span class="'+settings.cls+'"><span class="mark"><img src="'+settings.empty+'" /></span></span>');ch.wrapperInner=ch.wrapper.children('span:eq(0)');$ch.css({position:'absolute',zIndex:-1,visibility:'hidden'}).after(ch.wrapper);var label=false;if($ch.attr('id')){label=$('label[for='+$ch.attr('id')+']');if(!label.length)label=false};if(!label){label=$ch.closest?$ch.closest('label'):$ch.parents('label:eq(0)');if(!label.length)label=false};if(label){label.hover(function(e){ch.wrapper.trigger('mouseover',[e])},function(e){ch.wrapper.trigger('mouseout',[e])});label.click(function(e){$ch.trigger('click',[e]);CB(e);return false})};ch.wrapper.click(function(e){$ch.trigger('click',[e]);CB(e);return false});$ch.click(function(e){CB(e)});$ch.bind('disable',function(){ch.wrapperInner.addClass(settings.cls+'-disabled')}).bind('enable',function(){ch.wrapperInner.removeClass(settings.cls+'-disabled')});$ch.bind('check',function(){ch.wrapper.addClass(settings.cls+'-checked')}).bind('uncheck',function(){ch.wrapper.removeClass(settings.cls+'-checked')});$('img',ch.wrapper).bind('dragstart',function(){return false}).bind('mousedown',function(){return false});if(window.getSelection)ch.wrapper.css('MozUserSelect','none');if(ch.checked)ch.wrapper.addClass(settings.cls+'-checked');if(ch.disabled)ch.wrapperInner.addClass(settings.cls+'-disabled')})}})(jQuery)