var MooAjax=new Class({options:{divEvent:"event",divLoading:"estado",fx:"opacity",duration:1000,transition:"Fx.Transitions.Circ.easeOut",request:{loadingImg:'<img src="http://'+document.domain+'/media/img/loader.gif" alt="" />',loadingImg2:'<img src="http://'+document.domain+'/media/img/loader2.gif" alt="" />',encoding:"utf-8"},submit:"",failure:"<b>Ha ocurrido un error</b> y no se ha podido cargar el contenido. Disculpe las molestias."},initialize:function(){$$("[class*=mooajax]").each(function(a){if(a.get("class").match(":")){this.event=a.get("class").slice(a.get("class").lastIndexOf(":")+1)}else{this.event="click"}if(a.getProperty("lang")!="es"){a.setProperty("lang","es");a.addEvent(this.event,function(b){new Event(b).stop();this.tagType(a)}.bind(this))}}.bind(this))},tagType:function(a){switch(a.get("tag")){case"a":a.set("href","#");this.method="get";if(a.getParent("form")){this.data=a.getParent("form").toQueryString()}this.path=a.getProperty("rel");break;case"input":if(a.get("type")=="submit"||a.get("type")=="button"||a.get('type')=="radio"){this.method=a.getParent("form").get("method");if(a.get('type')=="radio")a.setProperty('checked','checked');$(this.options.divEvent).setStyle("display","block")}else{this.method="get"}this.path=a.getParent("form").get("action");this.data=a.getParent("form").toQueryString();break;case"select":this.method="get";this.path=a.getParent("form").get("action");this.data=a.getParent("form").toQueryString();break}if(a.get("tag")=="input"&&a.get("type")=="text"||a.get("type")=="password"){if(a.getProperty("value").length>=4){this.htmlRequest(a)}}else{this.htmlRequest(a)}},htmlRequest:function(a){if(a.get("class").match(":")){this.target=a.get("class").slice(a.get("class").lastIndexOf(".")+1,a.get("class").lastIndexOf(":"))}else{this.target=a.get("class").slice(a.get("class").lastIndexOf(".")+1)}this.request=new Request.HTML({method:this.method,data:this.data,url:this.path,evalScripts:true,encoding:this.options.request.encoding,headers:{Pragma:"no-cache","Keep-Alive":"10","cache-control":"no-store, must-revalidate"},onRequest:function(){alert(this.path);if($("loader")){$("loader").destroy()}$(this.options.divLoading).empty();if(a.get("title")){var b=a.get("title")}else{b=""}if(a.getNext()&&a.getNext().get("id")){$(this.options.divEvent).setStyle("display","none");this.loading=new Element("div",{id:"loader",html:this.options.request.loadingImg2+" "+b});this.loading.injectInside(a.getNext().get("id"))}else{this.loading=new Element("div",{id:"loader",html:this.options.request.loadingImg+" "+b});if($(this.options.divEvent)){$(this.options.divEvent).setStyle("display","block");$(this.options.divEvent).removeProperty("class");$(this.options.divEvent).addClass("loading");this.divEvent=this.options.divEvent;this.loading.injectInside(this.options.divLoading)}else{this.loading.injectInside(this.options.divLoading)}}}.bind(this),onComplete:function(e,d,g){if(g){if(g.match(/^\[\w+\]/)){this.estado=g.slice(g.lastIndexOf("[")+1,g.lastIndexOf("]"));if(this.estado=="error"){$(this.options.divEvent).addClass("error")}else{if(this.estado=="ok"){$(this.options.divEvent).addClass("ok")}else{if(this.estado=="alert"){$(this.options.divEvent).addClass("alert")}}}$(this.target).setProperty("html",g.slice(g.lastIndexOf("]")+1))}else{$(this.target).setProperty("html",g)}}else{$(this.options.divEvent).addClass("error");$(this.target).setProperty("html",this.options.failure)}if(this.options.fx){if(this.divEvent){this.effect(this.divEvent)}else{this.effect(this.target)}}this.loading.destroy();if($(this.options.divLoading).get("html")==""){$(this.options.divEvent).setStyle("display","none")}var f=new MooAjax}.bind(this)}).send()},effect:function(d){switch(this.options.fx){case"opacity":var c=new Fx.Morph($(d),{duration:this.options.duration});$(d).setOpacity(0);c.start({opacity:1});break;case"tween":var b=new Fx.Tween(d,{duration:this.options.duration});b.start("background-color","#fff","#ddd");break;case"slide":if(this.options.transition){var a=new Fx.Slide(d,{duration:this.options.duration,transition:this.options.transition})}else{a=new Fx.Slide(d,{duration:this.options.duration})}a.hide().slideIn();break}}});
