// https://github.com/kayluhb/jquery-html-history
(function(c){var a="htmlhistory",b="hashchange",e="onhashchange";c.fn.htmlhistory=function(f){return f?this.bind(a,f):this.trigger(a)};var d=c.htmlhistory={options:{useHistory:true,useHashchange:true,poll:250,interceptLinks:true,disableHashLinks:true},init:function(f){var h,i=c(window),g=c("body");c.extend(d.options,f);if(d.options.useHistory&&d.supportsHistory()){i.bind("popstate",function(j){i.trigger(a)})}if(d.options.useHashchange){i.bind(b,function(j){i.trigger(a)});if(!d.supportsHashchange()){h=window.location.hash;requestInterval(function(){if(h!==window.location.hash){i.trigger(b);h=window.location.hash}},d.options.poll)}}if(d.options.interceptLinks){g.delegate('a[href=^"/"]',"click",function(j){d.changeTo(c(this).attr("href"));j.preventDefault()})}if(d.options.disableHashLinks){g.delegate("a[href=#]","click",function(j){j.preventDefault()})}},changeTo:function(f){var g=c(window);if(d.options.useHistory&&d.supportsHistory()){window.history.pushState(null,null,f);g.trigger(a)}else{if(f.indexOf("#")<0){f="#"+f}window.location.href=f}},supportsHistory:function(){return !!(window.history&&history.pushState)},supportsHashchange:function(){var f=e in window;if(!f&&window.setAttribute){window.setAttribute(e,"return;");f=typeof window.onhashchange==="function"}return f}}}(jQuery));window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();window.requestInterval=function(c,b){if(!window.requestAnimationFrame&&!window.webkitRequestAnimationFrame&&!window.mozRequestAnimationFrame&&!window.oRequestAnimationFrame&&!window.msRequestAnimationFrame){return window.setInterval(c,b)}var e=new Date().getTime(),d=new Object();function a(){var f=new Date().getTime(),g=f-e;if(g>=b){c.call();e=new Date().getTime()}d.value=requestAnimFrame(a)}d.value=requestAnimFrame(a);return d};

