(function(a){"use strict",function(a){function c(b){var c=[].slice.call(arguments,1),d=0,e=!0;return b=a.event.fix(b||window.event),b.type="mousewheel",b.wheelDelta&&(d=b.wheelDelta/120),b.detail&&(d=-b.detail/3),c.unshift(b,d),a.event.handle.apply(this,c)}var b=["DOMMouseScroll","mousewheel"];a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],c,!1);else this.onmousewheel=c},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],c,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}(jQuery),function(a){var b=function(b){var c=a(b),d,e,f,g,h,i,j,k;(!c.css("position")||c.css("position")==="static")&&c.css("position","relative"),d=a("<div class='scrollbar' />"),e=a("<div class='drag' />").appendTo(d),c.wrapInner("<div class='wrapper'><div class='content' /></div>").append(d),f=c.find("> .wrapper"),g=f.find("> .content"),h=0,j=function(a){var b,h,k,l,m;i&&!a?(clearInterval(i),i=undefined):!i&&a&&(i=setInterval(function(){j(!0)},50)),f.css("height",c.height()),b=c.height(),h=g.outerHeight(),k=f.scrollTop(),l=k/h,m=Math.min(b/h,1),m<1?(d.fadeIn(50).css({height:c.innerHeight()+d.height()-d.outerHeight(!0)}),e.css({top:d.height()*l,height:d.height()*m})):d.fadeOut(50)},k=function(a){var b=(a.pageY-d.offset().top-h)/d.height();f.scrollTop(g.outerHeight()*b),j(),a.preventDefault()},c.mousewheel(function(a,b){f.scrollTop(f.scrollTop()-50*b),j(),a.stopPropagation(),a.preventDefault()}).scroll(j),c.get(0).updateScrollbar=j,f.css({"padding-right":d.outerWidth(!0),height:c.height(),overflow:"hidden"}),d.css({position:"absolute",top:0,right:0,overflow:"hidden",cursor:"pointer"}).mousedown(function(b){h=e.outerHeight()/2,k(b),d.addClass("dragOn"),a(window).bind("mousemove",k).one("mouseup",function(b){d.removeClass("dragOn"),a(window).unbind("mousemove",k),k(b),b.stopPropagation()}),b.preventDefault()}).each(function(){this.onselectstart=function(){return!1}}),e.css({position:"absolute",left:0,width:"100%"}).mousedown(function(b){h=b.pageY-e.offset().top,k(b),d.addClass("dragOn"),a(window).bind("mousemove",k).one("mouseup",function(b){d.removeClass("dragOn"),a(window).unbind("mousemove",k),k(b),b.stopPropagation()}),b.stopPropagation()}),j()};a.fn.scrollpanel=function(){return this.each(function(){b(this)})}}(jQuery),function(a){"use strict",a.log=function(){a.log.history=a.log.history||[],a.log.history.push(arguments),window.console&&window.console.log(Array.prototype.slice.call(arguments))},a.timer=function(){var b=a.now(),c=b,d={log:function(d){var e=a.now();a.log("timer",d,"+"+(e-c),"="+(e-b)),c=e}};return d}()}(jQuery),function(a){"use strict";var b="_mp_api";a.ModPlug=a.ModPlug||{plugin:function(c,d){if(!c||a[c]||a.fn[c])return c?a[c]?2:3:1;var e={statics:{},methods:{},defaultStatic:undefined,defaultMethod:undefined},f=a.extend({},e,d),g=function(){var b,d;b=Array.prototype.slice.call(arguments),d=f.defaultStatic instanceof Function?f.defaultStatic.apply(this,b):f.defaultStatic;if(g[d]instanceof Function)return g[d].apply(this,b);a.error("Static method defaulted to '"+d+"' does not exist on 'jQuery."+c+"'")},h={},i=function(b){var d,e;if(h[b]instanceof Function)return d=Array.prototype.slice.call(arguments,1),h[b].apply(this,d);d=Array.prototype.slice.call(arguments),e=f.defaultMethod instanceof Function?f.defaultMethod.apply(this,d):f.defaultMethod;if(h[e]instanceof Function)return h[e].apply(this,d);a.error("Method '"+b+"' defaulted to '"+e+"' does not exist on 'jQuery."+c+"'")},j={addStatics:function(c){return a.extend(g,c),g[b]=j,this},addMethods:function(b){return a.extend(h,b),this}};return j.addStatics(f.statics).addMethods(f.methods),a[c]=g,a.fn[c]=i,0},module:function(c,d){if(!a[c]||!a[c][b])return a[c]?2:1;var e={statics:{},methods:{}},f=a.extend({},e,d);return a[c][b].addStatics(f.statics).addMethods(f.methods),0}}}(jQuery),function(a){"use strict";var b=function(b){var c=b,d=[],e;this.size=function(){return d.length},this.bind=function(b){b instanceof Function&&a.inArray(b,d)===-1&&d.push(b)},this.unbind=function(b){if(b instanceof Function){var c=a.inArray(b,d);c>=0&&d.splice(c,1)}else d=[]},this.check=function(){var b=c instanceof HTMLElement?a.fracs.rect(c):c,f=a.fracs.fracs(b,a.fracs.viewport());if(!e||!e.equals(f))a.each(d,function(a,b){b.call(c,f,e)}),e=f}},c=function(d,e,f,g){var h;this.left=Math.round(d),this.top=Math.round(e),this.width=Math.round(f),this.height=Math.round(g),this.right=this.left+this.width,this.bottom=this.top+this.height,this.equals=function(a){return this.left===a.left&&this.top===a.top&&this.width===a.width&&this.height===a.height},this.area=function(){return this.width*this.height},this.intersection=function(a){var b=Math.max(this.left,a.left),d=Math.min(this.right,a.right),e=Math.max(this.top,a.top),f=Math.min(this.bottom,a.bottom),g=d-b,h=f-e;return g>=0&&h>=0?new c(b,e,g,h):undefined},this.envelope=function(a){var b=Math.min(this.left,a.left),d=Math.max(this.right,a.right),e=Math.min(this.top,a.top),f=Math.max(this.bottom,a.bottom),g=d-b,h=f-e;return new c(b,e,g,h)},this.bind=function(c){h||(h=new b(this),a(window).bind("scroll resize",h.check)),h.bind(c)},this.unbind=function(b){h&&(h.unbind(b),h.size()===0&&(a(window).unbind("scroll resize",h.check),h=undefined))},this.check=function(){h&&h.check()},this.fracs=function(){a.fracs.fracs(this)}},d=function(a,b,c,d,e,f){!a||!b||!c||!d||!e||!f?(this.rects=undefined,this.visible=0,this.viewport=0,this.possible=0):(this.rects={document:a,element:b,viewport:c},this.visible=d,this.viewport=e,this.possible=f),this.equals=function(a){return this.fracsEqual(a)&&this.rectsEqual(a)},this.fracsEqual=function(a){return this.visible===a.visible&&this.viewport===a.viewport&&this.possible===a.possible},this.rectsEqual=function(a){return!this.rects||!a.rects?this.rects===a.rects:this.rects.document.equals(a.rects.document)&&this.rects.element.equals(a.rects.element)&&this.rects.viewport.equals(a.rects.viewport)}},e=function(){var b=a.fracs.document(),c=a.fracs.viewport(),d=b.width-c.width,e=b.height-c.height;this.width=d<=0?undefined:c.left/d,this.height=e<=0?undefined:c.top/e,this.left=c.left,this.top=c.top,this.right=b.right-c.right,this.bottom=b.bottom-c.bottom,this.equals=function(a){return this.width===a.width&&this.height===a.height&&this.left===a.left&&this.top===a.top&&this.right===a.right&&this.bottom===a.bottom}},f=function(){var b,c=[],d=function(){var d=new e;if(!b||!b.equals(d))a.each(c,function(a,c){c.call(window,d,b)}),b=d};a(window).bind("resize scroll load",d),this.bind=function(a){c.push(a)}},g=function(b,c){this.element=b,this.fracs=c,this.update=function(){var b=a.fracs.fracs(this.element),c=!this.fracs||!this.fracs.equals(b);return this.fracs=b,c}},h=function(b,c,d){var e=this,f=[],h=null;a.each(b,function(a,b){b instanceof HTMLElement&&f.push(new g(b))}),this.check=function(){var b,g=a.fracs.viewport();a.each(f,function(a,d){d.update();if(!b||d.fracs[c]>b.fracs[c])b=d}),b&&b.fracs[c]===0&&(b=null),h!==b&&(d.call(e,b,h),h=b)}},i=a(document),j=a(window),k=a("html,body"),l,m="fracs",n={document:function(){return new c(0,0,i.width(),i.height())},viewport:function(){return new c(j.scrollLeft(),j.scrollTop(),j.width(),j.height())},rect:function(b){var d=a(b),e=d.offset();return d.is(":visible")?new c(e.left,e.top,d.outerWidth(),d.outerHeight()):new c(0,0,0,0)},fracs:function(a,b){var e,f,g,h,i;return a=a instanceof HTMLElement?n.rect(a):a,b=b||n.viewport(),e=a.intersection(b),e?(f=new c(e.left-a.left,e.top-a.top,e.width,e.height),g=new c(e.left-b.left,e.top-b.top,e.width,e.height),h=e.area(),i=Math.min(a.width,b.width)*Math.min(a.height,b.height),new d(e,f,g,h/a.area(),h/b.area(),h/i)):new d},round:function(a,b){return isNaN(b)||b<=0?Math.round(a):Math.round(a*Math.pow(10,b))/Math.pow(10,b)},scrollTo:function(a,b,c){c=isNaN(c)?1e3:c,k.stop(!0).animate({scrollLeft:a,scrollTop:b},c)},scroll:function(a,b,c){c=isNaN(c)?1e3:c,k.stop(!0).animate({scrollLeft:j.scrollLeft()+a,scrollTop:j.scrollTop()+b},c)},scrollState:function(a){if(a instanceof Function)l=l||new f,l.bind(a);else return new e}},o={bind:function(c){return this.each(function(){var d=a(this),e=d.data(m);e||(e=new b(this),d.data(m,e),j.bind("scroll resize",e.check)),e.bind(c)})},unbind:function(b){return this.each(function(){var c=a(this),d=c.data(m);d&&(d.unbind(b),d.size()===0&&(c.removeData(m),j.unbind("scroll resize",d.check)))})},check:function(){return this.each(function(){var b=a(this).data(m);b&&b.check()})},fracs:function(){return n.fracs(n.rect(this.get(0)),n.viewport())},rect:function(){return n.rect(this.get(0))},max:function(b,c){if(c instanceof Function){var d=new h(this,b,c);return j.bind("scroll resize",d.check),d.check(),this}var e,f,g;if(a.inArray(b,["possible","visible","viewport"])>=0)e="fracs";else if(a.inArray(b,["width","height","left","right","top","bottom"])>=0)e="rect";else return this;return this.each(function(){var a=n[e](this);!g||a[b]>g?(f=[this],g=a[b]):a[b]===g&&f.push(this)}),a(f)},min:function(b){var c,d,e;if(a.inArray(b,["possible","visible","viewport"])>=0)c="fracs";else if(a.inArray(b,["width","height","left","right","top","bottom"])>=0)c="rect";else return this;return this.each(function(){var a=n[c](this);!e||a[b]<e?(d=[this],e=a[b]):a[b]===e&&d.push(this)}),a(d)},envelope:function(){var a,b;return this.each(function(){b=n.rect(this),a=a?a.envelope(b):b}),a},scrollTo:function(a,b,c){var d;return a=a||0,b=b||0,d=n.rect(this.get(0)),n.scrollTo(d.left-a,d.top-b,c),this},softLink:function(b,c,d){return this.filter("a[href^=#]").each(function(){var e=a(this),f=e.attr("href");e.click(function(){a(f).fracs("scrollTo",b,c,d)})})}},p=function(){return"fracs"},q=function(){if(arguments.length===0)return"fracs";if(arguments[0]instanceof Function)return"bind"};a.ModPlug.plugin("fracs",{statics:n,methods:o,defaultStatic:p,defaultMethod:q})}(jQuery),function(a){"use strict";var b=function(b,c){if(!(b instanceof HTMLElement&&b.nodeName.toLowerCase()==="canvas"))return undefined;var d={crop:!1,duration:0,focusWidth:.5,focusHeight:.5,autoFocus:!0,styles:[{selector:"header,footer,section,article",fillStyle:"rgb(230,230,230)"},{selector:"h1",fillStyle:"rgb(240,140,060)"},{selector:"h2",fillStyle:"rgb(200,100,100)"},{selector:"h3",fillStyle:"rgb(100,200,100)"},{selector:"h4",fillStyle:"rgb(100,100,200)"}],viewportStyle:{fillStyle:"rgba(228,77,38,0.3)"},viewportDragStyle:{fillStyle:"rgba(228,77,38,0.6)"},invertViewport:!1},e=a.extend({},d,c),f=a(window),g=a("html,body"),h=a(b),i=h.attr("width"),j=h.attr("height"),k=b.getContext("2d"),l,m,n,o=!1,p,q,r=function(b){var c,d,f;c=h.fracs("rect"),d=b.pageX-c.left,f=b.pageY-c.top,a.fracs.scrollTo(d/n-m.width*p,f/n-m.height*q,e.duration)},s=function(a,b,c,d,e,f){c!==undefined&&n&&(c=c>.2/n?c:.2/n);if(d||e)f!==!0?(a.beginPath(),a.rect(b.left,b.top,b.width,b.height),e&&(a.fillStyle=e,a.fill()),d&&(a.lineWidth=c,a.strokeStyle=d,a.stroke())):(e&&(a.beginPath(),a.rect(0,0,l.width,b.top),a.rect(0,b.top,b.left,b.height),a.rect(b.right,b.top,l.right-b.right,b.height),a.rect(0,b.bottom,l.width,l.bottom-b.bottom),a.fillStyle=e,a.fill()),d&&(a.beginPath(),a.rect(b.left,b.top,b.width,b.height),a.lineWidth=c,a.strokeStyle=d,a.stroke()))},t=function(b,c,d,e,f){var g=a(c),h=g.fracs("rect");if(g.css("visibility")==="hidden")return;d=d==="auto"?g.css("border-top-width"):d,e=e==="auto"?g.css("border-top-color"):e,f=f==="auto"?g.css("background-color"):f,s(b,h,d,e,f)},u=function(){var a,b,c;o&&e.viewportDragStyle?(a=e.viewportDragStyle.storkeWidth,b=e.viewportDragStyle.strokeStyle,c=e.viewportDragStyle.fillStyle):(a=e.viewportStyle.storkeWidth,b=e.viewportStyle.strokeStyle,c=e.viewportStyle.fillStyle),s(k,m,a,b,c,e.invertViewport)},v=function(b){a.each(e.styles,function(c,d){a(d.selector).each(function(){t(b,this,d.strokeWidth,d.strokeStyle,d.fillStyle)})})},w=function(){var b,c;l=a.fracs.document(),m=a.fracs.viewport(),b=i/l.width,c=j/l.height,n=b<c?b:c,e.crop&&h.attr("width",l.width*n).attr("height",l.height*n),k.clearRect(0,0,h.width(),h.height()),k.scale(n,n),v(k),u(),k.scale(1/n,1/n)},x=function(){h.css("cursor","pointer").mousedown(function(a){var b;a.preventDefault(),o=!0,e.autoFocus&&(b=h.fracs("rect"),p=((a.pageX-b.left)/n-m.left)/m.width,q=((a.pageY-b.top)/n-m.top)/m.height);if(!e.autoFocus||p<0||p>1||q<0||q>1)p=e.focusWidth,q=e.focusHeight;r(a),h.css("cursor","crosshair").addClass("dragOn"),g.css("cursor","crosshair"),f.bind("mousemove",r).one("mouseup",function(a){a.preventDefault(),h.css("cursor","pointer").removeClass("dragOn"),g.css("cursor","auto"),f.unbind("mousemove",r),o=!1,w()})}),b.onselectstart=function(){return!1},f.bind("load resize scroll",w),w()};x(),this.draw=w},c="outline",d={outline:function(d){return this.each(function(){var e;d==="redraw"?(e=a(this).data(c),e&&e.draw()):(e=new b(this,d),e&&a(this).data(c,e))})}};a.ModPlug.module("fracs",{methods:d})}(jQuery);var b=function(b,c,d){"use strict";var e,f=function(a){try{return decodeURI(a)}catch(b){}return a},g=function(){return e.content===undefined||a.isEmptyObject(e.content)},i=function(a){h.triggerPathClick(e,a)},k=function(){e.updateCrumbHtml(),e.updateExtendedHtml(),e.updateTreeHtml()},l=function(){var b,c;return e.html.$crumb&&e.html.$crumb.data("status")===e.status?e.html.$crumb:(b=a("<li class='crumb' />").data("path",e).addClass(e.isFolder?"folder":"file"),e.status&&b.data("status",e.status),c=a("<a><img src='/h5ai/images/crumb.png' alt='>' />"+e.label+"</a>").appendTo(b).attr("href",e.absHref).click(function(){i("crumb")}),e.isDomain&&(b.addClass("domain"),c.find("img").attr("src","/h5ai/images/home.png")),e.isCurrentFolder&&b.addClass("current"),isNaN(e.status)||(e.status===200?a("<img class='hint' src='/h5ai/images/page.png' alt='not listable' />").appendTo(c):a("<span class='hint'>("+e.status+")</span>").appendTo(c)),e.html.$crumb&&e.html.$cpathreplaceWith(b),e.html.$crumb=b,b)},m=function(){var b,c,d;return e.html.$extended&&e.html.$extended.data("status")===e.status?e.html.$extended:(b=a("<li class='entry' />").data("path",e).addClass(e.isFolder?"folder":"file"),e.status&&b.data("status",e.status),d=a("<span class='label'>"+e.label+"</span>"),c=a("<a />").attr("href",e.absHref).click(function(){i("extended")}).appendTo(b).append(a("<span class='icon small'><img src='"+e.icon16+"' alt='"+e.alt+"' /></span>")).append(a("<span class='icon big'><img src='"+e.icon48+"' alt='"+e.alt+"' /></span>")).append(d).append(a("<span class='date'>"+e.date+"</span>")).append(a("<span class='size'>"+e.size+"</span>")),c.hover(function(){if(a("#extended").hasClass("icons-view")){var b=a(this);a(".status.default").hide(),a(".status.dynamic").empty().append(b.find(".label").clone()).append(a("<span class='sep'>·</span>")).append(b.find(".date").clone()).show(),b.closest(".entry").hasClass("folder")||a(".status.dynamic").append(a("<span class='sep'>·</span>")).append(b.find(".size").clone())}},function(){a(".status.default").show(),a(".status.dynamic").empty().hide()}),e.isParentFolder&&(h.settings.setParentFolderLabels||d.addClass("l10n-parentDirectory"),b.addClass("parentfolder")),isNaN(e.status)||(e.status===200?(b.addClass("page"),c.find(".icon.small img").attr("src","/h5ai/icons/16x16/folder-page.png"),c.find(".icon.big img").attr("src","/h5ai/icons/48x48/folder-page.png")):(b.addClass("error"),d.append(a("<span class='hint'> "+e.status+" </span>")))),e.html.$extended&&e.html.$extended.replaceWith(b),e.html.$extended=b,b)},n=function(){var b,c,d,f,g,h;b=a("<div class='entry' />").data("path",e).addClass(e.isFolder?"folder":"file"),c=a("<span class='blank' />").appendTo(b),d=a("<a />").attr("href",e.absHref).click(function(){e.onClick("tree")}).appendTo(b).append(a("<span class='icon'><img src='"+e.icon16+"' /></span>")).append(a("<span class='label'>"+e.label+"</span>"));if(e.isFolder){if(e.status===undefined||!e.isEmpty())f=a("<span class='indicator'><img src='/h5ai/images/tree.png' /></span>"),e.status===undefined?f.addClass("unknown"):e.treeOpen&&f.addClass("open"),f.click(function(c){f.hasClass("unknown")?j.fetchStatusAndContent(e.absHref,!1,function(b,c){e.status=b,e.content=c,e.treeOpen=!0,a("#tree").get(0).updateScrollbar(!0),e.updateTreeHtml(function(){a("#tree").get(0).updateScrollbar()})}):f.hasClass("open")?(e.treeOpen=!1,f.removeClass("open"),a("#tree").get(0).updateScrollbar(!0),b.find("> ul.content").slideUp(function(){a("#tree").get(0).updateScrollbar()})):(e.treeOpen=!0,f.addClass("open"),a("#tree").get(0).updateScrollbar(!0),b.find("> ul.content").slideDown(function(){a("#tree").get(0).updateScrollbar()}))}),b.addClass("initiatedIndicator"),c.replaceWith(f);e.isDomain&&(b.addClass("domain"),d.find(".icon img").attr("src","/h5ai/icons/16x16/folder-home.png")),e.isCurrentFolder&&(b.addClass("current"),d.find(".icon img").attr("src","/h5ai/icons/16x16/folder-open.png"));if(!e.isEmpty()){g=a("<ul class='content' />").appendTo(b);for(h in e.content)a("<li />").append(e.content[h].updateTreeHtml()).appendTo(g);(e.status===undefined||!e.treeOpen)&&g.hide()}isNaN(e.status)||(e.status===200?(d.find(".icon img").attr("src","/h5ai/icons/16x16/folder-page.png"),d.append(a("<span class='hint'><img src='/h5ai/images/page.png' /></span>"))):(b.addClass("error"),d.append(a("<span class='hint'>"+e.status+"</span>"))))}return e.html.$tree&&e.html.$tree.replaceWith(b),e.html.$tree=b,b},o=function(){var j,o,p,q;e={status:undefined,content:undefined,html:{$crumb:undefined,$extended:undefined,$tree:undefined},treeOpen:!1,isEmpty:g,onClick:i,updateHtml:k,updateCrumbHtml:l,updateExtendedHtml:m,updateTreeHtml:n},b.pathEndsWithSlash(c)||(c+="/"),d?(j=a(d).find("td"),o=j.eq(0).find("img"),p=j.eq(1).find("a"),e.parentFolder=c,e.label=p.text(),e.date=j.eq(2).text(),e.size=j.eq(3).text(),e.href=p.attr("href"),e.alt=o.attr("alt"),e.icon16=o.attr("src")):(q=b.splitPathname(c),e.parentFolder=q[0],e.label=f(q[1]),e.label==="/"&&(e.label=f(document.domain)+"/"),e.date="",e.size="",e.href=q[1],e.alt="[DIR]",e.icon16="/h5ai/icons/16x16/folder.png"),b.pathEndsWithSlash(e.label)&&(e.label=e.label.slice(0,-1)),e.icon48=e.icon16.replace("16x16","48x48"),e.isFolder=e.alt==="[DIR]",e.isParentFolder=e.isFolder&&e.label==="Parent Directory",e.absHref=e.isParentFolder?e.href:e.parentFolder+e.href,e.isCurrentFolder=e.absHref===document.location.pathname,e.isDomain=e.absHref==="/",e.isParentFolder&&h.settings.setParentFolderLabels&&(e.isDomain?e.label=f(document.domain):e.label=f(b.splitPathname(b.splitPathname(e.parentFolder)[0])[1].slice(0,-1)))};return o(),e},c=function(){"use strict";var c,d={},e=/^(\/(.*\/)*)([^\/]+\/?)$/,f=/\/$/,g=function(a){var b;return a==="/"?["","/"]:(b=e.exec(a),[b[1],b[3]])},h=function(a){return f.test(a)},i=function(b,c){var d,e,f;return h(b)||(b+="/"),c?(d=a(c).find("td").eq(1).find("a"),e=d.text()==="Parent Directory",f=d.attr("href"),e?undefined:b+f):b},j=function(a,e){var f=i(a,e),g=d[f];return g||(g=new b(c,a,e),g.isParentFolder||(d[g.absHref]=g)),g};return c={splitPathname:g,pathEndsWithSlash:h,getPath:j},c},d=function(b,c){"use strict";var d={store:{viewmode:"h5ai.viewmode",lang:"h5ai.lang"},callbacks:{pathClick:[]},viewmodes:["details","icons"],sortorder:{column:"name",ascending:!0},showTree:!0,slideTree:!0,folderStatus:{},lang:null,useBrowserLang:!0,setParentFolderLabels:!0,linkHoverStates:!0,dateFormat:"Y-m-d H:i",ignore:["h5ai","h5ai.header.html","h5ai.footer.html"],ignoreRE:["/^\\./"],showThumbs:!0,zippedDownload:!0},e=a.extend({},d,b),f=function(b){a.isFunction(b)&&e.callbacks.pathClick.push(b)},g=function(a,b){var c,d,f=e.callbacks.pathClick;for(c=0,d=f.length;c<d;c++)f[c].call(window,a,b)},h=function(){var b=localStorage.getItem(e.store.viewmode);return a.inArray(b,e.viewmodes)>=0?b:e.viewmodes[0]},i=function(b){b&&localStorage.setItem(e.store.viewmode,b),b=h(),a("#viewdetails,#viewicons").hide().removeClass("current"),e.viewmodes.length>1&&(a.inArray("details",e.viewmodes)>=0&&a("#viewdetails").show(),a.inArray("icons",e.viewmodes)>=0&&a("#viewicons").show()),b==="details"?(a("#viewdetails").closest("li").addClass("current"),a("#extended").addClass("details-view").removeClass("icons-view").show()):b==="icons"?(a("#viewicons").closest("li").addClass("current"),a("#extended").removeClass("details-view").addClass("icons-view").show()):a("#extended").hide()},j=function(){var b=function(){var b=a(window).height(),c=a("body > nav").outerHeight(),d=a("body > footer").outerHeight(),e=50,f=50;a("body").css({"margin-top":c+e,"margin-bottom":d+e}),a("#tree").css({top:c+f,height:b-c-d-36-2*f});try{a("#tree").get(0).updateScrollbar()}catch(g){}};a(window).resize(function(){b()}),b()},k=function(){a("#table").remove(),a("#viewdetails").closest("li").click(function(){i("details")}),a("#viewicons").closest("li").click(function(){i("icons")}),a("#extended .entry a").hover(function(){if(a("#extended").hasClass("icons-view")){var b=a(this);a(".status.default").hide(),a(".status.dynamic").empty().append(b.find(".label").clone()).append(a("<span class='sep'>·</span>")).append(b.find(".date").clone()).show(),b.closest(".entry").hasClass("folder")||a(".status.dynamic").append(a("<span class='sep'>·</span>")).append(b.find(".size").clone())}},function(){a(".status.default").show(),a(".status.dynamic").empty().hide()})},l=function(b,c){var d=a("#tree"),f=a("#extended");e.slideTree&&d.outerWidth()<f.offset().left||b?c?d.stop().css({left:0}):d.stop().animate({left:0}):c?d.stop().css({left:18-d.outerWidth()}):d.stop().animate({left:18-d.outerWidth()})},m=function(){a("#tree").hover(function(){l(!0)},function(){l()}),a(window).resize(function(){l()}),l(!1,!0)},n=function(){e.linkHoverStates&&a("a[href^='/']:not(.linkedHoverStates)").each(function(){var b=a(this).addClass("linkedHoverStates"),c=b.attr("href");b.hover(function(){a("a[href='"+c+"']").addClass("hover")},function(){a("a[href='"+c+"']").removeClass("hover")})})},o=function(b,c,d){var f=localStorage.getItem(e.store.lang),g,h,i;b[f]?c=f:d&&(g=navigator.language,b[g]?c=g:g.length>2&&b[g.substr(0,2)]&&(c=g.substr(0,2))),b[c]||(c="en"),h=b[c];if(h){for(i in h)a(".l10n-"+i).text(h[i]);a(".lang").text(c),a(".langOption").removeClass("current"),a(".langOption."+c).addClass("current")}},p=function(b){var c,d,f=[],g;for(d in b)f.push(d);f.sort(),g=a("<ul />");for(c in f)(function(c){a("<li class='langOption' />").addClass(c).text(c+" - "+b[c].lang).appendTo(g).click(function(){localStorage.setItem(e.store.lang,c),o(b,c,!1)})})(f[c]);a("#langSelector .langOptions").append(g),a("#langSelector").hover(function(){var b=a(".langOptions");b.css("top","-"+b.outerHeight()+"px").stop(!0,!0).fadeIn()},function(){a(".langOptions").stop(!0,!0).fadeOut()})},q=function(){a("#tree .entry.folder:not(.initiatedIndicator)").each(function(){var b=a(this).addClass("initiatedIndicator"),c=b.find("> .indicator");c.click(function(d){var e;c.hasClass("unknown")?a.get("/h5ai/php/treecontent.php",{href:b.find("> a").attr("href")},function(d){e=a(d),c.removeClass("unknown"),e.find("> li").size()===0?c.replaceWith(a("<span class='blank' />")):(c.addClass("open"),b.find("> .content").replaceWith(e),a("#tree").get(0).updateScrollbar(),q())}):c.hasClass("open")?(c.removeClass("open"),a("#tree").get(0).updateScrollbar(!0),b.find("> .content").slideUp(function(){a("#tree").get(0).updateScrollbar()})):(c.addClass("open"),a("#tree").get(0).updateScrollbar(!0),b.find("> .content").slideDown(function(){a("#tree").get(0).updateScrollbar()}))})})},r=function(){var b=0,c=0,d=a(window),f=function(b){var c,d;for(d in b)c=c?c+":"+b[d]:b[d];c="/h5ai/php/zipcontent.php?hrefs="+c,a("#download").show().find("a").attr("href",c)},g=function(d){var e=Math.min(b,d.pageX),f=Math.min(c,d.pageY),g=Math.abs(b-d.pageX),h=Math.abs(c-d.pageY),i;d.preventDefault(),a("#selection-rect").css({left:e,top:f,width:g,height:h}),i=a("#selection-rect").fracs("rect"),a("#extended a").removeClass("selected").each(function(){var b=a(this),c=b.fracs("rect"),d=i.intersection(c);d&&!b.closest(".entry").hasClass("folder-parent")&&b.addClass("selected")})},h=function(b){b.preventDefault(),a("#selection-rect").hide().css({left:0,top:0,width:0,height:0}),d.unbind("mousemove",g);var c=[];a("#extended a.selected").each(function(){c.push(a(this).attr("href"))}),c.length>0&&f(c)},i=function(e){e.preventDefault(),b=e.pageX,c=e.pageY,a("#download").hide().find("a").attr("href","#"),a("#extended a").removeClass("selected"),a("#selection-rect").show().css({left:b,top:c,width:0,height:0}),d.bind("mousemove",g).one("mouseup",h)},j=function(a){return a.stopPropagation(),!1};e.zippedDownload&&(a("body>nav,body>footer,#tree,#extended a").bind("mousedown",j),a("#extended a").live("mousedown",j),d.bind("mousedown",i))},s=function(){i(),j(),k(),m(),n(),p(c),o(c,e.lang,e.useBrowserLang),q(),r()},t={settings:e,shiftTree:l,linkHoverStates:n,pathClick:f,triggerPathClick:g,init:s};return t},e=function(b,c){"use strict";var d={customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html"},e=function(){document.title=document.domain+document.location.pathname;try{document.title=decodeURI(document.title)}catch(a){}},f=function(){var c,d,e=a("body > nav ul"),f="/",g=b.getPath(f),h=document.location.pathname.split("/");e.append(g.updateCrumbHtml());for(c in h)d=h[c],d!==""&&(f+=d+"/",e.append(b.getPath(f).updateCrumbHtml()))},g=function(){var d=a("#table th"),e=d.eq(1).find("a"),f=d.eq(2).find("a"),g=d.eq(3).find("a"),h=document.location.search,i={column:h.indexOf("C=N")>=0?"name":h.indexOf("C=M")>=0?"date":h.indexOf("C=S")>=0?"size":c.settings.sortorder.column,ascending:h.indexOf("O=A")>=0?!0:h.indexOf("O=D")>=0?!1:c.settings.sortorder.ascending},j,k,l;k=a("<ul/>"),l=a("<li class='header' />").appendTo(k).append(a("<a class='icon'></a>")).append(a("<a class='label' href='"+e.attr("href")+"'><span class='l10n-name'>"+e.text()+"</span></a>")).append(a("<a class='date' href='"+f.attr("href")+"'><span class='l10n-lastModified'>"+f.text()+"</span></a>")).append(a("<a class='size' href='"+g.attr("href")+"'><span class='l10n-size'>"+g.text()+"</span></a>")),i.ascending?j=a("<img src='/h5ai/images/ascending.png' class='sort' alt='ascending' />"):j=a("<img src='/h5ai/images/descending.png' class='sort' alt='descending' />"),i.column==="date"?l.find("a.date").prepend(j):i.column==="size"?l.find("a.size").prepend(j):l.find("a.label").append(j),a("#table td").closest("tr").each(function(){var a=b.getPath(document.location.pathname,this);k.append(a.updateExtendedHtml())}),a("#extended").append(k),k.children(".entry:not(.parentfolder)").size()===0&&a("#extended").append(a("<div class='empty l10n-empty'>empty</div>"))},h=function(){a.ajax({url:d.customHeader,dataType:"html",success:function(b){a("#content > header").append(a(b)).show()}}),a.ajax({url:d.customFooter,dataType:"html",success:function(b){a("#content > footer").prepend(a(b)).show()}})},i=function(){a(".folderCount").text(a("#extended .entry.folder:not(.parentfolder)").size()),a(".fileCount").text(a("#extended .entry.file").size())},j=function(){e(),f(),g(),h(),i()},k={init:j};return k},f=function(b,c){"use strict";var d=/^text\/html;h5ai=/,e={},f=function(b,f){if(c.settings.folderStatus[b]){f(c.settings.folderStatus[b]);return}if(e[b]){f(e[b]);return}a.ajax({url:b,type:"HEAD",complete:function(a){var c=a.status;c===200&&d.test(a.getResponseHeader("Content-Type"))&&(c="h5ai"),e[b]=c,f(c)}})},g=function(a){a.isFolder&&!a.isParentFolder&&a.status===undefined&&f(a.absHref,function(b){b!=="h5ai"&&(a.status=b),a.updateHtml(),c.linkHoverStates()})},h=function(){var a;for(a in b.cache)g(b.cache[a])},i=function(c,e,h){f(c,function(f){if(f!=="h5ai"){h(f,{});return}a.ajax({url:c,type:"GET",dataType:"html",error:function(a){h(a.status,{})},success:function(f,i,j){var k={};if(!d.test(j.getResponseHeader("Content-Type"))){h(j.status,{});return}a(f).find("#table td").closest("tr").each(function(){var a=b.getPath(c,this);a.isFolder&&(!a.isParentFolder||e)&&(k[a.absHref]=a,g(a))}),h("h5ai",k)}})})},j=function(a,c){i(a,!1,function(d,e){var f=b.getPath(a);f.status=d,f.content=e,c(f)})},k=function(a,c,d){j(a,function(e){var f=b.splitPathname(a)[0];e.treeOpen=!0,d&&(e.content[d.absHref]=d),f===""?c(e):k(f,c,e)})},l=function(){k(document.location.pathname,function(b){a("#tree").append(b.updateTreeHtml()).scrollpanel().show(),c.shiftTree(!1,!0),c.linkHoverStates(),setTimeout(function(){a("#tree").get(0).updateScrollbar()},1)})},m=function(){c.settings.showTree&&(h(),l())},n={fetchStatusAndContent:i,init:m};return n},g=new c,h=new d(h5aiOptions,h5aiLangs),i=new e(g,h),j=new f(g,h);a.h5ai={click:a.proxy(h.pathClick,h)},a(function(){i.init(),j.init(),h.init()})})(jQuery)
