diff --git a/src/h5ai/css/main.less b/src/h5ai/css/main.less
index 0656d2ad..aa6ecee9 100644
--- a/src/h5ai/css/main.less
+++ b/src/h5ai/css/main.less
@@ -197,6 +197,14 @@ body > nav {
 			margin-bottom: 8px;
 		}
 	}
+	.empty {
+		padding: 16px;
+		height: 120px;
+		text-align: center;
+		color: #ddd;
+		font-size: 5em;
+		font-weight: bold;
+	}
 }
 
 
diff --git a/src/h5ai/footer.html b/src/h5ai/footer.html
index b5d9dec3..8d651ff8 100644
--- a/src/h5ai/footer.html
+++ b/src/h5ai/footer.html
@@ -16,8 +16,8 @@
 		and
 		<a href="http://tiheum.deviantart.com/art/Faenza-Icons-173323228" target="_blank" title="icon theme for Gnome">Faenza icons</a>
 	</footer>
-	<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
-	<script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery-1.6.1.min.js"><\/script>' )</script>
+	<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
+	<script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery.min.js"><\/script>' )</script>
 	<script src="/h5ai/js/main.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/h5ai/header.html b/src/h5ai/header.html
index 9aed9e00..cedf7fdc 100644
--- a/src/h5ai/header.html
+++ b/src/h5ai/header.html
@@ -10,7 +10,7 @@
 	<link rel="apple-touch-icon" href="/h5ai/images/folder.png">
 	<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold">
 	<link rel="stylesheet" type="text/css" href="/h5ai/css/main.css">
-	<script src="/h5ai/js/lib/modernizr-2.0.4.min.js"></script>
+	<script src="/h5ai/js/lib/modernizr.min.js"></script>
 </head>
 <body>
 	<nav>
diff --git a/src/h5ai/js/lib/jquery-1.6.1.min.js b/src/h5ai/js/lib/jquery.min.js
similarity index 100%
rename from src/h5ai/js/lib/jquery-1.6.1.min.js
rename to src/h5ai/js/lib/jquery.min.js
diff --git a/src/h5ai/js/lib/modernizr-2.0.4.min.js b/src/h5ai/js/lib/modernizr.min.js
similarity index 100%
rename from src/h5ai/js/lib/modernizr-2.0.4.min.js
rename to src/h5ai/js/lib/modernizr.min.js
diff --git a/src/h5ai/js/main.js b/src/h5ai/js/main.js
index e403e2df..29629da1 100644
--- a/src/h5ai/js/main.js
+++ b/src/h5ai/js/main.js
@@ -271,6 +271,9 @@
 					$entry.addClass( "file" );
 				};
 			} );
+			if ( $( "#details .empty" ).size() > 0 ) {
+				$div.append( $( "<div class='empty'>empty</div>" ) );
+			};
 			$div.append( $( "<div class='clearfix'></div>" ) );
 			$( "#icons" ).append( $div );
 		};
