MWF.xDesktop.requireApp("process.Xform","$Input",null,false);MWF.xApplication.process.Xform.Checkbox=MWF.APPCheckbox=new Class({Implements:[Events],Extends:MWF.APP$Input,loadDescription:function(){},_loadNode:function(){if(this.readonly){this._loadNodeRead()}else{this._loadNodeEdit()}},_loadNodeRead:function(){this.node.empty();var radioValues=this.getOptions();var value=this.getValue();if(value){var texts=[];radioValues.each(function(item){var tmps=item.split("|");var t=tmps[0];var v=tmps[1]||t;if(value.indexOf(v)!=-1){texts.push(t)}});this.node.set("text",texts.join(", "))}},_loadNodeEdit:function(){var div=new Element("div");div.set(this.json.properties);div.inject(this.node,"after");this.node.destroy();this.node=div;this.node.set({id:this.json.id,MWFType:this.json.type,styles:{display:"inline"}});this.setOptions()},_loadEvents:function(){Object.each(this.json.events,function(e,key){if(e.code){if(this.options.moduleEvents.indexOf(key)!=-1){this.addEvent(key,function(event){return this.form.Macro.fire(e.code,this,event)}.bind(this))}else{}}}.bind(this))},resetOption:function(){this.node.empty();this.setOptions()},getOptions:function(){if(this.json.itemType=="values"){return this.json.itemValues}else{return this.form.Macro.exec(this.json.itemScript.code,this)}},setOptions:function(){var radioValues=this.getOptions();if(!radioValues)radioValues=[];var flag=(new MWF.widget.UUID).toString();radioValues.each(function(item){var tmps=item.split("|");var text=tmps[0];var value=tmps[1]||text;var radio=new Element("input",{type:"checkbox",name:flag+this.json.id,value:value,showText:text,styles:this.json.buttonStyles}).inject(this.node);radio.appendText(text,"after");radio.addEvent("click",function(){this.validationMode();if(this.validation())this._setBusinessData(this.getInputData("change"))}.bind(this));Object.each(this.json.events,function(e,key){if(e.code){if(this.options.moduleEvents.indexOf(key)!=-1){}else{radio.addEvent(key,function(event){return this.form.Macro.fire(e.code,this,event)}.bind(this))}}}.bind(this))}.bind(this))},_setValue:function(value){this._setBusinessData(value);var radios=this.node.getElements("input");for(var i=0;i