/*
 * Modernizr JavaScript library 1.5
 * http://www.modernizr.com/
 *
 * Copyright (c) 2009-2010 Faruk Ates - http://farukat.es/
 * Dual-licensed under the BSD and MIT licenses.
 * http://www.modernizr.com/license/
 *
 * Featuring major contributions by
 * Paul Irish  - http://paulirish.com
 */
window.Modernizr=(function(window,doc,undefined){var version="1.5",ret={},enableHTML5=true,docElement=doc.documentElement,mod="modernizr",m=doc.createElement(mod),m_style=m.style,f=doc.createElement("input"),smile=":)",tostring=Object.prototype.toString,prefixes=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),tests={},inputs={},attrs={},classes=[],isEventSupported=(function(){var TAGNAMES={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};function isEventSupported(eventName,element){element=element||document.createElement(TAGNAMES[eventName]||"div");eventName="on"+eventName;var isSupported=(eventName in element);if(!isSupported){if(!element.setAttribute){element=document.createElement("div")}if(element.setAttribute&&element.removeAttribute){element.setAttribute(eventName,"");isSupported=typeof element[eventName]=="function";if(typeof element[eventName]!="undefined"){element[eventName]=undefined}element.removeAttribute(eventName)}}element=null;return isSupported}return isEventSupported})();var _hasOwnProperty=({}).hasOwnProperty,hasOwnProperty;if(typeof _hasOwnProperty!=="undefined"&&typeof _hasOwnProperty.call!=="undefined"){hasOwnProperty=function(object,property){return _hasOwnProperty.call(object,property)}}else{hasOwnProperty=function(object,property){return((property in object)&&typeof object.constructor.prototype[property]==="undefined")}}function set_css(str){m_style.cssText=str}function set_css_all(str1,str2){return set_css(prefixes.join(str1+";")+(str2||""))}function contains(str,substr){return(""+str).indexOf(substr)!==-1}function test_props(props,callback){for(var i in props){try{m_style[props[i]]!==undefined}catch(e){continue}if(m_style[props[i]]!==undefined&&(!callback||callback(props[i],m))){return true}}}function test_props_all(prop,callback){var uc_prop=prop.charAt(0).toUpperCase()+prop.substr(1),props=[prop,"Webkit"+uc_prop,"Moz"+uc_prop,"O"+uc_prop,"ms"+uc_prop,"Khtml"+uc_prop];return !!test_props(props,callback)}tests.flexbox=function(){function set_prefixed_value_css(element,property,value,extra){property+=":";element.style.cssText=(property+prefixes.join(value+";"+property)).slice(0,-property.length)+(extra||"")}function set_prefixed_property_css(element,property,value,extra){element.style.cssText=prefixes.join(property+":"+value+";")+(extra||"")}var c=doc.createElement("div"),elem=doc.createElement("div");set_prefixed_value_css(c,"display","box","width:42px;padding:0;");set_prefixed_property_css(elem,"box-flex","1","width:10px;");c.appendChild(elem);docElement.appendChild(c);var ret=elem.offsetWidth===42;c.removeChild(elem);docElement.removeChild(c);return ret};tests.canvas=function(){var elem=doc.createElement("canvas");return !!(elem.getContext&&elem.getContext("2d"))};tests.canvastext=function(){return !!(ret.canvas&&typeof doc.createElement("canvas").getContext("2d").fillText=="function")};tests.geolocation=function(){return !!navigator.geolocation};tests.crosswindowmessaging=function(){return !!window.postMessage};tests.websqldatabase=function(){var result=!!window.openDatabase;if(result){try{result=!!openDatabase(mod+"testdb","1.0",mod+"testdb",20000)}catch(e){result=false}}return result};tests.indexedDB=function(){return !!window.indexedDB};tests.hashchange=function(){return isEventSupported("hashchange",window)&&(document.documentMode===undefined||document.documentMode>7)};tests.historymanagement=function(){return !!(window.history&&history.pushState)};tests.draganddrop=function(){return isEventSupported("drag")&&isEventSupported("dragstart")&&isEventSupported("dragenter")&&isEventSupported("dragover")&&isEventSupported("dragleave")&&isEventSupported("dragend")&&isEventSupported("drop")};tests.websockets=function(){return("WebSocket" in window)};tests.rgba=function(){set_css("background-color:rgba(150,255,150,.5)");return contains(m_style.backgroundColor,"rgba")};tests.hsla=function(){set_css("background-color:hsla(120,40%,100%,.5)");return contains(m_style.backgroundColor,"rgba")||contains(m_style.backgroundColor,"hsla")};tests.multiplebgs=function(){set_css("background:url(//:),url(//:),red url(//:)");return new RegExp("(url\\s*\\(.*?){3}").test(m_style.background)};tests.backgroundsize=function(){return test_props_all("backgroundSize")};tests.borderimage=function(){return test_props_all("borderImage")};tests.borderradius=function(){return test_props_all("borderRadius","",function(prop){return contains(prop,"orderRadius")})};tests.boxshadow=function(){return test_props_all("boxShadow")};tests.opacity=function(){set_css_all("opacity:.5");return contains(m_style.opacity,"0.5")};tests.cssanimations=function(){return test_props_all("animationName")};tests.csscolumns=function(){return test_props_all("columnCount")};tests.cssgradients=function(){var str1="background-image:",str2="gradient(linear,left top,right bottom,from(#9f9),to(white));",str3="linear-gradient(left top,#9f9, white);";set_css((str1+prefixes.join(str2+str1)+prefixes.join(str3+str1)).slice(0,-str1.length));return contains(m_style.backgroundImage,"gradient")};tests.cssreflections=function(){return test_props_all("boxReflect")};tests.csstransforms=function(){return !!test_props(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])};tests.csstransforms3d=function(){var ret=!!test_props(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);if(ret){var st=document.createElement("style"),div=doc.createElement("div");st.textContent="@media ("+prefixes.join("transform-3d),(")+"modernizr){#modernizr{height:3px}}";doc.getElementsByTagName("head")[0].appendChild(st);div.id="modernizr";docElement.appendChild(div);ret=div.offsetHeight===3;st.parentNode.removeChild(st);div.parentNode.removeChild(div)}return ret};tests.csstransitions=function(){return test_props_all("transitionProperty")};tests.fontface=function(){var sheet,head=doc.head||doc.getElementsByTagName("head")[0]||docElement,style=doc.createElement("style"),impl=doc.implementation||{hasFeature:function(){return false}};style.type="text/css";head.insertBefore(style,head.firstChild);sheet=style.sheet||style.styleSheet;var supportAtRule=impl.hasFeature("CSS2","")?function(rule){if(!(sheet&&rule)){return false}var result=false;try{sheet.insertRule(rule,0);result=!(/unknown/i).test(sheet.cssRules[0].cssText);sheet.deleteRule(sheet.cssRules.length-1)}catch(e){}return result}:function(rule){if(!(sheet&&rule)){return false}sheet.cssText=rule;return sheet.cssText.length!==0&&!(/unknown/i).test(sheet.cssText)&&sheet.cssText.replace(/\r+|\n+/g,"").indexOf(rule.split(" ")[0])===0};ret._fontfaceready=function(fn){fn(ret.fontface)};return supportAtRule('@font-face { font-family: "font"; src: "font.ttf"; }')};tests.video=function(){var elem=doc.createElement("video"),bool=!!elem.canPlayType;if(bool){bool=new Boolean(bool);bool.ogg=elem.canPlayType('video/ogg; codecs="theora"');var h264='video/mp4; codecs="avc1.42E01E';bool.h264=elem.canPlayType(h264+'"')||elem.canPlayType(h264+', mp4a.40.2"');bool.webm=elem.canPlayType('video/webm; codecs="vp8, vorbis"')}return bool};tests.audio=function(){var elem=doc.createElement("audio"),bool=!!elem.canPlayType;if(bool){bool=new Boolean(bool);bool.ogg=elem.canPlayType('audio/ogg; codecs="vorbis"');bool.mp3=elem.canPlayType("audio/mpeg;");bool.wav=elem.canPlayType('audio/wav; codecs="1"');bool.m4a=elem.canPlayType("audio/x-m4a;")||elem.canPlayType("audio/aac;")}return bool};tests.localstorage=function(){try{return("localStorage" in window)&&window.localStorage!==null}catch(e){return false}};tests.sessionstorage=function(){try{return("sessionStorage" in window)&&window.sessionStorage!==null}catch(e){return false}};tests.webWorkers=function(){return !!window.Worker};tests.applicationcache=function(){var cache=window.applicationCache;return !!(cache&&(typeof cache.status!="undefined")&&(typeof cache.update=="function")&&(typeof cache.swapCache=="function"))};tests.svg=function(){return !!doc.createElementNS&&!!doc.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect};tests.smil=function(){return !!doc.createElementNS&&/SVG/.test(tostring.call(doc.createElementNS("http://www.w3.org/2000/svg","animate")))};tests.svgclippaths=function(){return !!doc.createElementNS&&/SVG/.test(tostring.call(doc.createElementNS("http://www.w3.org/2000/svg","clipPath")))};function webforms(){ret.input=(function(props){for(var i=0,len=props.length;i<len;i++){attrs[props[i]]=!!(props[i] in f)}return attrs})("autocomplete autofocus list placeholder max min multiple pattern required step".split(" "));ret.inputtypes=(function(props){for(var i=0,bool,len=props.length;i<len;i++){f.setAttribute("type",props[i]);bool=f.type!=="text";if(bool){f.value=smile;if(/^range$/.test(f.type)&&f.style.WebkitAppearance!==undefined){docElement.appendChild(f);bool=doc.defaultView.getComputedStyle&&doc.defaultView.getComputedStyle(f,null).WebkitAppearance!=="textfield"&&(f.offsetHeight!==0);docElement.removeChild(f)}else{if(/^(search|tel)$/.test(f.type)){}else{if(/^(url|email)$/.test(f.type)){bool=f.checkValidity&&f.checkValidity()===false}else{bool=f.value!=smile}}}}inputs[props[i]]=!!bool}return inputs})("search tel url email datetime date month week time datetime-local number range color".split(" "))}for(var feature in tests){if(hasOwnProperty(tests,feature)){classes.push(((ret[feature.toLowerCase()]=tests[feature]())?"":"no-")+feature.toLowerCase())}}if(!ret.input){webforms()}ret.addTest=function(feature,test){feature=feature.toLowerCase();if(ret[feature]){return}test=!!(test());docElement.className+=" "+(test?"":"no-")+feature;ret[feature]=test;return ret};set_css("");m=f=null;if(enableHTML5&&(function(){var elem=doc.createElement("div");elem.innerHTML="<elem></elem>";return elem.childNodes.length!==1})()){(function(p,e){function q(a,b){if(g[a]){g[a].styleSheet.cssText+=b}else{var c=r[l],d=e[j]("style");d.media=a;c.insertBefore(d,c[l]);g[a]=d;q(a,b)}}function s(a,b){for(var c=new RegExp("\\b("+m+")\\b(?!.*[;}])","gi"),d=function(k){return".iepp_"+k},h=-1;++h<a.length;){b=a[h].media||b;s(a[h].imports,b);q(b,a[h].cssText.replace(c,d))}}function t(){for(var a,b=e.getElementsByTagName("*"),c,d,h=new RegExp("^"+m+"$","i"),k=-1;++k<b.length;){if((a=b[k])&&(d=a.nodeName.match(h))){c=new RegExp("^\\s*<"+d+"(.*)\\/"+d+">\\s*$","i");i.innerHTML=a.outerHTML.replace(/\r|\n/g," ").replace(c,a.currentStyle.display=="block"?"<div$1/div>":"<span$1/span>");c=i.childNodes[0];c.className+=" iepp_"+d;c=f[f.length]=[a,c];a.parentNode.replaceChild(c[1],c[0])}}s(e.styleSheets,"all")}function u(){for(var a=-1,b;++a<f.length;){f[a][1].parentNode.replaceChild(f[a][0],f[a][1])}for(b in g){r[l].removeChild(g[b])}g={};f=[]}for(var r=e.documentElement,i=e.createDocumentFragment(),g={},m="abbr|article|aside|audio|canvas|command|datalist|details|figure|figcaption|footer|header|hgroup|keygen|mark|meter|nav|output|progress|section|source|summary|time|video",n=m.split("|"),f=[],o=-1,l="firstChild",j="createElement";++o<n.length;){e[j](n[o]);i[j](n[o])}i=i.appendChild(e[j]("div"));p.attachEvent("onbeforeprint",t);p.attachEvent("onafterprint",u)})(this,doc)}ret._enableHTML5=enableHTML5;ret._version=version;docElement.className=docElement.className.replace(/\bno-js\b/,"")+" js";docElement.className+=" "+classes.join(" ");return ret})(this,this.document);
