function indicateLoad(){root.load.start("opacity",1)}function indicateFinish(){root.load.start("opacity",0)}function indicateSuccess(){indicateFinish(),root.notify.alert('{{_("Success")}}.',{className:"success"})}function indicateFail(){indicateFinish(),root.notify.alert('{{_("Failed")}}.',{className:"error"})}var root=this;document.addEvent("domready",function(){root.load=new Fx.Tween($("load-indicator"),{link:"cancel"}),root.load.set("opacity",0),root.packageBox=new MooDialog({destroyOnHide:!1}),root.packageBox.setContent($("pack_box")),$("pack_reset").addEvent("click",function(){$("pack_form").reset(),root.packageBox.close()})});var PackageUI=new Class({initialize:function(e,t){this.url=e,this.type=t,this.packages=[],this.parsePackages(),this.sorts=new Sortables($("package-list"),{constrain:!1,clone:!0,revert:!0,opacity:.4,handle:".package_drag",onComplete:this.saveSort.bind(this)}),$("del_finished").addEvent("click",this.deleteFinished.bind(this)),$("restart_failed").addEvent("click",this.restartFailed.bind(this))},parsePackages:function(){$("package-list").getChildren("li").each(function(e){var t=e.getFirst().get("id").match(/[0-9]+/);this.packages.push(new Package(this,t,e))}.bind(this))},loadPackages:function(){},deleteFinished:function(){indicateLoad(),new Request.JSON({method:"get",url:"/api/deleteFinished",onSuccess:function(e){e.length>0?window.location.reload():(this.packages.each(function(e){e.close()}),indicateSuccess())}.bind(this),onFailure:indicateFail}).send()},restartFailed:function(){indicateLoad(),new Request.JSON({method:"get",url:"/api/restartFailed",onSuccess:function(){this.packages.each(function(e){e.close()}),indicateSuccess()}.bind(this),onFailure:indicateFail}).send()},startSort:function(){},saveSort:function(e){var t=[];this.sorts.serialize(function(i,s){i==e&&e.retrieve("order")!=s&&t.push(e.retrieve("pid")+"|"+s),i.store("order",s)}),t.length>0&&(indicateLoad(),new Request.JSON({method:"get",url:"/json/package_order/"+t[0],onSuccess:indicateFinish,onFailure:indicateFail}).send())}}),Package=new Class({initialize:function(e,t,i,s){this.ui=e,this.id=t,this.linksLoaded=!1,i?(this.ele=i,this.order=i.getElements("div.order")[0].get("html"),this.ele.store("order",this.order),this.ele.store("pid",this.id),this.parseElement()):this.createElement(s);var n=this.ele.getElements(".packagename")[0];this.buttons=new Fx.Tween(this.ele.getElements(".buttons")[0],{link:"cancel"}),this.buttons.set("opacity",0),n.addEvent("mouseenter",function(){this.buttons.start("opacity",1)}.bind(this)),n.addEvent("mouseleave",function(){this.buttons.start("opacity",0)}.bind(this))},createElement:function(){alert("create")},parseElement:function(){var e=this.ele.getElements("img");this.name=this.ele.getElements(".name")[0],this.folder=this.ele.getElements(".folder")[0],this.password=this.ele.getElements(".password")[0],e[1].addEvent("click",this.deletePackage.bind(this)),e[2].addEvent("click",this.restartPackage.bind(this)),e[3].addEvent("click",this.editPackage.bind(this)),e[4].addEvent("click",this.movePackage.bind(this)),this.ele.getElement(".packagename").addEvent("click",this.toggle.bind(this))},loadLinks:function(){indicateLoad(),new Request.JSON({method:"get",url:"/json/package/"+this.id,onSuccess:this.createLinks.bind(this),onFailure:indicateFail}).send()},createLinks:function(e){var t=$("sort_children_{id}".substitute({id:this.id}));t.set("html",""),e.links.each(function(e){e.id=e.fid;var i=new Element("li",{style:{"margin-left":0}}),s="\n".substitute({icon:e.icon});s+="{name}