MWF.require("MWF.widget.Common",null,false);MWF.require("MWF.widget.JsonTemplate",null,false);MWF.xApplication.process.StatDesigner.Property=MWF.FVProperty=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",path:"/x_component_process_FormDesigner/property/property.html"},initialize:function(t,e,i,n){this.setOptions(n);this.module=t;this.view=t.view;this.data=t.json;this.htmlPath=this.options.path;this.designer=i;this.propertyNode=e},load:function(){if(this.fireEvent("queryLoad")){MWF.getRequestText(this.htmlPath,function(t,e){this.htmlString=t;this.fireEvent("postLoad")}.bind(this))}this.propertyNode.addEvent("keydown",function(t){t.stopPropagation()})},editProperty:function(t){},getHtmlString:function(t){if(!this.htmlString){MWF.getRequestText(this.htmlPath,function(e,i){this.htmlString=e;if(t)t()}.bind(this))}else{if(t)t()}},show:function(){if(!this.propertyContent){this.getHtmlString(function(){if(this.htmlString){this.JsonTemplate=new MWF.widget.JsonTemplate(this.data,this.htmlString);this.propertyContent=new Element("div",{styles:{overflow:"hidden"}}).inject(this.propertyNode);this.propertyContent.set("html",this.JsonTemplate.load());this.setEditNodeEvent();this.setEditNodeStyles(this.propertyContent);this.loadPropertyTab();this.loadPersonInput();this.loadPersonSelectInput();this.loadViewSelect();this.loadScriptArea();this.loadJSONArea();this.module.changeViewSelected()}}.bind(this))}else{this.propertyContent.setStyle("display","block")}},hide:function(){if(this.propertyContent)this.propertyContent.setStyle("display","none")},loadJSONArea:function(){var t=this.propertyContent.getElement(".MWFJSONArea");if(t){this.propertyTab.pages.each(function(e){if(e.contentNode==t.parentElement){e.setOptions({onShow:function(){t.empty();MWF.require("MWF.widget.JsonParse",function(){this.json=new MWF.widget.JsonParse(this.module.json,t,null);this.json.load()}.bind(this))}.bind(this)})}}.bind(this))}},loadPropertyTab:function(){var t=this.propertyContent.getElements(".MWFTab");if(t.length){var e=this.propertyContent.getFirst();var i=new Element("div",{styles:this.view.css.propertyTabNode}).inject(e,"before");MWF.require("MWF.widget.Tab",function(){var e=new MWF.widget.Tab(i,{style:"formPropertyList"});e.load();var n=[];t.each(function(t){var i=e.addTab(t,t.get("title"),false);n.push(i);this.setScrollBar(i.contentNodeArea,"small",null,null)}.bind(this));n[0].showTab();this.propertyTab=e;this.designer.resizeNode()}.bind(this),false)}},setEditNodeEvent:function(){var t=this;var e=this.propertyContent.getElements("input");e.each(function(e){var i=e.get("name");if(i&&i.substr(0,1)!="_"){if(this.module){var n=this.module.json.id;e.set("name",n+i)}if(i){var s=e.get("type").toLowerCase();switch(s){case"radio":e.addEvent("change",function(e){t.setRadioValue(i,this)});e.addEvent("keydown",function(t){t.stopPropagation()});t.setRadioValue(i,e);break;case"checkbox":e.addEvent("change",function(e){t.setCheckboxValue(i,this)});e.addEvent("click",function(e){t.setCheckboxValue(i,this)});e.addEvent("keydown",function(t){t.stopPropagation()});break;default:e.addEvent("change",function(e){t.setValue(i,this.value,this)});e.addEvent("blur",function(e){t.setValue(i,this.value,this)});e.addEvent("keydown",function(e){if(e.code==13){t.setValue(i,this.value,this)}e.stopPropagation()});if(e.hasClass("editTableInputDate")){this.loadCalendar(e)}}}}}.bind(this));var i=this.propertyContent.getElements("select");i.each(function(e){var i=e.get("name");if(i){e.addEvent("change",function(e){t.setSelectValue(i,this)})}});var n=this.propertyContent.getElements("textarea");n.each(function(e){var i=e.get("name");if(i){e.addEvent("change",function(e){t.setValue(i,this.value)});e.addEvent("blur",function(e){t.setValue(i,this.value)});e.addEvent("keydown",function(t){t.stopPropagation()})}}.bind(this))},loadCalendar:function(t){MWF.require("MWF.widget.Calendar",function(){this.calendar=new MWF.widget.Calendar(t,{style:"xform",isTime:false,target:this.module.designer.content,format:"%Y-%m-%d",onComplate:function(){}.bind(this)})}.bind(this))},changeStyle:function(t){this.module.setPropertiesOrStyles(t)},changeData:function(t,e,i){this.module._setEditStyle(t,e,i)},changeJsonDate:function(t,e){if(typeOf(t)!="array")t=[t];var i=this.data;var n=t.length-1;t.each(function(t,e){if(!i[t])i[t]={};if(e