mycom_form_obj=function(A,B){this.form_id=A;this.form_fields_must={};this.rpc_url=$RPC;this.error_css="";this.context=[];this.fixedcenter=true;this.has_file=false;this.load_after_success="";this.callback={success:this.handle_success,failure:this.handle_failure,upload:this.handle_upload,scope:this};if(B){if(B.form_fields_must){this.form_fields_must=B.form_fields_must}if(B.error_css){this.error_css=B.error_css}if(B.has_file){this.has_file=B.has_file}if(B.load_after_success){this.load_after_success=B.load_after_success}if(B.context){this.context=B.context;this.fixedcenter=false}}this.dialog.showEvent.subscribe(this.btn_focus,this);this.dialog.hideEvent.subscribe(this._after_dialog,this)};mycom_form_obj.prototype._after_dialog=function(C,A,D){if(D.load_after_success&&D.dialog.mystate){var B=D.load_after_success;if(B=="_self"){B=window.location.href}window.location.replace(B)}};mycom_form_obj.prototype.btn_focus=function(B,A,C){};mycom_form_obj.prototype.dialog=new YAHOO.widget.SimpleDialog("simpledialog1",{width:"550px",effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.4},visible:false,modal:true,zIndex:99,close:false,mystate:null,dragOnly:true,icon:YAHOO.widget.SimpleDialog.ICON_WARN,buttons:[{text:"» OK",handler:function(){this.hide()},isDefault:true}]});mycom_form_obj.prototype.on_success2=function(){};mycom_form_obj.prototype.submit=function(A){this.dialog.cfg.queueProperty("fixedcenter",this.fixedcenter);this.dialog.cfg.queueProperty("context",this.context);this.dialog.cfg.queueProperty("icon",YAHOO.widget.SimpleDialog.ICON_WARN);this.dialog.mystate=null;if(this.validate_form()){YAHOO.util.Connect.setForm(this.form_id,this.has_file);YAHOO.util.Connect.asyncRequest("POST",this.rpc_url,this.callback,A)}};mycom_form_obj.prototype.validate_form=function(){this.dialog.cfg.queueProperty("fixedcenter",this.fixedcenter);this.dialog.cfg.queueProperty("context",this.context);this.dialog.cfg.queueProperty("icon",YAHOO.widget.SimpleDialog.ICON_WARN);this.dialog.mystate=null;if(!this.form_is_valid()){this.dialog.setHeader("FEHLER");this.dialog.setBody("Das Formular konnte nicht bearbeitet werden.<br>Folgende Fehler traten auf:<ul><li>"+this.form_errors.join("</li><li>")+"</li></ul>");this.dialog.render(document.body);this.dialog.show();return false}return true};mycom_form_obj.prototype.handle_success=function(o){if(!o.responseText){res={"status":0,"html":"Keine Antwort"}}else{try{eval("var res = "+o.responseText)}catch(e){res={"status":0,"html":"Syntax-Error"+o.responseText};this.dialog.cfg.queueProperty("width","100%")}}if(res.status==0){this.dialog.setHeader("FEHLER");this.dialog.setBody(res.html);this.dialog.render(document.body);this.dialog.show()}else{if(res.status==1){this.on_success(res)}}};mycom_form_obj.prototype.handle_upload=function(o){if(!o.responseText){res={"status":0,"html":"Keine Antwort"}}else{o.responseText=unescape(o.responseText);try{eval("var res = "+o.responseText)}catch(e){res={"status":0,"html":"Syntax-Error"+o.responseText};this.dialog.cfg.queueProperty("width","100%")}}if(res.status==0){this.dialog.setHeader("FEHLER");this.dialog.setBody(res.html);this.dialog.render(document.body);this.dialog.show()}else{if(res.status==1){this.on_success(res)}}};mycom_form_obj.prototype.on_success=function(A){this.dialog.cfg.queueProperty("icon",YAHOO.widget.SimpleDialog.ICON_INFO);this.dialog.setHeader("ERFOLG");this.dialog.setBody(A.html);this.dialog.render(document.body);this.dialog.show();this.dialog.mystate=1;this.on_success2()};mycom_form_obj.prototype.handle_failure=function(A){this.dialog.setHeader("SERVER FEHLER");this.dialog.setBody("Ein interner Fehler trat auf. ["+A.statusText+"]. Bitte versuchen Sie es später noch einmal");this.dialog.render(document.body);this.dialog.show()};mycom_form_obj.prototype.form_is_valid=function(){var C=$(this.form_id);this.form_errors=[];var A,B;for(var D in this.form_fields_must){A=C.elements[D];if(!A){alert("not found:"+A);continue}if(A.type=="checkbox"){B=(A.checked)?"true":""}else{B=A.value}if(B==""){this.form_errors.push(this.form_fields_must[D]+" - Feld ist leer");if(this.error_css){YAHOO.util.Dom.addClass(A,this.error_css)}}else{if(this.error_css){YAHOO.util.Dom.removeClass(A,this.error_css)}}}return(this.form_errors.length==0)}
