diff --git a/src/h5ai/css/inc/extended.less b/src/h5ai/css/inc/extended.less
index 6aa5b6d0..a89a2c1b 100644
--- a/src/h5ai/css/inc/extended.less
+++ b/src/h5ai/css/inc/extended.less
@@ -45,7 +45,7 @@
                         background-color: #f6f6f6;
                         color: #e80;
                     }
-                    &.selected {
+                    &.selected:not(.selecting), &.selecting:not(.selected) {
                         border-color: rgba(240,100,0,0.2);
                         background-color: rgba(240,100,0,0.2);
                     }
@@ -193,7 +193,7 @@
                         border-color: #eee;
                         background-color: #f6f6f6;
                     }
-                    &.selected {
+                    &.selected:not(.selecting), &.selecting:not(.selected) {
                         border-color: rgba(240,100,0,0.2);
                         background-color: rgba(240,100,0,0.2);
                     }
diff --git a/src/h5ai/footer.html b/src/h5ai/footer.html
index 1d81b3f8..07167e41 100644
--- a/src/h5ai/footer.html
+++ b/src/h5ai/footer.html
@@ -27,9 +27,7 @@
             </span>
         </span>
     </footer>
-    <script src="/h5ai/js/lib/jquery.min.js"></script>
-    <script src="/h5ai/js/lib/jquery.mousewheel.min.js"></script>
-    <script src="/h5ai/js/lib/jquery.fracs-core.min.js"></script>
+    <script src="/h5ai/js/libs.js"></script>
     <script src="/h5ai/options.js"></script>
     <script src="/h5ai/js/main-js.js"></script>
 </body>
diff --git a/src/h5ai/header.html b/src/h5ai/header.html
index 7764bd33..11cd52a7 100644
--- a/src/h5ai/header.html
+++ b/src/h5ai/header.html
@@ -14,7 +14,7 @@
     <link rel="apple-touch-icon" type="image/png" href="/h5ai/images/h5ai-48x48.png">
     <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold">
     <link rel="stylesheet" href="/h5ai/css/main-js.css">
-    <script src="/h5ai/js/lib/modernizr.min.js"></script>
+    <script src="/h5ai/js/modernizr.min.js"></script>
 </head>
 <body>
     <div id="selection-rect"></div>
diff --git a/src/h5ai/header.php b/src/h5ai/header.php
index 79ec5817..6e645106 100644
--- a/src/h5ai/header.php
+++ b/src/h5ai/header.php
@@ -15,7 +15,7 @@
     <link rel="apple-touch-icon" type="image/png" href="/h5ai/images/h5ai-48x48.png">
     <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold">
     <link rel="stylesheet" href="/h5ai/css/main-php.css">
-    <script src="/h5ai/js/lib/modernizr.min.js"></script>
+    <script src="/h5ai/js/modernizr.min.js"></script>
 </head>
 <body>
     <div id="selection-rect"></div>
@@ -60,9 +60,7 @@
             </span>
         </span>
     </footer>
-    <script src="/h5ai/js/lib/jquery.min.js"></script>
-    <script src="/h5ai/js/lib/jquery.mousewheel.min.js"></script>
-    <script src="/h5ai/js/lib/jquery.fracs-core.min.js"></script>
+    <script src="/h5ai/js/libs.js"></script>
     <script src="/h5ai/options.js"></script>
     <script src="/h5ai/js/main-php.js"></script>
     <section id="table">
diff --git a/src/h5ai/js/inc/Extended.js b/src/h5ai/js/inc/Extended.js
index d5acd5a4..1de1bec1 100644
--- a/src/h5ai/js/inc/Extended.js
+++ b/src/h5ai/js/inc/Extended.js
@@ -95,7 +95,7 @@ H5aiJs.factory.Extended = function () {
                 }
             });
         },
