(function(g){var f=function(){var i=/^(\/(.*\/)*)([^\/]+\/?)$/;this.splitPathname=function(k){if(k==="/"){return["","/"]}var j=i.exec(k);return[j[1],j[3]]}};var d=function(i){var j=this;var k={columnClasses:["icon","name","date","size"],defaultSortOrder:"C=N;O=A",store:{viewmode:"h5ai.viewmode"},icons:{crumb:"/h5ai/images/crumb.png",ascending:"/h5ai/images/ascending.png",descending:"/h5ai/images/descending.png"},customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html",callbacks:{folderClick:[],fileClick:[]},viewmodes:["details","icons"],showTree:false,folderStatus:{},lang:undefined,useBrowserLang:true};this.config=g.extend({},k,i);this.folderClick=function(l){if(typeof l==="function"){this.config.callbacks.folderClick.push(l)}return this};this.fileClick=function(l){if(typeof l==="function"){this.config.callbacks.fileClick.push(l)}return this};this.init=function(){this.applyViewmode();this.initBreadcrumb();this.initViews();this.customize();this.localize(h5aiLangs,this.config.lang,this.config.useBrowserLang)};this.triggerFolderClick=function(l){for(idx in this.config.callbacks.folderClick){this.config.callbacks.folderClick[idx].call(window,l)}};this.triggerFileClick=function(l){for(idx in this.config.callbacks.fileClick){this.config.callbacks.fileClick[idx].call(window,l)}};this.getViewmode=function(){var l=localStorage.getItem(this.config.store.viewmode);return g.inArray(l,this.config.viewmodes)>=0?l:this.config.viewmodes[0]};this.applyViewmode=function(l){if(l!==undefined){localStorage.setItem(this.config.store.viewmode,l)}l=this.getViewmode();g("body > nav li.view").hide();if(this.config.viewmodes.length>1){if(g.inArray("details",this.config.viewmodes)>=0){g("#viewdetails").show()}if(g.inArray("icons",this.config.viewmodes)>=0){g("#viewicons").show()}}g("body > nav li.view").removeClass("current");if(l==="details"){g("#viewdetails").closest("li").addClass("current");g("#table").hide();g("#extended").addClass("details-view").removeClass("icons-view").show()}else{if(l==="icons"){g("#viewicons").closest("li").addClass("current");g("#table").hide();g("#extended").removeClass("details-view").addClass("icons-view").show()}else{g("#table").show();g("#extended").hide()}}};this.initBreadcrumb=function(){g("#domain span").text(document.domain);var p=decodeURI(document.location.pathname);var o=p.split("/");var n="/";var m=g("nav ul");for(idx in o){var l=o[idx];if(l!==""){n+=l+"/";m.append(g("
  • >"+l+"
  • "))}}g("body > nav .crumb:last").addClass("current");document.title=document.domain+p};this.initTableView=function(){function l(m){if(m>=0&&m");var n=g("th.name a");var r=g("th.date a");var m=g("th.size a");var q=g("
  • ").appendTo(p);g("").appendTo(q);g(""+n.text()+"").appendTo(q);g(""+r.text()+"").appendTo(q);g(""+m.text()+"").appendTo(q);var l=document.location.search;if(l===""){l=this.config.defaultSortOrder}var o;if(l.indexOf("O=A")>=0){o=g("ascending")}else{o=g("descending")}if(l.indexOf("C=N")>=0){q.find("a.label").append(o)}else{if(l.indexOf("C=M")>=0){q.find("a.date").prepend(o)}else{if(l.indexOf("C=S")>=0){q.find("a.size").prepend(o)}}}g("#table td.name a").closest("tr").each(function(){var t=new c(b,decodeURI(document.location.pathname),this);var v=g("
  • ").data("file",t).appendTo(p);if(t.isFolder){v.addClass("folder").click(function(){j.triggerFolderClick(t)})}else{v.addClass("file").click(function(){j.triggerFileClick(t)})}var u=g("").appendTo(v);g(""+t.alt+"").appendTo(u);g(""+t.alt+"").appendTo(u);var s=g(""+t.label+"").appendTo(u);g(""+t.date+"").appendTo(u);g(""+t.size+"").appendTo(u);if(t.isParentFolder){s.addClass("l10n-parentDirectory");v.addClass("parentfolder")}});g("#extended").append(p);if(p.children(".entry:not(.parentfolder)").size()===0){g("#extended").append(g("
    empty
    "))}g("#extended").append(g("
    "))};this.initViews=function(){this.initTableView();this.initExtendedView();g("#viewdetails").closest("li").click(function(){j.applyViewmode("details")});g("#viewicons").closest("li").click(function(){j.applyViewmode("icons")})};this.customize=function(){g.ajax({url:this.config.customHeader,dataType:"html",success:function(l){g("#content > header").append(g(l)).show()}});g.ajax({url:this.config.customFooter,dataType:"html",success:function(l){g("#content > footer").prepend(g(l)).show()}})};this.localize=function(n,o,p){if(p===true){var l=navigator.language;if(n[l]!==undefined){o=l}else{if(l.length>2&&n[l.substr(0,2)]!==undefined){o=l.substr(0,2)}}if(o==="en"){o=undefined}}if(n[o]!==undefined){var m=n[o];for(key in m){g(".l10n-"+key).text(m[key])}}}};var c=function(j,m,i){var l=this;if(!/\/$/.test(m)){m+="/"}if(i!==undefined){var o=g(i).find("td");var k=o.eq(0).find("img");var n=o.eq(1).find("a");this.parentFolder=m;this.icon16=k.attr("src");this.alt=k.attr("alt");this.label=n.text();this.href=decodeURI(n.attr("href"));this.date=o.eq(2).text();this.size=o.eq(3).text()}else{var p=j.splitPathname(m);this.parentFolder=p[0];this.label=p[1];this.icon16="/h5ai/icons/16x16/folder.png";this.alt="[DIR]";this.href=this.label;this.date="";this.size="";if(this.label==="/"){this.label=document.domain+"/"}}this.icon48=this.icon16.replace("16x16","48x48");this.isFolder=(this.alt==="[DIR]");this.isParentFolder=(this.isFolder&&this.label==="Parent Directory");this.absHref=this.isParentFolder?this.href:this.parentFolder+this.href;this.status=undefined;this.content=undefined;this.$treeHtml=undefined;this.isEmpty=function(){if(this.content===undefined){return true}for(var q in this.content){if(this.content.hasOwnProperty(q)){return false}}return true};this.updateTreeHtml=function(){var q=g("
    ").data("file",this);var u=g("").appendTo(q);try{var t=g("").appendTo(q).append(g("")).append(g(""+this.label+""));if(this.isFolder){q.addClass("folder");if(this.status===undefined||!this.isEmpty()){var v=g("");if(this.status===undefined){v.addClass("unknown")}else{v.addClass("open")}v.click(function(w){if(v.hasClass("unknown")){a.fetchEntry(l.absHref,function(x){q.replaceWith(x.updateTreeHtml())})}else{if(v.hasClass("open")){v.removeClass("open");q.find("> ul.content").slideUp()}else{v.addClass("open");q.find("> ul.content").slideDown()}}});u.replaceWith(v)}if(this.absHref===decodeURI(document.location.pathname)){q.addClass("current");t.find(".icon img").attr("src","/h5ai/icons/16x16/folder-open.png")}if(!this.isEmpty()){var r=g("
      ").appendTo(q);for(idx in this.content){g("
    • ").append(this.content[idx].updateTreeHtml()).appendTo(r)}}if(!isNaN(this.status)){if(this.status===200){t.find(".icon img").attr("src","/h5ai/icons/16x16/folder-page.png");t.append(g(""))}else{q.addClass("error");t.append(g(""+this.status+""))}}}else{q.addClass("file")}}catch(s){console.log("updateTreeHtml failed",s);g("failed").appendTo(q)}if(this.$treeHtml!==undefined){this.$treeHtml.replaceWith(q)}this.$treeHtml=q;return q}};var h=function(j,l){var m=this;var i=/^text\/html;h5ai=/;this.init=function(){if(l.config.showTree){this.checkCrumb();this.checkCurrentFolder();this.populateTree()}};this.checkCrumb=function(){g("li.crumb a").each(function(){var n=g(this);var o=n.attr("href");m.checkPathname(o,function(p){if(!isNaN(p)){if(p===200){g("not listable").appendTo(n)}else{g("("+p+")").appendTo(n)}}})})};this.checkCurrentFolder=function(){g("#extended li.entry.folder").each(function(){var n=g(this);if(n.hasClass("parentfolder")){return}var o=n.find("a");var p=decodeURI(document.location.pathname)+o.attr("href");m.checkPathname(p,function(q){if(!isNaN(q)){if(q===200){o.find(".icon.small img").attr("src","/h5ai/icons/16x16/folder-page.png");o.find(".icon.big img").attr("src","/h5ai/icons/48x48/folder-page.png")}else{n.addClass("error");o.find(".label").append(" ").append(g(""+q+""))}}})})};this.populateTree=function(){var p=g("#tree");var o=g("#extended");var n=function(q){if(p.outerWidth()