diff options
Diffstat (limited to 'javascripts')
-rw-r--r-- | javascripts/respond.js | 779 |
1 files changed, 779 insertions, 0 deletions
diff --git a/javascripts/respond.js b/javascripts/respond.js new file mode 100644 index 0000000..76bc260 --- /dev/null +++ b/javascripts/respond.js @@ -0,0 +1,779 @@ +if(typeof Object.create!=="function"){ +Object.create=function(o){ +function F(){ +}; +F.prototype=o; +return new F(); +}; +} +var ua={toString:function(){ +return navigator.userAgent; +},test:function(s){ +return this.toString().toLowerCase().indexOf(s.toLowerCase())>-1; +}}; +ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1]; +ua.webkit=ua.test("webkit"); +ua.gecko=ua.test("gecko")&&!ua.webkit; +ua.opera=ua.test("opera"); +ua.ie=ua.test("msie")&&!ua.opera; +ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined"; +ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined"; +ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined"; +var domReady=function(){ +var _1=[]; +var _2=function(){ +if(!arguments.callee.done){ +arguments.callee.done=true; +for(var i=0;i<_1.length;i++){ +_1[i](); +} +} +}; +if(document.addEventListener){ +document.addEventListener("DOMContentLoaded",_2,false); +} +if(ua.ie){ +(function(){ +try{ +document.documentElement.doScroll("left"); +} +catch(e){ +setTimeout(arguments.callee,50); +return; +} +_2(); +})(); +document.onreadystatechange=function(){ +if(document.readyState==="complete"){ +document.onreadystatechange=null; +_2(); +} +}; +} +if(ua.webkit&&document.readyState){ +(function(){ +if(document.readyState!=="loading"){ +_2(); +}else{ +setTimeout(arguments.callee,10); +} +})(); +} +window.onload=_2; +return function(fn){ +if(typeof fn==="function"){ +_1[_1.length]=fn; +} +return fn; +}; +}(); +var cssHelper=function(){ +var _3={BLOCKS:/[^\s{][^{]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g}; +var _4,_5=false; +var _6=[]; +var _7=function(fn){ +if(typeof fn==="function"){ +_6[_6.length]=fn; +} +}; +var _8=function(){ +for(var i=0;i<_6.length;i++){ +_6[i](_4); +} +}; +var _9={}; +var _a=function(n,v){ +if(_9[n]){ +var _b=_9[n].listeners; +if(_b){ +for(var i=0;i<_b.length;i++){ +_b[i](v); +} +} +} +}; +var _c=function(_d,_e,_f){ +if(ua.ie&&!window.XMLHttpRequest){ +window.XMLHttpRequest=function(){ +return new ActiveXObject("Microsoft.XMLHTTP"); +}; +} +if(!XMLHttpRequest){ +return ""; +} +var r=new XMLHttpRequest(); +try{ +r.open("get",_d,true); +r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest"); +} +catch(e){ +_f(); +return; +} +var _10=false; +setTimeout(function(){ +_10=true; +},5000); +document.documentElement.style.cursor="progress"; +r.onreadystatechange=function(){ +if(r.readyState===4&&!_10){ +if(!r.status&&location.protocol==="file:"||(r.status>=200&&r.status<300)||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){ +_e(r.responseText); +}else{ +_f(); +} +document.documentElement.style.cursor=""; +r=null; +} +}; +r.send(""); +}; +var _11=function(_12){ +_12=_12.replace(_3.REDUNDANT_COMPONENTS,""); +_12=_12.replace(_3.REDUNDANT_WHITESPACE,"$1"); +_12=_12.replace(_3.MORE_WHITESPACE," "); +_12=_12.replace(_3.FINAL_SEMICOLONS,"}"); +return _12; +}; +var _13={mediaQueryList:function(s){ +var o={}; +var idx=s.indexOf("{"); +var lt=s.substring(0,idx); +s=s.substring(idx+1,s.length-1); +var mqs=[],rs=[]; +var qts=lt.toLowerCase().substring(7).split(","); +for(var i=0;i<qts.length;i++){ +mqs[mqs.length]=_13.mediaQuery(qts[i],o); +} +var rts=s.match(_3.BLOCKS_INSIDE); +if(rts!==null){ +for(i=0;i<rts.length;i++){ +rs[rs.length]=_13.rule(rts[i],o); +} +} +o.getMediaQueries=function(){ +return mqs; +}; +o.getRules=function(){ +return rs; +}; +o.getListText=function(){ +return lt; +}; +o.getCssText=function(){ +return s; +}; +return o; +},mediaQuery:function(s,mql){ +s=s||""; +var not=false,_14; +var exp=[]; +var _15=true; +var _16=s.match(_3.NOT_WHITESPACE); +for(var i=0;i<_16.length;i++){ +var _17=_16[i]; +if(!_14&&(_17==="not"||_17==="only")){ +if(_17==="not"){ +not=true; +} +}else{ +if(!_14){ +_14=_17; +}else{ +if(_17.charAt(0)==="("){ +var _18=_17.substring(1,_17.length-1).split(":"); +exp[exp.length]={mediaFeature:_18[0],value:_18[1]||null}; +} +} +} +} +return {getList:function(){ +return mql||null; +},getValid:function(){ +return _15; +},getNot:function(){ +return not; +},getMediaType:function(){ +return _14; +},getExpressions:function(){ +return exp; +}}; +},rule:function(s,mql){ +var o={}; +var idx=s.indexOf("{"); +var st=s.substring(0,idx); +var ss=st.split(","); +var ds=[]; +var dts=s.substring(idx+1,s.length-1).split(";"); +for(var i=0;i<dts.length;i++){ +ds[ds.length]=_13.declaration(dts[i],o); +} +o.getMediaQueryList=function(){ +return mql||null; +}; +o.getSelectors=function(){ +return ss; +}; +o.getSelectorText=function(){ +return st; +}; +o.getDeclarations=function(){ +return ds; +}; +o.getPropertyValue=function(n){ +for(var i=0;i<ds.length;i++){ +if(ds[i].getProperty()===n){ +return ds[i].getValue(); +} +} +return null; +}; +return o; +},declaration:function(s,r){ +var idx=s.indexOf(":"); +var p=s.substring(0,idx); +var v=s.substring(idx+1); +return {getRule:function(){ +return r||null; +},getProperty:function(){ +return p; +},getValue:function(){ +return v; +}}; +}}; +var _19=function(el){ +if(typeof el.cssHelperText!=="string"){ +return; +} +var o={mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}}; +var _1a=o.mediaQueryLists; +var ors=o.rules; +var _1b=el.cssHelperText.match(_3.BLOCKS); +if(_1b!==null){ +for(var i=0;i<_1b.length;i++){ +if(_1b[i].substring(0,7)==="@media "){ +_1a[_1a.length]=_13.mediaQueryList(_1b[i]); +ors=o.rules=ors.concat(_1a[_1a.length-1].getRules()); +}else{ +ors[ors.length]=_13.rule(_1b[i]); +} +} +} +var oss=o.selectors; +var _1c=function(r){ +var ss=r.getSelectors(); +for(var i=0;i<ss.length;i++){ +var n=ss[i]; +if(!oss[n]){ +oss[n]=[]; +} +oss[n][oss[n].length]=r; +} +}; +for(i=0;i<ors.length;i++){ +_1c(ors[i]); +} +var ods=o.declarations; +for(i=0;i<ors.length;i++){ +ods=o.declarations=ods.concat(ors[i].getDeclarations()); +} +var ops=o.properties; +for(i=0;i<ods.length;i++){ +var n=ods[i].getProperty(); +if(!ops[n]){ +ops[n]=[]; +} +ops[n][ops[n].length]=ods[i]; +} +el.cssHelperParsed=o; +_4[_4.length]=el; +return o; +}; +var _1d=function(el,s){ +el.cssHelperText=_11(s||el.innerHTML); +return _19(el); +}; +var _1e=function(){ +_5=true; +_4=[]; +var _1f=[]; +var _20=function(){ +for(var i=0;i<_1f.length;i++){ +_19(_1f[i]); +} +var _21=document.getElementsByTagName("style"); +for(i=0;i<_21.length;i++){ +_1d(_21[i]); +} +_5=false; +_8(); +}; +var _22=document.getElementsByTagName("link"); +for(var i=0;i<_22.length;i++){ +var _23=_22[i]; +if(_23.getAttribute("rel").indexOf("style")>-1&&_23.href&&_23.href.length!==0&&!_23.disabled){ +_1f[_1f.length]=_23; +} +} +if(_1f.length>0){ +var c=0; +var _24=function(){ +c++; +if(c===_1f.length){ +_20(); +} +}; +var _25=function(_26){ +var _27=_26.href; +_c(_27,function(_28){ +_28=_11(_28).replace(_3.RELATIVE_URLS,"url("+_27.substring(0,_27.lastIndexOf("/"))+"/$1)"); +_26.cssHelperText=_28; +_24(); +},_24); +}; +for(i=0;i<_1f.length;i++){ +_25(_1f[i]); +} +}else{ +_20(); +} +}; +var _29={mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"}; +var _2a={mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null}; +var _2b=function(_2c,v){ +if(_2a[_2c]!==null){ +if(_29[_2c]==="array"){ +return (_2a[_2c]=_2a[_2c].concat(v)); +}else{ +var c=_2a[_2c]; +for(var n in v){ +if(v.hasOwnProperty(n)){ +if(!c[n]){ +c[n]=v[n]; +}else{ +c[n]=c[n].concat(v[n]); +} +} +} +return c; +} +} +}; +var _2d=function(_2e){ +_2a[_2e]=(_29[_2e]==="array")?[]:{}; +for(var i=0;i<_4.length;i++){ +_2b(_2e,_4[i].cssHelperParsed[_2e]); +} +return _2a[_2e]; +}; +domReady(function(){ +var els=document.body.getElementsByTagName("*"); +for(var i=0;i<els.length;i++){ +els[i].checkedByCssHelper=true; +} +if(document.implementation.hasFeature("MutationEvents","2.0")||window.MutationEvent){ +document.body.addEventListener("DOMNodeInserted",function(e){ +var el=e.target; +if(el.nodeType===1){ +_a("DOMElementInserted",el); +el.checkedByCssHelper=true; +} +},false); +}else{ +setInterval(function(){ +var els=document.body.getElementsByTagName("*"); +for(var i=0;i<els.length;i++){ +if(!els[i].checkedByCssHelper){ +_a("DOMElementInserted",els[i]); +els[i].checkedByCssHelper=true; +} +} +},1000); +} +}); +var _2f=function(d){ +if(typeof window.innerWidth!="undefined"){ +return window["inner"+d]; +}else{ +if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){ +return document.documentElement["client"+d]; +} +} +}; +return {addStyle:function(s,_30){ +var el=document.createElement("style"); +el.setAttribute("type","text/css"); +document.getElementsByTagName("head")[0].appendChild(el); +if(el.styleSheet){ +el.styleSheet.cssText=s; +}else{ +el.appendChild(document.createTextNode(s)); +} +el.addedWithCssHelper=true; +if(typeof _30==="undefined"||_30===true){ +cssHelper.parsed(function(_31){ +var o=_1d(el,s); +for(var n in o){ +if(o.hasOwnProperty(n)){ +_2b(n,o[n]); +} +} +_a("newStyleParsed",el); +}); +}else{ +el.parsingDisallowed=true; +} +return el; +},removeStyle:function(el){ +return el.parentNode.removeChild(el); +},parsed:function(fn){ +if(_5){ +_7(fn); +}else{ +if(typeof _4!=="undefined"){ +if(typeof fn==="function"){ +fn(_4); +} +}else{ +_7(fn); +_1e(); +} +} +},mediaQueryLists:function(fn){ +cssHelper.parsed(function(_32){ +fn(_2a.mediaQueryLists||_2d("mediaQueryLists")); +}); +},rules:function(fn){ +cssHelper.parsed(function(_33){ +fn(_2a.rules||_2d("rules")); +}); +},selectors:function(fn){ +cssHelper.parsed(function(_34){ +fn(_2a.selectors||_2d("selectors")); +}); +},declarations:function(fn){ +cssHelper.parsed(function(_35){ +fn(_2a.declarations||_2d("declarations")); +}); +},properties:function(fn){ +cssHelper.parsed(function(_36){ +fn(_2a.properties||_2d("properties")); +}); +},broadcast:_a,addListener:function(n,fn){ +if(typeof fn==="function"){ +if(!_9[n]){ +_9[n]={listeners:[]}; +} +_9[n].listeners[_9[n].listeners.length]=fn; +} +},removeListener:function(n,fn){ +if(typeof fn==="function"&&_9[n]){ +var ls=_9[n].listeners; +for(var i=0;i<ls.length;i++){ +if(ls[i]===fn){ +ls.splice(i,1); +i-=1; +} +} +} +},getViewportWidth:function(){ +return _2f("Width"); +},getViewportHeight:function(){ +return _2f("Height"); +}}; +}(); +domReady(function enableCssMediaQueries(){ +var _37; +var _38={LENGTH_UNIT:/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,RESOLUTION_UNIT:/[0-9]+(dpi|dpcm)$/,ASPECT_RATIO:/^[0-9]+\/[0-9]+$/,ABSOLUTE_VALUE:/^[0-9]*(\.[0-9]+)*$/}; +var _39=[]; +var _3a=function(){ +var id="css3-mediaqueries-test"; +var el=document.createElement("div"); +el.id=id; +var _3b=cssHelper.addStyle("@media all and (width) { #"+id+" { width: 1px !important; } }",false); +document.body.appendChild(el); +var ret=el.offsetWidth===1; +_3b.parentNode.removeChild(_3b); +el.parentNode.removeChild(el); +_3a=function(){ +return ret; +}; +return ret; +}; +var _3c=function(){ +_37=document.createElement("div"); +_37.style.cssText="position:absolute;top:-9999em;left:-9999em;"+"margin:0;border:none;padding:0;width:1em;font-size:1em;"; +document.body.appendChild(_37); +if(_37.offsetWidth!==16){ +_37.style.fontSize=16/_37.offsetWidth+"em"; +} +_37.style.width=""; +}; +var _3d=function(_3e){ +_37.style.width=_3e; +var _3f=_37.offsetWidth; +_37.style.width=""; +return _3f; +}; +var _40=function(_41,_42){ +var l=_41.length; +var min=(_41.substring(0,4)==="min-"); +var max=(!min&&_41.substring(0,4)==="max-"); +if(_42!==null){ +var _43; +var _44; +if(_38.LENGTH_UNIT.exec(_42)){ +_43="length"; +_44=_3d(_42); +}else{ +if(_38.RESOLUTION_UNIT.exec(_42)){ +_43="resolution"; +_44=parseInt(_42,10); +var _45=_42.substring((_44+"").length); +}else{ +if(_38.ASPECT_RATIO.exec(_42)){ +_43="aspect-ratio"; +_44=_42.split("/"); +}else{ +if(_38.ABSOLUTE_VALUE){ +_43="absolute"; +_44=_42; +}else{ +_43="unknown"; +} +} +} +} +} +var _46,_47; +if("device-width"===_41.substring(l-12,l)){ +_46=screen.width; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); +}else{ +return false; +} +}else{ +return _46>0; +} +}else{ +if("device-height"===_41.substring(l-13,l)){ +_47=screen.height; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); +}else{ +return false; +} +}else{ +return _47>0; +} +}else{ +if("width"===_41.substring(l-5,l)){ +_46=document.documentElement.clientWidth||document.body.clientWidth; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); +}else{ +return false; +} +}else{ +return _46>0; +} +}else{ +if("height"===_41.substring(l-6,l)){ +_47=document.documentElement.clientHeight||document.body.clientHeight; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); +}else{ +return false; +} +}else{ +return _47>0; +} +}else{ +if("device-aspect-ratio"===_41.substring(l-19,l)){ +return _43==="aspect-ratio"&&screen.width*_44[1]===screen.height*_44[0]; +}else{ +if("color-index"===_41.substring(l-11,l)){ +var _48=Math.pow(2,screen.colorDepth); +if(_42!==null){ +if(_43==="absolute"){ +return ((min&&_48>=_44)||(max&&_48<_44)||(!min&&!max&&_48===_44)); +}else{ +return false; +} +}else{ +return _48>0; +} +}else{ +if("color"===_41.substring(l-5,l)){ +var _49=screen.colorDepth; +if(_42!==null){ +if(_43==="absolute"){ +return ((min&&_49>=_44)||(max&&_49<_44)||(!min&&!max&&_49===_44)); +}else{ +return false; +} +}else{ +return _49>0; +} +}else{ +if("resolution"===_41.substring(l-10,l)){ +var res; +if(_45==="dpcm"){ +res=_3d("1cm"); +}else{ +res=_3d("1in"); +} +if(_42!==null){ +if(_43==="resolution"){ +return ((min&&res>=_44)||(max&&res<_44)||(!min&&!max&&res===_44)); +}else{ +return false; +} +}else{ +return res>0; +} +}else{ +return false; +} +} +} +} +} +} +} +} +}; +var _4a=function(mq){ +var _4b=mq.getValid(); +var _4c=mq.getExpressions(); +var l=_4c.length; +if(l>0){ +for(var i=0;i<l&&_4b;i++){ +_4b=_40(_4c[i].mediaFeature,_4c[i].value); +} +var not=mq.getNot(); +return (_4b&&!not||not&&!_4b); +} +}; +var _4d=function(mql){ +var mqs=mql.getMediaQueries(); +var t={}; +for(var i=0;i<mqs.length;i++){ +if(_4a(mqs[i])){ +t[mqs[i].getMediaType()]=true; +} +} +var s=[],c=0; +for(var n in t){ +if(t.hasOwnProperty(n)){ +if(c>0){ +s[c++]=","; +} +s[c++]=n; +} +} +if(s.length>0){ +_39[_39.length]=cssHelper.addStyle("@media "+s.join("")+"{"+mql.getCssText()+"}",false); +} +}; +var _4e=function(_4f){ +for(var i=0;i<_4f.length;i++){ +_4d(_4f[i]); +} +if(ua.ie){ +document.documentElement.style.display="block"; +setTimeout(function(){ +document.documentElement.style.display=""; +},0); +setTimeout(function(){ +cssHelper.broadcast("cssMediaQueriesTested"); +},100); +}else{ +cssHelper.broadcast("cssMediaQueriesTested"); +} +}; +var _50=function(){ +for(var i=0;i<_39.length;i++){ +cssHelper.removeStyle(_39[i]); +} +_39=[]; +cssHelper.mediaQueryLists(_4e); +}; +var _51=0; +var _52=function(){ +var _53=cssHelper.getViewportWidth(); +var _54=cssHelper.getViewportHeight(); +if(ua.ie){ +var el=document.createElement("div"); +el.style.position="absolute"; +el.style.top="-9999em"; +el.style.overflow="scroll"; +document.body.appendChild(el); +_51=el.offsetWidth-el.clientWidth; +document.body.removeChild(el); +} +var _55; +var _56=function(){ +var vpw=cssHelper.getViewportWidth(); +var vph=cssHelper.getViewportHeight(); +if(Math.abs(vpw-_53)>_51||Math.abs(vph-_54)>_51){ +_53=vpw; +_54=vph; +clearTimeout(_55); +_55=setTimeout(function(){ +if(!_3a()){ +_50(); +}else{ +cssHelper.broadcast("cssMediaQueriesTested"); +} +},500); +} +}; +window.onresize=function(){ +var x=window.onresize||function(){ +}; +return function(){ +x(); +_56(); +}; +}(); +}; +var _57=document.documentElement; +_57.style.marginLeft="-32767px"; +setTimeout(function(){ +_57.style.marginTop=""; +},20000); +return function(){ +if(!_3a()){ +cssHelper.addListener("newStyleParsed",function(el){ +_4e(el.cssHelperParsed.mediaQueryLists); +}); +cssHelper.addListener("cssMediaQueriesTested",function(){ +if(ua.ie){ +_57.style.width="1px"; +} +setTimeout(function(){ +_57.style.width=""; +_57.style.marginLeft=""; +},0); +cssHelper.removeListener("cssMediaQueriesTested",arguments.callee); +}); +_3c(); +_50(); +}else{ +_57.style.marginLeft=""; +} +_52(); +}; +}()); +try{ +document.execCommand("BackgroundImageCache",false,true); +} +catch(e){ +} + |