(function(g){g.fn._fadeIn=g.fn.fadeIn;var i=document.documentMode||0;var d=g.browser.msie&&((g.browser.version<8&&!i)||i<8);var e=g.browser.msie&&/MSIE 6.0/.test(navigator.userAgent)&&!i;g.blockUI=function(o){c(window,o)};g.unblockUI=function(o){h(window,o)};g.growlUI=function(s,q,r,o){var p=g('<div class="growlUI"></div>');if(s){p.append("<h1>"+s+"</h1>")}if(q){p.append("<h2>"+q+"</h2>")}if(r==undefined){r=3000}g.blockUI({message:p,fadeIn:700,fadeOut:1000,centerY:false,timeout:r,showOverlay:false,onUnblock:o,css:g.blockUI.defaults.growlCSS})};g.fn.block=function(o){return this.unblock({fadeOut:0}).each(function(){if(g.css(this,"position")=="static"){this.style.position="relative"}if(g.browser.msie){this.style.zoom=1}c(this,o)})};g.fn.unblock=function(o){return this.each(function(){h(this,o)})};g.blockUI.version=2.26;g.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:true,theme:false,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:0.6,cursor:"wait"},growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:0.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1000,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,applyPlatformOpacityRules:true,onUnblock:null,quirksmodeOffsetHack:4};var b=null;var f=[];function c(o,B){var v=(o==window);var r=B&&B.message!==undefined?B.message:undefined;B=g.extend({},g.blockUI.defaults,B||{});B.overlayCSS=g.extend({},g.blockUI.defaults.overlayCSS,B.overlayCSS||{});var x=g.extend({},g.blockUI.defaults.css,B.css||{});var I=g.extend({},g.blockUI.defaults.themedCSS,B.themedCSS||{});r=r===undefined?B.message:r;if(v&&b){h(window,{fadeOut:0})}if(r&&typeof r!="string"&&(r.parentNode||r.jquery)){var D=r.jquery?r[0]:r;var J={};g(o).data("blockUI.history",J);J.el=D;J.parent=D.parentNode;J.display=D.style.display;J.position=D.style.position;if(J.parent){J.parent.removeChild(D)}}var w=B.baseZ;var H=(g.browser.msie||B.forceIframe)?g('<iframe class="blockUI" style="z-index:'+(w++)+';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+B.iframeSrc+'"></iframe>'):g('<div class="blockUI" style="display:none"></div>');var G=g('<div class="blockUI blockOverlay" style="z-index:'+(w++)+';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');var F;if(B.theme&&v){var C='<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+w+';display:none;position:fixed"><div class="ui-widget-header ui-dialog-titlebar blockTitle">'+(B.title||"&nbsp;")+'</div><div class="ui-widget-content ui-dialog-content"></div></div>';F=g(C)}else{F=v?g('<div class="blockUI blockMsg blockPage" style="z-index:'+w+';display:none;position:fixed"></div>'):g('<div class="blockUI blockMsg blockElement" style="z-index:'+w+';display:none;position:absolute"></div>')}if(r){if(B.theme){F.css(I);F.addClass("ui-widget-content")}else{F.css(x)}}if(!B.applyPlatformOpacityRules||!(g.browser.mozilla&&/Linux/.test(navigator.platform))){G.css(B.overlayCSS)}G.css("position",v?"fixed":"absolute");if(g.browser.msie||B.forceIframe){H.css("opacity",0)}g([H[0],G[0],F[0]]).appendTo(v?"body":o);if(B.theme&&B.draggable&&g.fn.draggable){F.draggable({handle:".ui-dialog-titlebar",cancel:"li"})}var q=d&&(!g.boxModel||g("object,embed",v?null:o).length>0);if(e||q){if(v&&B.allowBodyStretch&&g.boxModel){g("html,body").css("height","100%")}if((e||!g.boxModel)&&!v){var A=l(o,"borderTopWidth"),E=l(o,"borderLeftWidth");var u=A?"(0 - "+A+")":0;var y=E?"(0 - "+E+")":0}g.each([H,G,F],function(t,M){var z=M[0].style;z.position="absolute";if(t<2){v?z.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:"+B.quirksmodeOffsetHack+') + "px"'):z.setExpression("height",'this.parentNode.offsetHeight + "px"');v?z.setExpression("width",'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):z.setExpression("width",'this.parentNode.offsetWidth + "px"');if(y){z.setExpression("left",y)}if(u){z.setExpression("top",u)}}else{if(B.centerY){if(v){z.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"')}z.marginTop=0}else{if(!B.centerY&&v){var K=(B.css&&B.css.top)?parseInt(B.css.top):0;var L="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+K+') + "px"';z.setExpression("top",L)}}}})}if(r){if(B.theme){F.find(".ui-widget-content").append(r)}else{F.append(r)}if(r.jquery||r.nodeType){g(r).show()}}if((g.browser.msie||B.forceIframe)&&B.showOverlay){H.show()}if(B.fadeIn){if(B.showOverlay){G._fadeIn(B.fadeIn)}if(r){F.fadeIn(B.fadeIn)}}else{if(B.showOverlay){G.show()}if(r){F.show()}}k(1,o,B);if(v){b=F[0];f=g(":input:enabled:visible",b);if(B.focusInput){setTimeout(n,20)}}else{a(F[0],B.centerX,B.centerY)}if(B.timeout){var p=setTimeout(function(){v?g.unblockUI(B):g(o).unblock(B)},B.timeout);g(o).data("blockUI.timeout",p)}}function h(r,s){var q=(r==window);var p=g(r);var t=p.data("blockUI.history");var u=p.data("blockUI.timeout");if(u){clearTimeout(u);p.removeData("blockUI.timeout")}s=g.extend({},g.blockUI.defaults,s||{});k(0,r,s);var o;if(q){o=g("body").children().filter(".blockUI").add("body > .blockUI")}else{o=g(".blockUI",r)}if(q){b=f=null}if(s.fadeOut){o.fadeOut(s.fadeOut);setTimeout(function(){j(o,t,s,r)},s.fadeOut)}else{j(o,t,s,r)}}function j(o,r,q,p){o.each(function(s,t){if(this.parentNode){this.parentNode.removeChild(this)}});if(r&&r.el){r.el.style.display=r.display;r.el.style.position=r.position;if(r.parent){r.parent.appendChild(r.el)}g(r.el).removeData("blockUI.history")}if(typeof q.onUnblock=="function"){q.onUnblock(p,q)}}function k(o,s,t){var r=s==window,q=g(s);if(!o&&(r&&!b||!r&&!q.data("blockUI.isBlocked"))){return}if(!r){q.data("blockUI.isBlocked",o)}if(!t.bindEvents||(o&&!t.showOverlay)){return}var p="mousedown mouseup keydown keypress";o?g(document).bind(p,t,m):g(document).unbind(p,m)}function m(r){if(r.keyCode&&r.keyCode==9){if(b&&r.data.constrainTabKey){var q=f;var p=!r.shiftKey&&r.target==q[q.length-1];var o=r.shiftKey&&r.target==q[0];if(p||o){setTimeout(function(){n(o)},10);return false}}}if(g(r.target).parents("div.blockMsg").length>0){return true}return g(r.target).parents().children().filter("div.blockUI").length==0}function n(o){if(!f){return}var p=f[o===true?f.length-1:0];if(p){p.focus()}}function a(v,o,z){var w=v.parentNode,u=v.style;var q=((w.offsetWidth-v.offsetWidth)/2)-l(w,"borderLeftWidth");var r=((w.offsetHeight-v.offsetHeight)/2)-l(w,"borderTopWidth");if(o){u.left=q>0?(q+"px"):"0"}if(z){u.top=r>0?(r+"px"):"0"}}function l(o,q){return parseInt(g.css(o,q))||0}})(jQuery);(function(a){a.manageAjax=(function(){var b={},i={},m={},f={},k={},p={},g={queue:true,maxRequests:1,abortOld:false,preventDoubbleRequests:true,cacheResponse:false,complete:function(){},error:function(s,r){var t=this;if(r&&r.indexOf("error")!=-1){setTimeout(function(){var u=r+": ";if(s.status){u+="status: "+s.status+" | "}u+="URL: "+t.url;throw new Error(u)},1)}},success:function(){},abort:function(){}};function l(s,t){var r={};m[s]=m[s]||{};a.extend(true,m[s],a.ajaxSettings,g,t);if(!k[s]){k[s]={};f[s]={};f[s].queue=[];i[s]=[];p[s]=[]}a.each(a.manageAjax,function(v,u){if(a.isFunction(u)&&v.indexOf("_")!==0){r[v]=function(x,w){if(w&&typeof x==="string"){x=w}u(s,x)}}});return r}function d(s,r){if(r[1]=="success"||r[1]=="notmodified"){s.success.apply(s,[r[0].successData,r[1]]);if(s.global){a.event.trigger("ajaxSuccess",r)}}if(r[1]==="abort"){s.abort.apply(s,r);if(s.global){a.active--;a.event.trigger("ajaxAbort",r)}}s.complete.apply(s,r);if(s.global){a.event.trigger("ajaxComplete",r)}if(s.global&&!a.active){a.event.trigger("ajaxStop")}}function n(r,s){return function(v,t,u){s.call(this,v,t,u);r.call(this,v,t,u);v=null;u=null}}function o(r){var t=i[r];if(t&&t.length){var s=t.shift();if(s){s()}}}function q(t,r){if(!m[t]){l(t,r)}r=a.extend({},m[t],r);var s=k[t],x=f[t],y=i[t];var u=r.type+"_"+r.url.replace(/\./g,"_"),z=true,w=r.complete,v=function(){x[u]={xhr:a.ajax(r),ajaxManagerOpts:r};x.queue.push(u);return u};if(r.data){u+=(typeof r.data=="string")?r.data:a.param(r.data)}if(r.preventDoubbleRequests&&k[t][u]){return false}s[u]=true;r.complete=function(C,A,B){var D=true;if(r.abortOld){a.each(x.queue,function(F,E){if(E==u){return false}h(t,E);return E})}w.call(this,C,A,B);if(f[t][u]){if(f[t][u]&&f[t][u].xhr){f[t][u].xhr=null}f[t][u]=null}p[t].push({xhr:C,status:A});C=null;f[t].queue=a.grep(f[t].queue,function(E){return(E!==u)});s[u]=false;B=null;delete f[t][u];a.each(x,function(F,E){if(F!=="queue"||E.length){D=false;return false}});if(D){a.event.trigger(t+"End",[p[t]]);a.each(p[t],function(E,F){F.xhr=null});p[t]=[]}};if(b[u]){v=function(){x.queue.push(u);d(r,b[u]);return u}}else{if(r.cacheResponse){r.complete=n(r.complete,function(B,A){if(A!=="success"&&A!=="notmodified"){return false}b[u][0].responseXML=B.responseXML;b[u][0].responseText=B.responseText;b[u][1]=A;B=null;return u});r.success=n(r.success,function(B,A){b[u]=[{successData:B,ajaxManagerOpts:r},A];B=null})}}v.ajaxID=u;a.each(x,function(B,A){if(B!=="queue"||A.length){z=false;return false}});if(z){a.event.trigger(t+"Start")}if(r.queue){r.complete=n(r.complete,function(){o(t)});if(r.queue==="clear"){y=j(t)}y.push(v);if(x.queue.length<r.maxRequests){o(t)}return u}return v()}function j(r,s){a.each(i[r],function(t,u){k[r][u.ajaxID]=false});i[r]=[];if(s){h(r)}return i[r]}function c(u,v){var s=f[u];if(!s||!k[u][v]){return false}if(s[v]){return s[v].xhr}var r=i[u],t;a.each(r,function(w,x){if(x.ajaxID==v){t=[x,w];return false}return t});return t}function h(s,u){var r=f[s];if(!r){return false}function t(v){if(v!=="queue"&&r[v]&&r[v].xhr&&r[v].xhr.abort){r[v].xhr.abort();d(r[v].ajaxManagerOpts,[r[v].xhr,"abort"])}return null}if(u){return t(u)}return a.each(r,t)}function e(){a.each(m,function(r){j(r,true)});b={}}return{defaults:g,add:q,create:l,cache:b,abort:h,clear:j,getXHR:c,_activeRequest:f,_complete:d,_allRequests:k,_unload:e}})();a(window).unload(a.manageAjax._unload)})(jQuery);(function(a){a.fn.tipsy=function(b){b=a.extend({fade:false,gravity:"n"},b||{});var c=null,d=false;this.hover(function(){a.data(this,"cancel.tipsy",true);var e=a.data(this,"active.tipsy");if(!e){e=a('<div class="tipsy"><div class="tipsy-inner">'+a(this).attr("title")+"</div></div>");e.css({position:"absolute",zIndex:100000});a(this).attr("title","");a.data(this,"active.tipsy",e)}var h=a.extend({},a(this).offset(),{width:this.offsetWidth,height:this.offsetHeight});e.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).appendTo(document.body);var f=e[0].offsetWidth,g=e[0].offsetHeight;switch(b.gravity.charAt(0)){case"n":e.css({top:h.top+h.height,left:h.left+h.width/2-f/2}).addClass("tipsy-north");break;case"s":e.css({top:h.top-g,left:h.left+h.width/2-f/2}).addClass("tipsy-south");break;case"e":e.css({top:h.top+h.height/2-g/2,left:h.left-f}).addClass("tipsy-east");break;case"w":e.css({top:h.top+h.height/2-g/2,left:h.left+h.width}).addClass("tipsy-west");break}if(b.fade){e.css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:1})}else{e.css({visibility:"visible"})}},function(){a.data(this,"cancel.tipsy",false);var e=this;setTimeout(function(){if(a.data(this,"cancel.tipsy")){return}var f=a.data(e,"active.tipsy");if(b.fade){f.stop().fadeOut(function(){a(this).remove()})}else{f.remove()}},100)})}})(jQuery);function emailNotify(){$("#notifydialog").dialog({bgiframe:true,height:300,modal:true,overlay:{backgroundColor:"#000",opacity:0.5},buttons:{"Send Notification":function(){sendNotify();$(this).dialog("destroy")},Cancel:function(){$(this).dialog("destroy")}}})}function sendNotify(){var email=$("#email").val();var status=$("#resultscontainer").html();$.post("/index/sendmail",{email:email,status:status},function(data){eval("response = "+data);var message=response.result;$.growlUI("Notification",message)})}function splitTime(c){var b=Math.floor(c/3600);var g=Math.floor(c/60)-(b*60);var h=c-(b*3600)-(g*60);var f=" hour";var d=" minute";var e=" second";if(b!=1){f+="s"}if(g!=1){d+="s"}if(h!=1){e+="s"}return b+f+", "+g+d+", "+h+e}function readableBytes(a){var b=["B","KB","MB","GB","TB","PB"];var c=Math.floor(Math.log(a)/Math.log(1024));return(a/Math.pow(1024,Math.floor(c))).toFixed(2)+" "+b[c]}function showUploadStatus(){var a=$("#uploadstatus").html();ajaxManager.add({url:"/status/"+$("#progress_key").val(),cache:false,dataType:"json",success:function(c){if(!c){return}else{if(isNaN(c.est_sec)){return}}if(parseInt(maxsize)<parseInt(c.bytes_total)){stopUpload(2,c.filename);return false}if(parseInt(maxsize)<parseInt(c.available_quota)){stopUpload(4,c.filename);return false}var f=splitTime(c.est_sec);var b=Math.floor(100*parseInt(c.bytes_uploaded)/parseInt(c.bytes_total));var d=Math.floor(parseInt(c.speed_average)/1024);var e=c.message.replace(/-/,"of");$("#maxsize").text(readableBytes(c.available_quota));maxsize=c.available_quota;$("#uploadprogressbar").progressbar("destroy");$("#uploadprogressbar").progressbar({value:b});$("#uploadinformation").html("<p><strong>"+b+"%</strong> ("+e+") at "+d+" kbps<br />"+f+" Remaining </p>");$(".ui-dialog-content").html(a)},error:function(d,b,c){stopUpload(3,false)}});timeout=setTimeout("showUploadStatus()",350)}function stopUpload(k,a,l){$("#toolbar").fadeIn("slow");$("#uploadresults").fadeIn("slow");var d=$("#tabs").tabs("option","selected");var m;var b="ui-state-error ui-corner-all";var c=$("<li></li>");if(k==1){m=a+" "+l;b="ui-state-highlight ui-corner-all"}else{if(k==2){m="Your file upload was aborted due to its size exceeding the allowed upload limit"}else{if(k==3){m="You cancelled uploading "+a}else{if(k==4){m="Your file upload was aborted due to its size exceeding the allowed upload limit";$("#uploadform").html("This account is using all of its available disk space, uploading files is disabled, please contact your support representative.")}else{m=a+" "+l}}}}c.addClass(b);c.text(m);$("#uploadresults").append(c);$("#notifycontainer").fadeIn("slow");var f="0123456789abcdefghiklmnopqrstuvwxyz";var j=13;var h="";for(var e=0;e<j;e++){var g=Math.floor(Math.random()*f.length);h+=f.substring(g,g+1)}$("#progress_key").val(h);$("#file").val("");bindAjaxEvents();$.growlUI("Upload Finished",m);clearTimeout(timeout);ajaxManager.clear({shouldAbort:true});window.stop()}function showUploadD(){$("#fileswrapper").fadeOut("slow");$("#folderdialog").hide();$("#uploaddialog").slideToggle("slow")}function showFolderD(){$("#uploaddialog").hide();$("#fileswrapper").fadeOut("slow");$("#folderdialog").slideToggle("slow")}function rebindUseractions(){var a=$("#tabs").tabs("option","selected");$("#userform").submit(function(b){b.preventDefault();$.ajax({type:"POST",url:"/adduser",data:({Username:$("#Username").val(),Password:$("#Password").val(),Password2:$("#Password2").val(),Email:$("#Email").val(),IsAdmin:$("#IsAdmin:checked").val(),Notify:$("#Notify").val()}),dataType:"html",success:(function(c){$("#userformwrapper").html(c)})});return false});$("#edituserform").submit(function(b){b.preventDefault();$.ajax({type:"POST",url:"/saveuser",data:({UserID:$("#UserID").val(),Password:$("#Password").val(),Password2:$("#Password2").val(),Email:$("#Email").val(),IsAdmin:$("#IsAdmin:checked").val(),Notify:$("#Notify").val()}),dataType:"html",success:(function(c){$("#edituserformwrapper").html(c)})});return false});$("#addnewuser").click(function(){$("#userformwrapper").slideToggle("slow")});$(".confirmuser").click(function(){var b=$(this).attr("id");var d=b.replace(/painfreeftp-user-/,"");var c="Are you sure you want to PERMANENTLY delete "+d+" and all their files?";if(confirm(c)){$.get(this.href,function(e){$("#tabs").tabs("load",a)})}return false});$(".filelink").click(function(){$("#tabs").tabs("url",a,this.href);$("#tabs").tabs("load",a);return false})}function rebindFileactions(a){bindAjaxEvents();var b=$("#tabs").tabs("option","selected");$(".filelink").click(function(){$("#tabs").tabs("url",b,this.href);$("#tabs").tabs("load",b);return false});$("#breadcrumbs li:last").addClass("lastcrumb");$("#toolbar li a").tipsy({gravity:"s"});$(".folder").tipsy({gravity:"w"});$(".file").tipsy({gravity:"w"});if(a==true){$(".tbupl").click(function(){showUploadD();return false});$(".tbcre").click(function(){showFolderD();return false})}$("#file").change(function(){$("#uploadbutton").addClass("ui-state-error")});$(".confirmfile").click(function(){var d=$(this).attr("id");var c=d.replace(/painfreeftp-file-/,"");var e="Are you sure you want to PERMANENTLY delete "+c+"?";if(confirm(e)){$.get(this.href,function(f){$("#tabs").tabs("load",b)})}return false});$(".confirmfolder").click(function(){var d=$(this).attr("id");var c=d.replace(/painfreeftp-folder-/,"");var e="Are you sure you want to PERMANENTLY delete "+c+" and all of its contents?";if(confirm(e)){$.get(this.href,function(f){$("#tabs").tabs("load",b)})}return false});$("#uploadform").submit(function(d){$("#uploaddialog").slideToggle("slow");var c=$("#uploadstatus").html();uploadname=$("#file").val();$().unbind("ajaxStart");$().unbind("ajaxStop");timeout=setTimeout("showUploadStatus()",350);$("#uploadprogressbar").progressbar("destroy");$("#uploadprogressbar").progressbar({value:0});$("#uploadinformation").html("<p><strong>0% Uploaded</strong></p>");$.blockUI({theme:true,title:"Please Wait",message:c})});$("#notilink").click(function(){emailNotify()});$("#createfolderform").submit(function(c){c.preventDefault();$.ajax({type:"POST",url:"/createfolder",data:({foldername:$("#foldername").val(),username:$("#username").val(),parent:$("#parent").val()}),dataType:"html",success:(function(d){$("#folderdialog").html(d)})});return false})}function bindAjaxEvents(){$().ajaxStart(function(){$.blockUI({theme:true,title:"Please Wait",message:'<p><img src="/images/system/busy.gif" style="float:left" /> &nbsp;The page you requested is loading...</p>'})});$().ajaxStop($.unblockUI)}var uploadname;var timeout;var ajaxManager=$.manageAjax.create("statusQueue",{queue:true,cacheResponse:false});bindAjaxEvents();