diff --git a/target/h5ai/css/main.css b/target/h5ai/css/main.css
index 8c6f2d60..18ff4fc8 100644
--- a/target/h5ai/css/main.css
+++ b/target/h5ai/css/main.css
@@ -1 +1 @@
-html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font:13px/1.231 sans-serif;*font-size:small}select,input,textarea,button{font:99% sans-serif}pre,code,kbd,samp{font-family:monospace,sans-serif}a:hover,a:active{outline:0}ul,ol{margin-left:2em}ol{list-style-type:decimal}nav ul,nav li{margin:0;list-style:none;list-style-image:none}small{font-size:85%}strong,th{font-weight:bold}td{vertical-align:top}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-0.5em}sub{bottom:-0.25em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word;padding:15px}textarea{overflow:auto}.ie6 legend,.ie7 legend{margin-left:-7px}input[type="radio"]{vertical-align:text-bottom}input[type="checkbox"]{vertical-align:bottom}.ie7 input[type="checkbox"]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}label,input[type="button"],input[type="submit"],input[type="image"],button{cursor:pointer}button,input,select,textarea{margin:0}input:invalid,textarea:invalid{border-radius:1px;-moz-box-shadow:0 0 5px red;-webkit-box-shadow:0 0 5px red;box-shadow:0 0 5px red}.no-boxshadow input:invalid,.no-boxshadow textarea:invalid{background-color:#f0dddd}::-moz-selection{background:#ff5e99;color:#fff;text-shadow:none}::selection{background:#ff5e99;color:#fff;text-shadow:none}a:link{-webkit-tap-highlight-color:#ff5e99}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}body,select,input,textarea{color:#444}h1,h2,h3,h4,h5,h6{font-weight:bold}a,a:active,a:visited{color:#607890}a:hover{color:#036}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat;text-align:left;direction:ltr}.hidden{display:none;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}@media print{*{background:transparent!important;color:black!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{color:#444!important;text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{font-family:Ubuntu,sans-serif;font-size:16px;color:#555;margin:80px 30px}a,a:visited{color:#555;text-decoration:none}a:hover,a:visited:hover{color:#e80}body>nav{position:fixed;z-index:1;width:100%;left:0;top:0;font-size:.85em;background-color:#f0f0f0;border-bottom:1px solid #e1e1e1;-webkit-box-shadow:0 0 30px #555;-moz-box-shadow:0 0 30px #555;box-shadow:0 0 30px #555}body>nav li{cursor:pointer;opacity:.7;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}body>nav li.crumb{float:left;border-right:1px dotted #e1e1e1}body>nav li.view{float:right;border-left:1px dotted #e1e1e1}body>nav li:hover,body>nav li:hover a{color:#e80;background-color:rgba(255,255,255,0.5);opacity:1.0}body>nav a{display:block;height:30px;line-height:30px;padding:0 10px}body>nav img{width:16px;height:16px;vertical-align:bottom;padding:0 6px 6px 0}#content{max-width:980px;margin:0 auto}#content>header{display:none;padding-bottom:10px;margin-bottom:80px;border-bottom:2px dashed #ddd}#content>footer{display:none;padding-top:10px;margin-top:80px;border-top:2px dashed #ddd}#details{display:none}#details table{display:block;width:100%;border-collapse:collapse}#details table tr.entry:hover,#details table tr.entry:hover a{background-color:#f0f0f0;color:#e80;cursor:pointer}#details table th,#details table td{padding:3px 6px;text-align:left;border:0}#details table th{padding-bottom:18px;opacity:.4;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#details table th.header:hover,#details table th.header:hover a{color:#555;cursor:pointer;opacity:.9}#details table th a,#details table th a:visited{color:#555;font-weight:normal}#details table th a img,#details table th a:visited img{width:12px;height:12px;padding:0 8px}#details table td{border:1px solid #ddd;border-left:none;border-right:0}#details table .icon{text-align:center;width:16px}#details table .icon img{width:16px;height:16px;padding-top:2px}#details table .name{width:682px;max-width:682px;overflow:hidden;white-space:nowrap}#details table .date{text-align:right;width:160px;min-width:160px;white-space:nowrap}#details table .size{text-align:right;width:70px;min-width:70px;white-space:nowrap}#details .empty{text-align:center;margin:50px 0;color:#ddd;font-size:5em;font-weight:bold}#icons{display:none;padding:10px;border:1px solid #eee;border-radius:15px}#icons .entry{margin:8px;padding:8px;width:100px;height:120px;float:left;text-align:center;overflow:hidden;border-radius:5px;cursor:pointer;border:1px solid rgba(0,0,0,0)}#icons .entry:hover{color:#e80;border-color:#eee;-webkit-box-shadow:0 0 20px #999;-moz-box-shadow:0 0 20px #999;box-shadow:0 0 20px #999}#icons .entry img{width:48px;height:48px;margin-bottom:8px}body>footer{position:fixed;z-index:1;width:100%;left:0;bottom:0;padding:10px 0;border-top:1px solid #e1e1e1;background-color:#f0f0f0;color:#999;font-size:.85em;text-align:center;-webkit-box-shadow:0 0 30px #555;-moz-box-shadow:0 0 30px #555;box-shadow:0 0 30px #555}body>footer a,body>footer a:visited{color:#555;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}body>footer a:hover,body>footer a:visited:hover{color:#e80}#html5{position:absolute;left:6px;bottom:6px;float:left}#html5 img{width:20px;height:20px;opacity:.4;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#html5:hover img{opacity:.8}
\ No newline at end of file
+html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font:13px/1.231 sans-serif;*font-size:small}select,input,textarea,button{font:99% sans-serif}pre,code,kbd,samp{font-family:monospace,sans-serif}a:hover,a:active{outline:0}ul,ol{margin-left:2em}ol{list-style-type:decimal}nav ul,nav li{margin:0;list-style:none;list-style-image:none}small{font-size:85%}strong,th{font-weight:bold}td{vertical-align:top}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-0.5em}sub{bottom:-0.25em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word;padding:15px}textarea{overflow:auto}.ie6 legend,.ie7 legend{margin-left:-7px}input[type="radio"]{vertical-align:text-bottom}input[type="checkbox"]{vertical-align:bottom}.ie7 input[type="checkbox"]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}label,input[type="button"],input[type="submit"],input[type="image"],button{cursor:pointer}button,input,select,textarea{margin:0}input:invalid,textarea:invalid{border-radius:1px;-moz-box-shadow:0 0 5px red;-webkit-box-shadow:0 0 5px red;box-shadow:0 0 5px red}.no-boxshadow input:invalid,.no-boxshadow textarea:invalid{background-color:#f0dddd}::-moz-selection{background:#ff5e99;color:#fff;text-shadow:none}::selection{background:#ff5e99;color:#fff;text-shadow:none}a:link{-webkit-tap-highlight-color:#ff5e99}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}body,select,input,textarea{color:#444}h1,h2,h3,h4,h5,h6{font-weight:bold}a,a:active,a:visited{color:#607890}a:hover{color:#036}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat;text-align:left;direction:ltr}.hidden{display:none;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}@media print{*{background:transparent!important;color:black!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{color:#444!important;text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{font-family:Ubuntu,sans-serif;font-size:16px;color:#555;margin:80px 30px}a,a:visited{color:#555;text-decoration:none}a:hover,a:visited:hover{color:#e80}body>nav{position:fixed;z-index:1;width:100%;left:0;top:0;font-size:.85em;background-color:#f0f0f0;border-bottom:1px solid #e1e1e1;-webkit-box-shadow:0 0 30px #555;-moz-box-shadow:0 0 30px #555;box-shadow:0 0 30px #555}body>nav li{cursor:pointer;opacity:.7;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}body>nav li.crumb{float:left;border-right:1px dotted #e1e1e1}body>nav li.view{float:right;border-left:1px dotted #e1e1e1}body>nav li:hover,body>nav li:hover a{color:#e80;background-color:rgba(255,255,255,0.5);opacity:1.0}body>nav a{display:block;height:30px;line-height:30px;padding:0 10px}body>nav img{width:16px;height:16px;vertical-align:bottom;padding:0 6px 6px 0}#content{max-width:980px;margin:0 auto}#content>header{display:none;padding-bottom:10px;margin-bottom:80px;border-bottom:2px dashed #ddd}#content>footer{display:none;padding-top:10px;margin-top:80px;border-top:2px dashed #ddd}#details{display:none}#details table{display:block;width:100%;border-collapse:collapse}#details table tr.entry:hover,#details table tr.entry:hover a{background-color:#f0f0f0;color:#e80;cursor:pointer}#details table th,#details table td{padding:3px 6px;text-align:left;border:0}#details table th{padding-bottom:18px;opacity:.4;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#details table th.header:hover,#details table th.header:hover a{color:#555;cursor:pointer;opacity:.9}#details table th a,#details table th a:visited{color:#555;font-weight:normal}#details table th a img,#details table th a:visited img{width:12px;height:12px;padding:0 8px}#details table td{border:1px solid #ddd;border-left:none;border-right:0}#details table .icon{text-align:center;width:16px}#details table .icon img{width:16px;height:16px;padding-top:2px}#details table .name{width:682px;max-width:682px;overflow:hidden;white-space:nowrap}#details table .date{text-align:right;width:160px;min-width:160px;white-space:nowrap}#details table .size{text-align:right;width:70px;min-width:70px;white-space:nowrap}#details .empty{text-align:center;margin:50px 0;color:#ddd;font-size:5em;font-weight:bold}#icons{display:none;padding:10px;border:1px solid #eee;border-radius:15px}#icons .entry{margin:8px;padding:8px;width:100px;height:120px;float:left;text-align:center;overflow:hidden;border-radius:5px;cursor:pointer;border:1px solid rgba(0,0,0,0)}#icons .entry:hover{color:#e80;border-color:#eee;-webkit-box-shadow:0 0 20px #999;-moz-box-shadow:0 0 20px #999;box-shadow:0 0 20px #999}#icons .entry img{width:48px;height:48px;margin-bottom:8px}#icons .empty{padding:16px;height:120px;text-align:center;color:#ddd;font-size:5em;font-weight:bold}body>footer{position:fixed;z-index:1;width:100%;left:0;bottom:0;padding:10px 0;border-top:1px solid #e1e1e1;background-color:#f0f0f0;color:#999;font-size:.85em;text-align:center;-webkit-box-shadow:0 0 30px #555;-moz-box-shadow:0 0 30px #555;box-shadow:0 0 30px #555}body>footer a,body>footer a:visited{color:#555;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}body>footer a:hover,body>footer a:visited:hover{color:#e80}#html5{position:absolute;left:6px;bottom:6px;float:left}#html5 img{width:20px;height:20px;opacity:.4;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#html5:hover img{opacity:.8}
\ No newline at end of file
diff --git a/target/h5ai/footer.html b/target/h5ai/footer.html
index 8d77f252..39c59a42 100644
--- a/target/h5ai/footer.html
+++ b/target/h5ai/footer.html
@@ -16,8 +16,8 @@
 		and
 		<a href="http://tiheum.deviantart.com/art/Faenza-Icons-173323228" target="_blank" title="icon theme for Gnome">Faenza icons</a>
 	</footer>
-	<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
-	<script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery-1.6.1.min.js"><\/script>' )</script>
+	<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
+	<script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery.min.js"><\/script>' )</script>
 	<script src="/h5ai/js/main.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/target/h5ai/header.html b/target/h5ai/header.html
index dbd7d713..f5fd453f 100644
--- a/target/h5ai/header.html
+++ b/target/h5ai/header.html
@@ -10,7 +10,7 @@
 	<link rel="apple-touch-icon" href="/h5ai/images/folder.png">
 	<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold">
 	<link rel="stylesheet" type="text/css" href="/h5ai/css/main.css">
-	<script src="/h5ai/js/lib/modernizr-2.0.4.min.js"></script>
+	<script src="/h5ai/js/lib/modernizr.min.js"></script>
 </head>
 <body>
 	<nav>
diff --git a/target/h5ai/js/lib/jquery-1.6.1.min.js b/target/h5ai/js/lib/jquery.min.js
similarity index 100%
rename from target/h5ai/js/lib/jquery-1.6.1.min.js
rename to target/h5ai/js/lib/jquery.min.js
diff --git a/target/h5ai/js/lib/modernizr-2.0.4.min.js b/target/h5ai/js/lib/modernizr.min.js
similarity index 100%
rename from target/h5ai/js/lib/modernizr-2.0.4.min.js
rename to target/h5ai/js/lib/modernizr.min.js
diff --git a/target/h5ai/js/main.js b/target/h5ai/js/main.js
index b5a074ef..d0b35c92 100644
--- a/target/h5ai/js/main.js
+++ b/target/h5ai/js/main.js
@@ -1 +1 @@
-(function(a){a(function(){a.h5ai=new H5ai()});H5ai=function(r){var e={columnClasses:["icon","name","date","size"],defaultSortOrder:"C=N;O=A",viewmodes:["details","icons"],store:{viewmode:"h5ai.viewmode"},icons:{crumb:"/h5ai/icons/crumb.png",ascending:"/h5ai/icons/ascending.png",descending:"/h5ai/icons/descending.png"},customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html",callbacks:{folderClick:[],fileClick:[]}};this.folderClick=function(s){if(typeof s==="function"){e.callbacks.folderClick.push(s)}return this};this.fileClick=function(s){if(typeof s==="function"){e.callbacks.fileClick.push(s)}return this};var p=function(){b();h();n();k()};var o=function(s){for(idx in e.callbacks.folderClick){e.callbacks.folderClick[idx].call(window,s)}};var g=function(s){for(idx in e.callbacks.fileClick){e.callbacks.fileClick[idx].call(window,s)}};var i=function(){var s=localStorage.getItem(e.store.viewmode);if(a.inArray(s,e.viewmodes)){return s}return e.viewmodes[0]};var b=function(s){if(s!==undefined){localStorage.setItem(e.store.viewmode,s)}if(i()==="icons"){a("#details").hide();a("#icons").show()}else{a("#details").show();a("#icons").hide()}};var h=function(){a("#domain span").text(document.domain);var w=decodeURI(document.location.pathname);var v=w.split("/");var u="/";var t=a("nav ul");for(idx in v){var s=v[idx];if(s!==""){u+=s+"/";t.append(a("<li class='crumb'><a href='"+u+"'><img src='"+e.icons.crumb+"' alt='>' />"+s+"</a></li>"))}}a("nav li a").closest("li").click(function(){document.location.href=a(this).find("a").attr("href")});document.title=document.domain+w};var d=function(){a("#details td").removeAttr("align").removeAttr("valign")};var j=function(s){if(s>=0&&s<e.columnClasses.length){return e.columnClasses[s]}return"unknown"};var c=function(){a("#details tr").each(function(){var s=0;a(this).find("th,td").each(function(){a(this).addClass(j(s));s++})})};var m=function(){a("#details th a").closest("th").addClass("header").click(function(){document.location.href=a(this).find("a").attr("href")});a("#details td.name a").closest("tr").addClass("entry").click(function(){document.location.href=a(this).find("td.name a").attr("href")});a("#details tr.entry").each(function(){var s=a(this);s.find("td.name a").addClass("label");if(s.find("td.icon img").attr("alt")==="[DIR]"){s.addClass("folder")}else{s.addClass("file")}});$entries=a("#details tr.entry");if($entries.size()===0||$entries.size()===1&&$entries.find("td.name a").text()==="Parent Directory"){a("#details").append(a("<div class='empty'>empty</div>"))}};var f=function(){var s=document.location.search;if(s===""){s=e.defaultSortOrder}var t;if(s.indexOf("O=A")>=0){t=a("<img src='"+e.icons.ascending+"' class='sort' alt='ascending' />")}else{t=a("<img src='"+e.icons.descending+"' class='sort' alt='descending' />")}if(s.indexOf("C=N")>=0){a("#details th.name a").append(t)}else{if(s.indexOf("C=M")>=0){a("#details th.date a").prepend(t)}else{if(s.indexOf("C=S")>=0){a("#details th.size a").prepend(t)}}}};var l=function(){d();c();m();f()};var q=function(){var s=a("<div></div>");a("#details td.name a").closest("tr").each(function(){var w=a(this);var v=w.find("td.icon img").attr("src").replace("icons","images");var t=w.find("td.name a");var u=a("<div class='entry'><img src='"+v+"' /><div class='label'>"+t.text()+"</div></div>").click(function(){document.location.href=t.attr("href")}).appendTo(s);if(w.hasClass("folder")){u.addClass("folder")}else{u.addClass("file")}});s.append(a("<div class='clearfix'></div>"));a("#icons").append(s)};var n=function(){l();q();a("#content .entry.folder").click(function(){o(a(this).find(".label").text())});a("#content .entry.file").click(function(){g(a(this).find(".label").text())});a("#viewdetails").closest("li").click(function(){b("details")});a("#viewicons").closest("li").click(function(){b("icons")})};var k=function(){a.ajax({url:e.customHeader,dataType:"html",success:function(s){a("#content > header").append(a(s)).show()}});a.ajax({url:e.customFooter,dataType:"html",success:function(s){a("#content > footer").prepend(a(s)).show()}})};p()}})(jQuery);
\ No newline at end of file
+(function(a){a(function(){a.h5ai=new H5ai()});H5ai=function(r){var e={columnClasses:["icon","name","date","size"],defaultSortOrder:"C=N;O=A",viewmodes:["details","icons"],store:{viewmode:"h5ai.viewmode"},icons:{crumb:"/h5ai/icons/crumb.png",ascending:"/h5ai/icons/ascending.png",descending:"/h5ai/icons/descending.png"},customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html",callbacks:{folderClick:[],fileClick:[]}};this.folderClick=function(s){if(typeof s==="function"){e.callbacks.folderClick.push(s)}return this};this.fileClick=function(s){if(typeof s==="function"){e.callbacks.fileClick.push(s)}return this};var p=function(){b();h();n();k()};var o=function(s){for(idx in e.callbacks.folderClick){e.callbacks.folderClick[idx].call(window,s)}};var g=function(s){for(idx in e.callbacks.fileClick){e.callbacks.fileClick[idx].call(window,s)}};var i=function(){var s=localStorage.getItem(e.store.viewmode);if(a.inArray(s,e.viewmodes)){return s}return e.viewmodes[0]};var b=function(s){if(s!==undefined){localStorage.setItem(e.store.viewmode,s)}if(i()==="icons"){a("#details").hide();a("#icons").show()}else{a("#details").show();a("#icons").hide()}};var h=function(){a("#domain span").text(document.domain);var w=decodeURI(document.location.pathname);var v=w.split("/");var u="/";var t=a("nav ul");for(idx in v){var s=v[idx];if(s!==""){u+=s+"/";t.append(a("<li class='crumb'><a href='"+u+"'><img src='"+e.icons.crumb+"' alt='>' />"+s+"</a></li>"))}}a("nav li a").closest("li").click(function(){document.location.href=a(this).find("a").attr("href")});document.title=document.domain+w};var d=function(){a("#details td").removeAttr("align").removeAttr("valign")};var j=function(s){if(s>=0&&s<e.columnClasses.length){return e.columnClasses[s]}return"unknown"};var c=function(){a("#details tr").each(function(){var s=0;a(this).find("th,td").each(function(){a(this).addClass(j(s));s++})})};var m=function(){a("#details th a").closest("th").addClass("header").click(function(){document.location.href=a(this).find("a").attr("href")});a("#details td.name a").closest("tr").addClass("entry").click(function(){document.location.href=a(this).find("td.name a").attr("href")});a("#details tr.entry").each(function(){var s=a(this);s.find("td.name a").addClass("label");if(s.find("td.icon img").attr("alt")==="[DIR]"){s.addClass("folder")}else{s.addClass("file")}});$entries=a("#details tr.entry");if($entries.size()===0||$entries.size()===1&&$entries.find("td.name a").text()==="Parent Directory"){a("#details").append(a("<div class='empty'>empty</div>"))}};var f=function(){var s=document.location.search;if(s===""){s=e.defaultSortOrder}var t;if(s.indexOf("O=A")>=0){t=a("<img src='"+e.icons.ascending+"' class='sort' alt='ascending' />")}else{t=a("<img src='"+e.icons.descending+"' class='sort' alt='descending' />")}if(s.indexOf("C=N")>=0){a("#details th.name a").append(t)}else{if(s.indexOf("C=M")>=0){a("#details th.date a").prepend(t)}else{if(s.indexOf("C=S")>=0){a("#details th.size a").prepend(t)}}}};var l=function(){d();c();m();f()};var q=function(){var s=a("<div></div>");a("#details td.name a").closest("tr").each(function(){var w=a(this);var v=w.find("td.icon img").attr("src").replace("icons","images");var t=w.find("td.name a");var u=a("<div class='entry'><img src='"+v+"' /><div class='label'>"+t.text()+"</div></div>").click(function(){document.location.href=t.attr("href")}).appendTo(s);if(w.hasClass("folder")){u.addClass("folder")}else{u.addClass("file")}});if(a("#details .empty").size()>0){s.append(a("<div class='empty'>empty</div>"))}s.append(a("<div class='clearfix'></div>"));a("#icons").append(s)};var n=function(){l();q();a("#content .entry.folder").click(function(){o(a(this).find(".label").text())});a("#content .entry.file").click(function(){g(a(this).find(".label").text())});a("#viewdetails").closest("li").click(function(){b("details")});a("#viewicons").closest("li").click(function(){b("icons")})};var k=function(){a.ajax({url:e.customHeader,dataType:"html",success:function(s){a("#content > header").append(a(s)).show()}});a.ajax({url:e.customFooter,dataType:"html",success:function(s){a("#content > footer").prepend(a(s)).show()}})};p()}})(jQuery);
\ No newline at end of file