var MooEip=new Class({Implements:[Options,Events],options:{elements:".eip",styleHover:"eip-hover",styleInput:"eip-input",styleTextarea:"eip-textarea",styleLoading:"eip-loading",idPrefix:"id_",inputSave:"Save",inputCanc:"Cancel",saving:"Saving...",empty:"Click to Edit",hoverColor:"#ceffef",leaveColor:"#ffffff"},initialize:function(b,a){this.ajaxUrl=b;this.setOptions(a);this.run()},run:function(){$$(this.options.elements).each(function(a){var c=a.getProperty("id");var g=a.getStyle("display");var d=a.get("text").trim();if(d.trim()==""){a.set("text",this.options.empty)}var e=new Element("form",{name:"form_"+c,events:{submit:function(k){a.setStyle("display","visible");k.preventDefault();var j=new Request({url:this.ajaxUrl,data:"value="+e.fieldValue.value,onRequest:function(){a.addClass(this.options.styleLoading);a.set("text",this.options.saving)}.bind(this),onSuccess:function(){a.removeClass(this.options.styleLoading);a.set("html",(e.fieldValue.value.trim()==""?this.options.empty:e.fieldValue.value.trim().replace(new RegExp("\n","gi"),"<br />")))}.bind(this),onFailure:function(l){a.removeClass(this.options.styleLoading);alert("ERROR ON THE SERVER !!\nCODE: "+l.status+" - TEXT: "+l.statusText+"\nPLEASE SAVE THE TEXT AGAIN !!");a.set("html",(e.fieldValue.value.trim()==""?this.options.empty:e.fieldValue.value.trim().replace(new RegExp("\n","gi"),"<br />")))}.bind(this)});j.send();e.dispose();d=e.fieldValue.value.trim()}.bind(this)}});if(a.hasClass("input")){var i=new Element("input",{type:"text",name:"fieldValue","class":this.options.styleInput})}else{var i=new Element("textarea",{name:"fieldValue","class":this.options.styleTextarea});if(a.get("style")!=""){i.set("style",a.get("style"))}}var f=new Element("input",{id:"ok_"+c,type:"submit",value:this.options.inputSave,events:{click:function(){e.dispose();a.setStyle("display",g);a.fireEvent("mouseleave")}}});var b=new Element("input",{id:"cancel_"+c,type:"reset",value:this.options.inputCanc,events:{click:function(){e.dispose();a.setStyle("display",g);a.fireEvent("mouseleave")}}});i.inject(e);lb=new Element("br").inject(i,"after");f.inject(e);b.inject(e);var h=new Fx.Tween(a,{duration:500});a.addEvents({mouseenter:function(){a.setStyle("background-color",this.options.hoverColor);a.addClass("eip-hover")}.bind(this),mouseleave:function(){h.start("background-color",this.options.hoverColor,this.options.leaveColor);a.removeClass("eip-hover")}.bind(this),click:function(){a.setStyle("display","none");i.value=(a.hasClass("input"))?d.trim():d.trim().replace(new RegExp("<br />","gi"),"\n");e.inject(a,"after");i.focus();a.removeClass("eip-hover")}})},this)}});