if(XN.FORM){XN.FORM=null}XN.Form=XN.FORM={fillWithJSON:function(form,json){form=$(form);var a="";eval("(a="+json+")");XN.FORM.fillWithArray(form,a)},fillWithArray:function(c,b){c=$(c);for(var d in b){XN.FORM.Element.setValue(d,b[d],c)}},setValue:function(a,b){return XN.FORM.Element.setValue(a,b)},getValue:function(a){return XN.FORM.Element.getValue(a)},serialize:function(b,a){return this.serializeElements(this.getElements(b),a||"string")},serializeElements:function(a,k,h){k=k||"array";if(isUndefined(h)){h=false}var f=[],b,l;for(var g=0,d=a.length;g<d;g++){if(!a[g].disabled&&a[g].name){b=a[g].name;l=h?encodeURIComponent(XN.FORM.Element.getValue(a[g])):XN.FORM.Element.getValue(a[g]);if(l!==null){if(b in f){if(!isArray(f[b])){f[b]=[f[b]]}f[b].push(l)}else{f[b]=l}}}}if(k=="array"){return f}else{if(k=="string"){return XN.ARRAY.toQueryString(f)}else{if(k=="hash"){var e={};for(var c in f){if(!isFunction(f[c])){e[c]=f[c]}}return e}}}},getElements:function(d){d=$(d);var e=[];var c=d.getElementsByTagName("*");
for(var b=0,a=c.length;b<a;b++){if(!isUndefined(XN.FORM.Element.Serializers[c[b].tagName.toLowerCase()])){e.push(c[b])}}return e}};$F=function(c,b){var a=$(c);if(a.tagName.toLowerCase()=="form"){return XN.FORM.serialize(a,b)}else{return XN.FORM.getValue(a)}};XN.FORM.richTextEditor=function(a,b){this.mode=a;this.id=b;this.init()};XN.FORM.richTextEditor.prototype={mode:null,id:null,init:function(){if(this.mode=="advanced"){tinyMCE.init({theme:"advanced",mode:"exact",width:"618",height:"450",elements:this.id,language:"zh_cn",plugins:"safari,emotions,media",theme_advanced_buttons1:"bold,italic,underline,|,forecolor,backcolor,emotions,|,image,media,changeMode",theme_advanced_buttons2:"fontselect,fontsizeselect,removeformat,justifyleft,justifycenter,bullist,numlist,link,unlink",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_path:false,theme_advanced_statusbar_location:"bottom",theme_advanced_resizing:true,theme_advanced_resize_horizontal:false,theme_advanced_resizing_use_cookie:1,theme_advanced_more_colors:false,theme_advanced_font_sizes:"3,4,5,6,7",theme_advanced_fonts:"楷体_GB2312=楷体_GB2312;黑体=黑体;隶书=隶书;Times New Roman=Times New Roman;Arial=Arial;",invalid_elements:"applet,base,basefont,bgsound,blink,body,embed,frame,frameset,head,html,ilayer,iframe,link,meta,object,script,style",custom_undo_redo:false})
}else{if(mode=="simple"){tinyMCE.init({})}}},save:function(){tinyMCE.get(this.id).save()},focus:function(){tinyMCE.execCommand("mceFocus",false,this.id)},resizeTo:function(a,b){tinyMCE.get(this.id).theme.resizeTo(a,b)},resizeBy:function(a,b){tinyMCE.get(this.id).theme.resizeBy(a,b)},show:function(){tinyMCE.get(this.id).show()},hide:function(){tinyMCE.get(this.id).hide()}};XN.FORM.inputShadow=null;XN.FORM.inputMethods={maxSize:9000,minSize:30,timer:null,countSize:function(b,a,f){var d=this;b=$(b);a=a||999999;if(isUndefined(f)){f=true}var c=this.element;function e(){b.innerHTML=c.value.length+(f?"/"+((a==999999)?"":a):"")}e();XN.EVENT.addEvent(this.element,"focus",e);XN.EVENT.addEvent(this.element,"keyup",function(){setTimeout(function(){var g=c.value;if(g.length>=a){c.value=g.substr(0,a);XN.Element.addClass(b,"full")}else{XN.Element.delClass(b,"full")}e()},0)},false);return this},setDefaultValue:function(a){var b=this.element;a=a||b.value;if(document.activeElement==this.element){b.value=""
}else{b.value=a}b.style.color="#888";XN.EVENT.addEvent(b,"focus",function(){if(b.value==a){b.value="";b.style.color="#333"}},false);XN.EVENT.addEvent(b,"blur",function(){if(b.value==""){b.value=a;b.style.color="#888"}},false);return this},focus:function(c){var b=this.element;if(b.value.length==0){b.focus();return}if(b.setSelectionRange){b.focus();b.setSelectionRange(b.value.length,b.value.length)}else{if(b.createTextRange){var a=b.createTextRange();a.moveStart("character",b.value.length);a.collapse(true);a.select()}else{b.focus()}}},onEnter:function(c){var a=this.element;var b=a.tagName.toLowerCase()=="textarea";XN.EVENT.addEvent(a,"keydown",function(d){d=d||window.event;if(d.keyCode==13){if(b&&!d.ctrlKey){return false}c(a);return false}},false);return this},onEsc:function(b){var a=this.element;XN.EVENT.addEvent(a,"keydown",function(c){c=c||window.event;if(c.keyCode==27){b(a);return false}},false);return this},_autoResize:function(f,b,a){var e=this,c=this.element;this.minSize=b||this.minSize;
this.maxSize=a||this.maxSize;this.type=f;if(XN.FORM.inputShadow===null){var g=$element("div");g.setStyle("position:absolute;left:-99999px;top:-99999px");document.body.appendChild(g);XN.FORM.inputShadow=g}this.shadow=XN.FORM.inputShadow;setTimeout(function(){if(b){return}e.minSize=f=="width"?c.offsetWidth:c.offsetHeight},10);c.style.overflow="hidden";if(XN.BROWSER.IE){c.style.fontSize="12px";c.style.fontFamily="'lucida grande',tahoma,verdana,arial,simsun,sans-serif"}XN.EVENT.addEvent(c,"focus",function(){e.timer=setInterval(e.resize.bind(e),200)});XN.EVENT.addEvent(c,"blur",function(){clearInterval(e.timer);e.timer=null})},resize:function(d){var c=this.element,a=this.shadow,e,b=this.type;a.style.fontSize=c.getStyle("fontSize");a.style.fontFamily=c.getStyle("fontFamily");(b=="width")?a.style.height=c.offsetHeight:a.style.width=c.offsetWidth;a.innerHTML=XN.STRING.escapeHTML(c.value).replace(/\r\n/mg,"<br>").replace(/\r/mg,"<br>").replace(/\n/mg,"<br>");(b=="width")?e=a.offsetWidth:e=a.offsetHeight+27;
if(e>this.minSize&&e<this.maxSize){c.style[b]=e+"px"}else{if(e<this.minSize){c.style[b]=this.minSize+"px"}else{if(e>this.maxSize){c.style[b]=this.maxSize+"px"}}}}};XN.FORM.inputHelper=function(a){this.element=$(a)};XN.FORM.inputHelper.prototype={autoResize:function(b,a){this._autoResize("width",b,a);return this}};$extend(XN.FORM.inputHelper.prototype,XN.FORM.inputMethods);XN.FORM.textAreaHelper=function(a){this.element=$(a)};XN.FORM.textAreaHelper.prototype={element:null,autoResize:function(b,a){this._autoResize("height",b,a);return this}};$extend(XN.FORM.textAreaHelper.prototype,XN.FORM.inputMethods);XN.FORM.Element={getValue:function(a){a=$(a);var b=a.tagName.toLowerCase();return XN.FORM.Element.Serializers[b](a)},setValue:function(c,e,d){if(d){c=d[c];if((isElement(c)&&c.tagName.toLowerCase()=="select")){XN.FORM.Element.Serializers.select(c,e)}else{if(isElement(c)){XN.FORM.Element.Serializers[c.tagName.toLowerCase()](c,e)}else{if(c[0]){var f=c[0].tagName.toLowerCase();for(var b=0,a=c.length;
b<a;b++){XN.FORM.Element.Serializers[f](c[b],(e[b]||e||""))}}}}}else{c=$(c);var f=c.tagName.toLowerCase();XN.FORM.Element.Serializers[f](c,e);return c}}};XN.FORM.Element.Serializers={input:function(a,b){switch(a.type.toLowerCase()){case"checkbox":case"radio":return XN.FORM.Element.Serializers.inputSelector(a,b);default:return XN.FORM.Element.Serializers.textarea(a,b)}},inputSelector:function(a,b){if(isUndefined(b)){return a.checked?a.value:null}else{a.checked=!!b}},textarea:function(a,b){if(isUndefined(b)){return a.value}else{a.value=b}},select:function(d,a){if(isUndefined(a)){return this[d.type=="select-one"?"selectOne":"selectMany"](d)}else{var c,f,g=!isArray(a);for(var b=0,e=d.length;b<e;b++){c=d.options[b];f=this.optionValue(c);if(g){if(f==a){c.selected=true;return}}else{c.selected=XN.ARRAY.include(a,f)}}}},selectOne:function(b){var a=b.selectedIndex;return a>=0?this.optionValue(b.options[a]):null},selectMany:function(d){var a=[],e=d.length;if(!e){return null}for(var c=0;c<e;c++){var b=d.options[c];
if(b.selected){a.push(this.optionValue(b))}}return a},optionValue:function(a){return a.value||a.text}};XN.FORM.tipMethods={alert:function(b,a){XN.DO.alert(b,"提示")},div:function(b,a){a.innerHTML=b;XN.Element.show(a)},tip:function(b,a){var c;if(!this.tipElement){c=this.tipElement=new XN.UI.fixPositionElement({tagName:"div",alignType:"2-1",offsetY:-10,offsetX:110})}else{c=this.tipElement}c.addClass("form-tip");if(XN.FORM.alertMethods.tipElement&&XN.FORM.alertMethods.tipElement.isShow){return}c.setContent('<div>										<div class="regbox-t">											<div class="box-outer">												<div class="box-inner">'+b+"</div>											</div>										</div>									</div>");c.moveTo(a);try{$(a.name+"_err").hide()}catch(d){}}};XN.FORM.alertMethods={alert:function(b,a){XN.DO.alert(b,"出错提示","error")},div:function(b,a){try{a.innerHTML='<img height="24" width="18" src="'+XN.ENV.staticRoot+'imgpro/reg/th_ju.gif"/>'+b;XN.Element.show(a);a.show();a.delClass("hide")}catch(c){}},tip:function(b,a){var c;
if(!this.tipElement){c=this.tipElement=new XN.UI.fixPositionElement({tagName:"div",alignType:"2-1",offsetY:-10,offsetX:110});c.hide()}else{c=this.tipElement}c.setContent('<div>										<div class="regbox">											<div class="box-outer">												<div class="box-inner">'+b+"</div>											</div>										</div>									</div>");c.moveTo(a);try{$(a.name+"_err").show();$(a.name+"_err").delClass("hide")}catch(d){}}};XN.FORM._helpTip=null;XN.FORM._errorTip=null;XN.FORM.autoChecker=function(g){var f=this;this.form=$(g.id);if(this.form.autoChecker){return}this.submitBar=$(g.submit)||null;if(this.submitBar){this.submitBar.onclick=function(h){h=h||window.event;XN.EVENT.stop(h);f.submit();return false}}this.checkers=[];var a,d=XN.FORM.getElements(this.form),e;for(var c=0,b=d.length;c<b;c++){e=d[c];if(!e.disabled&&e.name&&e.type!="hidden"){var a=new XN.FORM.elementChecker({id:d[c],checkMethod:(g.checkMethod||"auto"),alertMethod:(g.alertMethod||"alert"),alertDiv:(g.alertDiv||null),tipDiv:(g.tipDiv||null),tipMethod:(g.tipMethod||"div")});
a.form=this.form;a.formControl=this;this.checkers.push(a)}}this.form.autoChecker=true};XN.FORM.autoChecker.prototype={smartSubmit:false,submit:function(){if(this.isAllRight(true,true)){this.form.submit()}},enableSmartSubmit:function(){this.smartSubmit=true},disableSmartSubmit:function(){this.smartSubmit=false},isAllRight:function(b,e){var a=true,f=this.checkers;for(var d=0,c=f.length;d<c;d++){f[d].check(b,e);if(!f[d].passed){a=false;break}}return a},check:function(a){a=a||false;var c=this.checkers;for(var b=c.length-1;b>=0;b--){c[b].check(a)}},_onupdate:function(){if(this.smartSubmit){if(this.submitBar){var a=this.submitBar;if(this.isAllRight()){a.disabled=false;XN.Element.delClass(a,"gray")}else{a.disabled=true;XN.Element.addClass(a,"gray")}}}this.onupdate()},onupdate:function(){}};