MWF.xDesktop.requireApp("process.Xform","$Input",null,false);MWF.xApplication.process.Xform.Select=MWF.APPSelect=new Class({Implements:[Events],Extends:MWF.APP$Input,iconStyle:"selectIcon",initialize:function(t,e,s,i){this.node=$(t);this.node.store("module",this);this.json=e;this.form=s;this.field=true},_loadNode:function(){if(this.readonly){this._loadNodeRead()}else{this._loadNodeEdit()}},_loadNodeRead:function(){this.node.empty();var t=this.getOptions();var n=this.getValue();debugger;if(n){var o=[];t.each(function(t){var e=t.split("|");var s=e[0];var i=e[1]||s;if(i){if(n.indexOf(i)!=-1){o.push(s)}}});this.node.set("text",o.join(", "))}},_loadEvents:function(){Object.each(this.json.events,function(e,t){if(e.code){if(this.options.moduleEvents.indexOf(t)!=-1){this.addEvent(t,function(t){return this.form.Macro.fire(e.code,this,t)}.bind(this))}else{this.node.addEvent(t,function(t){return this.form.Macro.fire(e.code,this,t)}.bind(this))}}}.bind(this))},_loadStyles:function(){if(this.areaNode){if(this.json.styles)if(this.areaNode)this.areaNode.setStyles(this.json.styles);if(this.json.inputStyles)this.node.setStyles(this.json.inputStyles)}else{if(this.json.styles)this.node.setStyles(this.json.styles)}},_loadNodeEdit:function(){this.node.empty();var t=new Element("select");t.set(this.json.properties);t.inject(this.node);this.areaNode=this.node;this.node=t;this.node.set({id:this.json.id,MWFType:this.json.type,styles:{"margin-right":"12px"}});this.setOptions();this.node.addEvent("change",function(){this.validationMode();if(this.validation())this._setBusinessData(this.getInputData("change"))}.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)}return[]},setOptions:function(){var t=this.getOptions();if(!t)t=[];t.each(function(t){var e=t.split("|");var s=e[0];var i=e[1]||s;var n=new Element("option",{value:i,text:s}).inject(this.node)}.bind(this))},addOption:function(t,e){var s=new Element("option",{value:e||t,text:t}).inject(this.node)},_setValue:function(t){if(!this.readonly){this._setBusinessData(t);for(var e=0;e