var ProtoCheck=Class.create();ProtoCheck.prototype={initialize:function(a){this.options={checkClass:"pc_checkbox",radioClass:"pc_radiobutton",checkOnClass:"pc_check_checked",checkOffClass:"pc_check_unchecked",radioOnClass:"pc_radio_checked",radioOffClass:"pc_radio_unchecked",checkOnDisabledClass:"pc_check_checked_disabled",checkOffDisabledClass:"pc_check_unchecked_disabled",radioOnDisabledClass:"pc_radio_checked_disabled",radioOffDisabledClass:"pc_radio_unchecked_disabled",focusClass:"pc_focus"};Object.extend(this.options,a||{});this.classez=[];this.disClassez=[];this.classez.checkbox={on:this.options.checkOnClass,off:this.options.checkOffClass};this.disClassez.checkbox={on:this.options.checkOnDisabledClass,off:this.options.checkOffDisabledClass};this.classez.radio={on:this.options.radioOnClass,off:this.options.radioOffClass};this.disClassez.radio={on:this.options.radioOnDisabledClass,off:this.options.radioOffDisabledClass};var b=$$("label."+this.options.checkClass).concat($$("label."+this.options.radioClass));b.each(function(c){var d=c.down();d.setStyle({position:"absolute",left:"-9999px"});if(d.checked){this.check(d,c)}else{this.uncheck(d,c)}if(!d.disabled){d.observe("click",function(e){this.click(e)}.bind(this));d.observe("focus",function(e){this.focus(e)}.bind(this));d.observe("blur",function(e){this.blur(e)}.bind(this));if(this.fixIE){c.observe("click",function(e){this.clickIE6(e)}.bind(this))}}}.bind(this))},fixIE:(function(b){var a=new RegExp("MSIE ([\\d.]+)").exec(b);return a?(parseFloat(a[1])<=6):false})(navigator.userAgent),check:function(c,a){var b=c.disabled?this.disClassez[c.type]:this.classez[c.type];a.addClassName(b.on).removeClassName(b.off)},uncheck:function(c,a){var b=c.disabled?this.disClassez[c.type]:this.classez[c.type];a.addClassName(b.off).removeClassName(b.on)},focus:function(b){var a=Event.element(b).up();a.addClassName(this.options.focusClass)},blur:function(b){var a=Event.element(b).up();a.removeClassName(this.options.focusClass)},click:function(c){var b=Event.element(c);var a=b.up();this.update(c,b,a)},clickIE6:function(c){var a=Event.element(c);if(a.nodeName=="LABEL"){var b=a.down();b.click()}},update:function(c,b,a){if(a.hasClassName(this.options.checkClass)){if(b.checked){this.check(b,a)}else{this.uncheck(b,a)}}if(a.hasClassName(this.options.radioClass)){$$("input[name="+b.name+"]").each(function(d){if(b!=d){this.uncheck(d,d.up())}}.bind(this));this.check(b,a)}b.focus()}};