-        initCounts = function () {
+        initTotals = function () {
 
             $(".folderCount").text($("#extended .entry.folder:not(.parentfolder)").size());
             $(".fileCount").text($("#extended .entry.file").size());
@@ -107,6 +107,6 @@ H5aiJs.factory.Extended = function () {
         initBreadcrumb();
         initExtendedView();
         customize();
-        initCounts();
+        initTotals();
     };
 };
diff --git a/src/h5ai/js/inc/H5ai.js b/src/h5ai/js/inc/H5ai.js
index 70a4df45..6b3d1adb 100644
--- a/src/h5ai/js/inc/H5ai.js
+++ b/src/h5ai/js/inc/H5ai.js
@@ -1,12 +1,13 @@
-/*global window, $, H5aiJs, localStorage */
 
 H5aiJs.factory.H5ai = function (options, langs) {
+    /*global window, $, amplify*/
 
     var $window = $(window),
+        $document = $(document),
         defaults = {
             store: {
-                viewmode: "h5ai.viewmode",
-                lang: "h5ai.lang"
+                viewmode: "h5ai.pref.viewmode",
+                lang: "h5ai.pref.lang"
             },
             callbacks: {
                 pathClick: []
@@ -47,14 +48,14 @@ H5aiJs.factory.H5ai = function (options, langs) {
         },
         getViewmode = function () {
 
-            var viewmode = localStorage.getItem(settings.store.viewmode);
+            var viewmode = amplify.store(settings.store.viewmode);
 
             return $.inArray(viewmode, settings.viewmodes) >= 0 ? viewmode : settings.viewmodes[0];
         },
         applyViewmode = function (viewmode) {
 
             if (viewmode) {
-                localStorage.setItem(settings.store.viewmode, viewmode);
+                amplify.store(settings.store.viewmode, viewmode);
             }
             viewmode = getViewmode();
 
@@ -189,7 +190,7 @@ H5aiJs.factory.H5ai = function (options, langs) {
         },
         localize = function (langs, lang, useBrowserLang) {
 
-            var storedLang = localStorage.getItem(settings.store.lang),
+            var storedLang = amplify.store(settings.store.lang),
                 browserLang, selected, key;
 
             if (langs[storedLang]) {
@@ -219,7 +220,7 @@ H5aiJs.factory.H5ai = function (options, langs) {
         },
         initLangSelector = function (langs) {
 
-            var idx, lang,
+            var $langOptions = $(".langOptions"),
                 sortedLangsKeys = [],
                 $ul;
 
@@ -235,18 +236,22 @@ H5aiJs.factory.H5ai = function (options, langs) {
                     .text(lang + " - " + langs[lang].lang)
                     .appendTo($ul)
                     .click(function () {
-                        localStorage.setItem(settings.store.lang, lang);
+                        amplify.store(settings.store.lang, lang);
                         localize(langs, lang, false);
                     });
             });
             $("#langSelector .langOptions").append($ul);
             $("#langSelector").hover(
                 function () {
-                    var $ele = $(".langOptions");
-                    $ele.css("top", "-" + $ele.outerHeight() + "px").stop(true, true).fadeIn();
+                    $langOptions
+                        .css("top", "-" + $langOptions.outerHeight() + "px")
+                        .stop(true, true)
+                        .fadeIn();
                 },
                 function () {
-                    $(".langOptions").stop(true, true).fadeOut();
+                    $langOptions
+                        .stop(true, true)
+                        .fadeOut();
                 }
             );
         },
@@ -296,14 +301,23 @@ H5aiJs.factory.H5ai = function (options, langs) {
 
             var x = 0,
                 y = 0,
-                selected = function (hrefs) {
+                ctrl = false,
+                updateDownloadBtn = function () {
 
-                    var query, idx;
-                    $.each(hrefs, function (idx, href) {
-                        query = query ? query + ":" + href : href;
-                    });
-                    query = "/h5ai/php/zipcontent.php?hrefs=" + query;
-                    $("#download").show().find("a").attr("href", query);
+                    var query,
+                        href,
+                        $selected = $("#extended a.selected");
+
+                    if ($selected.size() > 0) {
+                        $selected.each(function () {
+                            href = $(this).attr("href");
+                            query = query ? query + ":" + href : href;
+                        });
+                        query = "/h5ai/php/zipcontent.php?hrefs=" + query;
+                        $("#download").show().find("a").attr("href", query);
+                    } else {
+                        $("#download").hide().find("a").attr("href", "#");
+                    }
                 },
                 selectionUpdate = function (event) {
 
@@ -317,41 +331,45 @@ H5aiJs.factory.H5ai = function (options, langs) {
                     $("#selection-rect").css({left: l, top: t, width: w, height: h});
 
                     sel = $("#selection-rect").fracs("rect");
-                    $("#extended a").removeClass("selected").each(function () {
+                    $("#extended a").removeClass("selecting").each(function () {
 
                         var $a = $(this),
                             rect = $a.fracs("rect"),
                             inter = sel.intersection(rect);
                         if (inter && !$a.closest(".entry").hasClass("folder-parent")) {
-                            $a.addClass("selected");
+                            $a.addClass("selecting");
                         }
                     });
                 },
                 selectionEnd = function (event) {
 
                     event.preventDefault();
+                    $document.unbind("mousemove", selectionUpdate);
                     $("#selection-rect").hide().css({left: 0, top: 0, width: 0, height: 0});
-
-                    $window.unbind("mousemove", selectionUpdate);
-
-                    var hrefs = [];
-                    $("#extended a.selected").each(function () {
-                        hrefs.push($(this).attr("href"));
-                    });
-                    if (hrefs.length > 0) {
-                        selected(hrefs);
-                    }
+                    $("#extended a.selecting.selected").removeClass("selecting").removeClass("selected");
+                    $("#extended a.selecting").removeClass("selecting").addClass("selected");
+                    updateDownloadBtn();
                 },
                 selectionStart = function (event) {
 
-                    event.preventDefault();
+                    var view = $.fracs.viewport();
+
                     x = event.pageX;
                     y = event.pageY;
-                    $("#download").hide().find("a").attr("href", "#");
-                    $("#extended a").removeClass("selected");
-                    $("#selection-rect").show().css({left: x, top: y, width: 0, height: 0});
+                    if (x >= view.right || y >= view.bottom) {
+                        // don't block the scrollbars
+                        return;
+                    }
 
-                    $window
+                    event.preventDefault();
+                    if (!ctrl) {
+                        $("#extended a").removeClass("selected");
+                        updateDownloadBtn();
+                    }
+                    $("#selection-rect").show().css({left: x, top: y, width: 0, height: 0});
+                    selectionUpdate(event);
+
+                    $document
                         .bind("mousemove", selectionUpdate)
                         .one("mouseup", selectionEnd);
                 },
@@ -359,12 +377,29 @@ H5aiJs.factory.H5ai = function (options, langs) {
 
                     event.stopPropagation();
                     return false;
+                },
+                noSelectionUnlessCtrl = function (event) {
+
+                    if (!ctrl) {
+                        noSelection(event);
+                    }
                 };
 
             if (settings.zippedDownload) {
-                $("body>nav,body>footer,#tree,#extended a").bind("mousedown", noSelection);
-                $("#extended a").live("mousedown", noSelection);
-                $window.bind("mousedown", selectionStart);
+                $("body>nav,body>footer,#tree").bind("mousedown", noSelection);
+                $("#extended .entry a").bind("mousedown", noSelectionUnlessCtrl).live("mousedown", noSelectionUnlessCtrl);
+                $document
+                    .bind("mousedown", selectionStart)
+                    .keydown(function (event) {
+                        if (event.keyCode === 17) {
+                            ctrl = true;
+                        }
+                    })
+                    .keyup(function (event) {
+                        if (event.keyCode === 17) {
+                            ctrl = false;
+                        }
+                    });
             }
         },
         init = function () {
diff --git a/src/h5ai/js/inc/jquery.utils.js b/src/h5ai/js/inc/jquery.utils.js
deleted file mode 100644
index 02d9dac0..00000000
--- a/src/h5ai/js/inc/jquery.utils.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*global window, jQuery */
-
-(function ($) {
-    "use strict";
-
-    // http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
-    // modified
-    $.log = function () {
-
-        $.log.history = $.log.history || [];
-        $.log.history.push(arguments);
-        if (window.console) {
-            window.console.log(Array.prototype.slice.call(arguments));
-        }
-    };
-
-    $.timer = (function () {
-
-        var start = $.now(),
-            last = start;
-
-        return {
-            log: function (label) {
-                var now = $.now();
-                $.log("timer", label, "+" + (now - last), "=" + (now - start));
-                last = now;
-            }
-        };
-    }());
-
-}(jQuery));
diff --git a/src/h5ai/js/inc/lib/amplify.min.js b/src/h5ai/js/inc/lib/amplify.min.js
new file mode 100644
index 00000000..6e6a9a95
--- /dev/null
+++ b/src/h5ai/js/inc/lib/amplify.min.js
@@ -0,0 +1,10 @@
+/*!
+ * AmplifyJS 1.0.0 - Core, Store, Request
+ * 
+ * Copyright 2011 appendTo LLC. (http://appendto.com/team)
+ * Dual licensed under the MIT or GPL licenses.
+ * http://appendto.com/open-source-licenses
+ * 
+ * http://amplifyjs.com
+ */
+(function(a,b){var c=[].slice,d={},e=a.amplify={publish:function(a){var b=c.call(arguments,1),e,f,g=0,h;if(!d[a])return!0;for(f=d[a].length;g<f;g++){e=d[a][g],h=e.callback.apply(e.context,b);if(h===!1)break}return h!==!1},subscribe:function(a,b,c,e){arguments.length===3&&typeof c=="number"&&(e=c,c=b,b=null),arguments.length===2&&(c=b,b=null),e=e||10;var f=0,g=a.split(/\s/),h=g.length;for(;f<h;f++){a=g[f],d[a]||(d[a]=[]);var i=d[a].length-1,j={callback:c,context:b,priority:e};for(;i>=0;i--)if(d[a][i].priority<=e){d[a].splice(i+1,0,j);return c}d[a].unshift(j)}return c},unsubscribe:function(a,b){if(!!d[a]){var c=d[a].length,e=0;for(;e<c;e++)if(d[a][e].callback===b){d[a].splice(e,1);break}}}}})(this),function(a,b){function e(a,e){c.addType(a,function(f,g,h){var i,j,k,l,m=g,n=(new Date).getTime();if(!f){m={},l=[],k=0;try{f=e.length;while(f=e.key(k++))d.test(f)&&(j=JSON.parse(e.getItem(f)),j.expires&&j.expires<=n?l.push(f):m[f.replace(d,"")]=j.data);while(f=l.pop())e.removeItem(f)}catch(o){}return m}f="__amplify__"+f;if(g===b){i=e.getItem(f),j=i?JSON.parse(i):{expires:-1};if(j.expires&&j.expires<=n)e.removeItem(f);else return j.data}else if(g===null)e.removeItem(f);else{j=JSON.stringify({data:g,expires:h.expires?n+h.expires:null});try{e.setItem(f,j)}catch(o){c[a]();try{e.setItem(f,j)}catch(o){throw c.error()}}}return m})}var c=a.store=function(a,b,d,e){var e=c.type;d&&d.type&&d.type in c.types&&(e=d.type);return c.types[e](a,b,d||{})};c.types={},c.type=null,c.addType=function(a,b){c.type||(c.type=a),c.types[a]=b,c[a]=function(b,d,e){e=e||{},e.type=a;return c(b,d,e)}},c.error=function(){return"amplify.store quota exceeded"};var d=/^__amplify__/;for(var f in{localStorage:1,sessionStorage:1})try{window[f].getItem&&e(f,window[f])}catch(g){}if(window.globalStorage)try{e("globalStorage",window.globalStorage[window.location.hostname]),c.type==="sessionStorage"&&(c.type="globalStorage")}catch(g){}(function(){if(!c.types.localStorage){var a=document.createElement("div"),d="amplify";a.style.display="none",document.getElementsByTagName("head")[0].appendChild(a),a.addBehavior&&(a.addBehavior("#default#userdata"),c.addType("userData",function(e,f,g){a.load(d);var h,i,j,k,l,m=f,n=(new Date).getTime();if(!e){m={},l=[],k=0;while(h=a.XMLDocument.documentElement.attributes[k++])i=JSON.parse(h.value),i.expires&&i.expires<=n?l.push(h.name):m[h.name]=i.data;while(e=l.pop())a.removeAttribute(e);a.save(d);return m}e=e.replace(/[^-._0-9A-Za-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u37f-\u1fff\u200c-\u200d\u203f\u2040\u2070-\u218f]/g,"-");if(f===b){h=a.getAttribute(e),i=h?JSON.parse(h):{expires:-1};if(i.expires&&i.expires<=n)a.removeAttribute(e);else return i.data}else f===null?a.removeAttribute(e):(j=a.getAttribute(e),i=JSON.stringify({data:f,expires:g.expires?n+g.expires:null}),a.setAttribute(e,i));try{a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j),c.userData();try{a.setAttribute(e,i),a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j);throw c.error()}}return m}))}})(),function(){function d(a){return a===b?b:JSON.parse(JSON.stringify(a))}var a={};c.addType("memory",function(c,e,f){if(!c)return d(a);if(e===b)return d(a[c]);if(e===null){delete a[c];return null}a[c]=e,f.expires&&setTimeout(function(){delete a[c]},f.expires);return e})}()}(this.amplify=this.amplify||{}),function(a,b){function d(a){return{}.toString.call(a)==="[object Function]"}function c(){}a.request=function(b,e,f){var g=b||{};typeof g=="string"&&(d(e)&&(f=e,e={}),g={resourceId:b,data:e||{},success:f});var h={abort:c},i=a.request.resources[g.resourceId],j=g.success||c,k=g.error||c;g.success=function(b,c){c=c||"success",a.publish("request.success",g,b,c),a.publish("request.complete",g,b,c),j(b,c)},g.error=function(b,c){c=c||"error",a.publish("request.error",g,b,c),a.publish("request.complete",g,b,c),k(b,c)};if(!i){if(!g.resourceId)throw"amplify.request: no resourceId provided";throw"amplify.request: unknown resourceId: "+g.resourceId}if(!a.publish("request.before",g))g.error(null,"abort");else{a.request.resources[g.resourceId](g,h);return h}},a.request.types={},a.request.resources={},a.request.define=function(b,c,d){if(typeof c=="string"){if(!(c in a.request.types))throw"amplify.request.define: unknown type: "+c;d.resourceId=b,a.request.resources[b]=a.request.types[c](d)}else a.request.resources[b]=c}}(amplify),function(a,b,c){var d=["status","statusText","responseText","responseXML","readyState"],e=/\{([^\}]+)\}/g;a.request.types.ajax=function(f){f=b.extend({type:"GET"},f);return function(g,h){function q(a,e){b.each(d,function(a,b){try{p[b]=i[b]}catch(c){}}),/OK$/.test(p.statusText)&&(p.statusText="success"),a===c&&(a=null),o&&(e="abort"),/timeout|error|abort/.test(e)?p.error(a,e):p.success(a,e),q=b.noop}var i,j=f.url,k=g.data,l=h.abort,m={},n=[],o=!1,p={readyState:0,setRequestHeader:function(a,b){return i.setRequestHeader(a,b)},getAllResponseHeaders:function(){return i.getAllResponseHeaders()},getResponseHeader:function(a){return i.getResponseHeader(a)},overrideMimeType:function(a){return i.overrideMideType(a)},abort:function(){o=!0;try{i.abort()}catch(a){}q(null,"abort")},success:function(a,b){g.success(a,b)},error:function(a,b){g.error(a,b)}};typeof k!="string"&&(k=b.extend(!0,{},f.data,k),j=j.replace(e,function(a,b){if(b in k){n.push(b);return k[b]}}),b.each(n,function(a,b){delete k[b]})),b.extend(m,f,{url:j,type:f.type,data:k,dataType:f.dataType,success:function(a,b){q(a,b)},error:function(a,b){q(null,b)},beforeSend:function(b,c){i=b,m=c;var d=f.beforeSend?f.beforeSend.call(this,p,m):!0;return d&&a.publish("request.before.ajax",f,g,m,p)}}),b.ajax(m),h.abort=function(){p.abort(),l.call(this)}}};var f=a.request.cache={_key:function(a,b,c){function g(){return c.charCodeAt(e++)<<24|c.charCodeAt(e++)<<16|c.charCodeAt(e++)<<8|c.charCodeAt(e++)<<0}c=b+c;var d=c.length,e=0,f=g();while(e<d)f^=g();return"request-"+a+"-"+f},_default:function(){var a={};return function(b,c,d,e){var g=f._key(c.resourceId,d.url,d.data),h=b.cache;if(g in a){e.success(a[g]);return!1}var i=e.success;e.success=function(b){a[g]=b,typeof h=="number"&&setTimeout(function(){delete a[g]},h),i.apply(this,arguments)}}}()};a.store&&(b.each(a.store.types,function(b){f[b]=function(c,d,e,g){var h=f._key(d.resourceId,e.url,e.data),i=a.store[b](h);if(i){e.success(i);return!1}var j=g.success;g.success=function(d){a.store[b](h,d,{expires:c.cache.expires}),j.apply(this,arguments)}}}),f.persist=f[a.store.type]),a.subscribe("request.before.ajax",function(a){var b=a.cache;if(b){b=b.type||b;return f[b in f?b:"_default"].apply(this,arguments)}}),a.request.decoders={jsend:function(a,b,c,d,e){a.status==="success"?d(a.data):a.status==="fail"?e(a.data,"fail"):a.status==="error"&&(delete a.status,e(a,"error"))}},a.subscribe("request.before.ajax",function(c,d,e,f){function k(a,b){h(a,b)}function j(a,b){g(a,b)}var g=f.success,h=f.error,i=b.isFunction(c.decoder)?c.decoder:c.decoder in a.request.decoders?a.request.decoders[c.decoder]:a.request.decoders._default;!i||(f.success=function(a,b){i(a,b,f,j,k)},f.error=function(a,b){i(a,b,f,j,k)})})}(amplify,jQuery)
\ No newline at end of file
diff --git a/src/h5ai/js/lib/jquery.fracs-core.min.js b/src/h5ai/js/inc/lib/jquery.fracs-core.min.js
similarity index 100%
rename from src/h5ai/js/lib/jquery.fracs-core.min.js
rename to src/h5ai/js/inc/lib/jquery.fracs-core.min.js
diff --git a/src/h5ai/js/lib/jquery.min.js b/src/h5ai/js/inc/lib/jquery.min.js
similarity index 100%
rename from src/h5ai/js/lib/jquery.min.js
rename to src/h5ai/js/inc/lib/jquery.min.js
diff --git a/src/h5ai/js/lib/jquery.mousewheel.min.js b/src/h5ai/js/inc/lib/jquery.mousewheel.min.js
similarity index 100%
rename from src/h5ai/js/lib/jquery.mousewheel.min.js
rename to src/h5ai/js/inc/lib/jquery.mousewheel.min.js
diff --git a/src/h5ai/js/inc/jquery.scrollpanel.js b/src/h5ai/js/inc/lib/jquery.scrollpanel.js
similarity index 99%
rename from src/h5ai/js/inc/jquery.scrollpanel.js
rename to src/h5ai/js/inc/lib/jquery.scrollpanel.js
index 78b5af6e..a28ca98b 100644
--- a/src/h5ai/js/inc/jquery.scrollpanel.js
+++ b/src/h5ai/js/inc/lib/jquery.scrollpanel.js
@@ -1,7 +1,7 @@
-/*global window, jQuery */
 
 (function ($) {
     "use strict";
+    /*global window, jQuery */
 
     var init = function (htmlElement) {
 
diff --git a/src/h5ai/js/lib/modernizr.min.js b/src/h5ai/js/lib/modernizr.min.js
deleted file mode 100644
index 0c17cfdd..00000000
--- a/src/h5ai/js/lib/modernizr.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Modernizr 2.0.4 (Custom Build) | MIT & BSD
- * Contains: fontface | backgroundsize | borderimage | borderradius | boxshadow | flexbox | hsla | multiplebgs | opacity | rgba | textshadow | cssanimations | csscolumns | generatedcontent | cssgradients | cssreflections | csstransforms | csstransforms3d | csstransitions | applicationcache | canvas | canvastext | draganddrop | hashchange | history | audio | video | indexeddb | input | inputtypes | localstorage | postmessage | sessionstorage | websockets | websqldatabase | webworkers | geolocation | inlinesvg | smil | svg | svgclippaths | touch | webgl | iepp | respond | mq | cssclasses | addtest | prefixed | teststyles | testprop | testallprops | hasevent | prefixes | domprefixes | load
- */
-;window.Modernizr=function(a,b,c){function I(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=a[b]in l;return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function G(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return F(d,b)}function F(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function E(a,b){return!!~(""+a).indexOf(b)}function D(a,b){return typeof a===b}function C(a,b){return B(o.join(a+";")+(b||""))}function B(a){k.cssText=a}var d="2.0.4",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},w=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;v("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=D(e[d],"function"),D(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y,z={}.hasOwnProperty,A;!D(z,c)&&!D(z.call,c)?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],c)};var H=function(c,d){var f=c.join(""),g=d.length;v(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9,e.csstransforms3d=j.csstransforms3d.offsetLeft===9,e.generatedcontent=j.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'"}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!D(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){B("background-color:rgba(150,255,150,.5)");return E(k.backgroundColor,"rgba")},r.hsla=function(){B("background-color:hsla(120,40%,100%,.5)");return E(k.backgroundColor,"rgba")||E(k.backgroundColor,"hsla")},r.multiplebgs=function(){B("background:url(https://),url(https://),red url(https://)");return/(url\s*\(.*?){3}/.test(k.background)},r.backgroundsize=function(){return G("backgroundSize")},r.borderimage=function(){return G("borderImage")},r.borderradius=function(){return G("borderRadius")},r.boxshadow=function(){return G("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){C("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return G("animationName")},r.csscolumns=function(){return G("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";B((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return E(k.backgroundImage,"gradient")},r.cssreflections=function(){return G("boxReflect")},r.csstransforms=function(){return!!F(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!F(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},r.csstransitions=function(){return G("transitionProperty")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var J in r)A(r,J)&&(y=J.toLowerCase(),e[y]=r[J](),u.push((e[y]?"":"no-")+y));e.input||I(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)A(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b=="boolean"?b:!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},B(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.mq=w,e.hasEvent=x,e.testProp=function(a){return F([a])},e.testAllProps=G,e.testStyles=v,e.prefixed=function(a){return G(a,"pfx")},g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+u.join(" "):"");return e}(this,this.document),function(a,b){function u(){r(!0)}a.respond={},respond.update=function(){},respond.mediaQueriesSupported=b;if(!b){var c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=j.getElementsByTagName("link"),l=[],m=function(){var b=k,c=b.length,d=0,e,f,g,i;for(;d<c;d++)e=b[d],f=e.href,g=e.media,i=e.rel&&e.rel.toLowerCase()==="stylesheet",!!f&&i&&!h[f]&&(!/^([a-zA-Z]+?:(\/\/)?(www\.)?)/.test(f)||f.replace(RegExp.$1,"").split("/")[0]===a.location.host?l.push({href:f,media:g}):h[f]=!0);n()},n=function(){if(l.length){var a=l.shift();s(a.href,function(b){o(b,a.href,a.media),h[a.href]=!0,n()})}},o=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),g=d&&d.length||0,b=b.substring(0,b.lastIndexOf("/")),h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c,j=0,k,l,m,n,o;b.length&&(b+="/"),i&&(g=1);for(;j<g;j++){k=0,i?(l=c,f.push(h(a))):(l=d[j].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),n=l.split(","),o=n.length;for(;k<o;k++)m=n[k],e.push({media:m.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:f.length-1,minw:m.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:m.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}r()},p,q,r=function(a){var b="clientWidth",h=d[b],l=c.compatMode==="CSS1Compat"&&h||c.body[b]||h,m={},n=c.createDocumentFragment(),o=k[k.length-1],s=(new Date).getTime();if(a&&p&&s-p<i)clearTimeout(q),q=setTimeout(r,i);else{p=s;for(var t in e){var u=e[t];if(!u.minw&&!u.maxw||(!u.minw||u.minw&&l>=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css",!a.e&&(w||r)?function a(b){m(function(){if(!d)try{b.sheet.cssRules.length?(d=1,j()):a(b)}catch(c){c.code==1e3||c.message=="security"||c.message=="denied"?(d=1,m(function(){j()},0)):a(b)}},0)}(c):(c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload()),m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return typeof a=="object"},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
diff --git a/src/h5ai/js/libs.js b/src/h5ai/js/libs.js
new file mode 100644
index 00000000..a09a2632
--- /dev/null
+++ b/src/h5ai/js/libs.js
@@ -0,0 +1,7 @@
+
+// @include "inc/lib/jquery.min.js"
+// @include "inc/lib/jquery.mousewheel.min.js"
+// @include "inc/lib/jquery.fracs-core.min.js"
+// @include "inc/lib/jquery.scrollpanel.js"
+
+// @include "inc/lib/amplify.min.js"
diff --git a/src/h5ai/js/main-js.js b/src/h5ai/js/main-js.js
index d4275fd1..d0cd2b38 100644
--- a/src/h5ai/js/main-js.js
+++ b/src/h5ai/js/main-js.js
@@ -1,7 +1,3 @@
-/*global jQuery, h5aiOptions, h5aiLangs*/
-
-// @include "inc/jquery.scrollpanel.js"
-// @include "inc/jquery.utils.js"
 
 (function($) {
     "use strict";
diff --git a/src/h5ai/js/main-php.js b/src/h5ai/js/main-php.js
index 13e02424..59974fc0 100644
--- a/src/h5ai/js/main-php.js
+++ b/src/h5ai/js/main-php.js
@@ -1,7 +1,3 @@
-/*global jQuery, h5aiOptions, h5aiLangs*/
-
-// @include "inc/jquery.scrollpanel.js"
-// @include "inc/jquery.utils.js"
 
 (function($) {
     "use strict";
diff --git a/src/h5ai/js/modernizr.min.js b/src/h5ai/js/modernizr.min.js
new file mode 100644
index 00000000..68440dfe
--- /dev/null
+++ b/src/h5ai/js/modernizr.min.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.0.6 (Custom Build) | MIT & BSD
+ * Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-iepp-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
+ */
+;window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)s[a[b]]=a[b]in l;return s}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),r[a[d]]=!!e;return r}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function E(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return D(d,b)}function D(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function C(a,b){return!!~(""+a).indexOf(b)}function B(a,b){return typeof a===b}function A(a,b){return z(o.join(a+";")+(b||""))}function z(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={},r={},s={},t=[],u=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},v=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=B(e[d],"function"),B(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),w,x={}.hasOwnProperty,y;!B(x,c)&&!B(x.call,c)?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],c)};var F=function(a,c){var d=a.join(""),f=c.length;u(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.csstransforms3d=i.csstransforms3d.offsetLeft===9,e.generatedcontent=i.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(g)&&g.indexOf(c.split(" ")[0])===0},f,c)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],["fontface","csstransforms3d","generatedcontent"]);q.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},q.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},q.canvastext=function(){return!!e.canvas&&!!B(b.createElement("canvas").getContext("2d").fillText,"function")},q.postmessage=function(){return!!a.postMessage},q.websqldatabase=function(){var b=!!a.openDatabase;return b},q.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},q.hashchange=function(){return v("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},q.history=function(){return!!a.history&&!!history.pushState},q.draganddrop=function(){return v("dragstart")&&v("drop")},q.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},q.rgba=function(){z("background-color:rgba(150,255,150,.5)");return C(k.backgroundColor,"rgba")},q.hsla=function(){z("background-color:hsla(120,40%,100%,.5)");return C(k.backgroundColor,"rgba")||C(k.backgroundColor,"hsla")},q.multiplebgs=function(){z("background:url(https://),url(https://),red url(https://)");return/(url\s*\(.*?){3}/.test(k.background)},q.backgroundsize=function(){return E("backgroundSize")},q.borderimage=function(){return E("borderImage")},q.borderradius=function(){return E("borderRadius")},q.boxshadow=function(){return E("boxShadow")},q.textshadow=function(){return b.createElement("div").style.textShadow===""},q.opacity=function(){A("opacity:.55");return/^0.55$/.test(k.opacity)},q.cssanimations=function(){return E("animationName")},q.csscolumns=function(){return E("columnCount")},q.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";z((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return C(k.backgroundImage,"gradient")},q.cssreflections=function(){return E("boxReflect")},q.csstransforms=function(){return!!D(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},q.csstransforms3d=function(){var a=!!D(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},q.csstransitions=function(){return E("transitionProperty")},q.fontface=function(){return e.fontface},q.generatedcontent=function(){return e.generatedcontent},q.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},q.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},q.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},q.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},q.webworkers=function(){return!!a.Worker},q.applicationcache=function(){return!!a.applicationCache};for(var H in q)y(q,H)&&(w=H.toLowerCase(),e[w]=q[H](),t.push((e[w]?"":"no-")+w));e.input||G(),z(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.hasEvent=v,e.testProp=function(a){return D([a])},e.testAllProps=E,e.testStyles=u,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+t.join(" "):"");return e}(this,this.document),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
diff --git a/src/h5ai/options.js b/src/h5ai/options.js
index 02221cb7..d296ea2c 100644
--- a/src/h5ai/options.js
+++ b/src/h5ai/options.js
@@ -103,7 +103,7 @@ h5aiOptions = {
      * Enable zipped download of selected entries. Requieres
      * PHP on the server.
      */
-    "zippedDownload": true
+    "zippedDownload": false
 };
 
 
@@ -194,7 +194,7 @@ h5aiLangs = {
         "empty": "vide",
         "folders": "Répertoires",
         "files": "Fichiers",
-        "download": "download"
+        "download": "télécharger"
     },
 
     "it": {
diff --git a/src/h5ai/php/zipcontent.php b/src/h5ai/php/zipcontent.php
index 76ad5ba4..fe68ea60 100644
--- a/src/h5ai/php/zipcontent.php
+++ b/src/h5ai/php/zipcontent.php
@@ -1,7 +1,7 @@
 <?php
 
 if (!array_key_exists("hrefs", $_REQUEST)) {
-    echo "failed";
+    echo "1: no href specified";
     exit;
 }
 
@@ -12,7 +12,6 @@ $h5ai = new H5ai();
 $zipit = new ZipIt($h5ai);
 
 $hrefs = explode(":", trim($_REQUEST["hrefs"]));
-
 $zipFile = $zipit->zip($hrefs);
 
 if ($zipFile !== false) {
@@ -22,7 +21,7 @@ if ($zipFile !== false) {
     header("Connection: close");
     readfile($zipFile);
 } else {
-    echo "sorry, something went wrong while building the zip.";
+    echo "2: something went wrong while building the zip";
 }
 
 ?>
\ No newline at end of file
diff --git a/src/js.htaccess b/src/js.htaccess
index 39436a20..d18f8cff 100644
--- a/src/js.htaccess
+++ b/src/js.htaccess
@@ -27,7 +27,8 @@ IndexIgnore          h5ai  h5ai.header.html  h5ai.footer.html
 # table options
 ################################
 
-# syntax for default sort order is: IndexOrderDefault Ascending|Descending Name|Date|Size
+# syntax for default sort order is:
+# IndexOrderDefault Ascending|Descending Name|Date|Size
 IndexOrderDefault    Ascending Name
 
 IndexOptions         Type=text/html;h5ai=%BUILD_VERSION%