/*
 * EnhanceJS version 1.1 - Test-Driven Progressive Enhancement
 * http://enhancejs.googlecode.com/
 * Copyright (c) 2010 Filament Group, Inc, authors.txt
 * Licensed under MIT (license.txt)
*/
(function(win,doc,undefined){var settings,body,fakeBody,windowLoaded,head,docElem=doc.documentElement,testPass=false,mediaCookieA,mediaCookieB,toggledMedia=[];if(doc.getElementsByTagName){head=doc.getElementsByTagName("head")[0]||docElem}else{head=docElem}var mediaquery=(function(){var cache={},testDiv=doc.createElement("div");testDiv.setAttribute("id","ejs-qtest");return function(q){if(cache[q]===undefined){addFakeBody();var styleBlock=doc.createElement("style");styleBlock.type="text/css";head.appendChild(styleBlock);var cssrule="@media "+q+" { #ejs-qtest { position: absolute; width: 10px; } }";if(styleBlock.styleSheet){styleBlock.styleSheet.cssText=cssrule}else{styleBlock.appendChild(doc.createTextNode(cssrule))}body.appendChild(testDiv);var divWidth=testDiv.offsetWidth;body.removeChild(testDiv);head.removeChild(styleBlock);removeFakeBody();cache[q]=(divWidth==10)}return cache[q]}})();win.enhance=function(options){options=options||{};settings={};for(var name in enhance.defaultSettings){var option=options[name];settings[name]=option!==undefined?option:enhance.defaultSettings[name]}for(var test in options.addTests){settings.tests[test]=options.addTests[test]}if(docElem.className.indexOf(settings.testName)===-1){docElem.className+=" "+settings.testName}mediaCookieA=settings.testName+"-toggledmediaA";mediaCookieB=settings.testName+"-toggledmediaB";toggledMedia=[readCookie(mediaCookieA),readCookie(mediaCookieB)];setTimeout(function(){if(!testPass){removeHTMLClass()}},3000);runTests();applyDocReadyHack();windowLoad(function(){windowLoaded=true})};enhance.query=mediaquery;enhance.defaultTests={getById:function(){return !!doc.getElementById},getByTagName:function(){return !!doc.getElementsByTagName},createEl:function(){return !!doc.createElement},boxmodel:function(){var newDiv=doc.createElement("div");newDiv.style.cssText="width: 1px; padding: 1px;";body.appendChild(newDiv);var divWidth=newDiv.offsetWidth;body.removeChild(newDiv);return divWidth===3},position:function(){var newDiv=doc.createElement("div");newDiv.style.cssText="position: absolute; left: 10px;";body.appendChild(newDiv);var divLeft=newDiv.offsetLeft;body.removeChild(newDiv);return divLeft===10},floatClear:function(){var pass=false,newDiv=doc.createElement("div"),style='style="width: 5px; height: 5px; float: left;"';newDiv.innerHTML="<div "+style+"></div><div "+style+"></div>";body.appendChild(newDiv);var childNodes=newDiv.childNodes,topA=childNodes[0].offsetTop,divB=childNodes[1],topB=divB.offsetTop;if(topA===topB){divB.style.clear="left";topB=divB.offsetTop;if(topA!==topB){pass=true}}body.removeChild(newDiv);return pass},heightOverflow:function(){var newDiv=doc.createElement("div");newDiv.innerHTML='<div style="height: 10px;"></div>';newDiv.style.cssText="overflow: hidden; height: 0;";body.appendChild(newDiv);var divHeight=newDiv.offsetHeight;body.removeChild(newDiv);return divHeight===0},ajax:function(){var xmlhttp=false,index=-1,factory,XMLHttpFactories=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}];while((factory=XMLHttpFactories[++index])){try{xmlhttp=factory()}catch(e){continue}break}return !!xmlhttp},resize:function(){return win.onresize!=false},print:function(){return !!win.print}};enhance.defaultSettings={testName:"enhanced",loadScripts:[],loadStyles:[],queueLoading:true,appendToggleLink:true,forcePassText:"View high-bandwidth version",forceFailText:"View low-bandwidth version",tests:enhance.defaultTests,media:{"-ejs-desktop":enhance.query("screen and (max-device-width: 1024px)")?"not screen and (max-device-width: 1024px)":"screen","-ejs-handheld":"screen and (max-device-width: 1024px)"},addTests:{},alertOnFailure:false,onPass:function(){},onFail:function(){},onLoadError:addIncompleteClass,onScriptsLoaded:function(){}};function cookiesSupported(){return !!doc.cookie}enhance.cookiesSupported=cookiesSupported();function forceFail(){createCookie(settings.testName,"fail");win.location.reload()}if(enhance.cookiesSupported){enhance.forceFail=forceFail}function forcePass(){createCookie(settings.testName,"pass");win.location.reload()}if(enhance.cookiesSupported){enhance.forcePass=forcePass}function reTest(){eraseCookie(settings.testName);win.location.reload()}if(enhance.cookiesSupported){enhance.reTest=reTest}function addFakeBody(){fakeBody=doc.createElement("body");docElem.insertBefore(fakeBody,docElem.firstChild);body=fakeBody}function removeFakeBody(){docElem.removeChild(fakeBody);body=doc.body}function runTests(){var result=readCookie(settings.testName);if(result){if(result==="pass"){enhancePage();settings.onPass()}else{settings.onFail();removeHTMLClass()}if(settings.appendToggleLink){windowLoad(function(){appendToggleLinks(result)})}}else{var pass=true;addFakeBody();for(var name in settings.tests){pass=settings.tests[name]();if(!pass){if(settings.alertOnFailure){alert(name+" failed")}break}}removeFakeBody();result=pass?"pass":"fail";createCookie(settings.testName,result);if(pass){enhancePage();settings.onPass()}else{settings.onFail();removeHTMLClass()}if(settings.appendToggleLink){windowLoad(function(){appendToggleLinks(result)})}}}function windowLoad(callback){if(windowLoaded){callback()}else{var oldonload=win.onload;win.onload=function(){if(oldonload){oldonload()}callback()}}}function appendToggleLinks(result){if(!settings.appendToggleLink||!enhance.cookiesSupported){return}if(result){var a=doc.createElement("a");a.href="#";a.className=settings.testName+"_toggleResult";a.innerHTML=result==="pass"?settings.forceFailText:settings.forcePassText;a.onclick=result==="pass"?enhance.forceFail:enhance.forcePass;doc.getElementsByTagName("body")[0].appendChild(a)}}function removeHTMLClass(){docElem.className=docElem.className.replace(settings.testName,"")}function enhancePage(){testPass=true;if(settings.loadStyles.length){appendStyles()}if(settings.loadScripts.length){appendScripts()}else{settings.onScriptsLoaded()}}function toggleMedia(mediaA,mediaB){if(readCookie(mediaCookieA)&&readCookie(mediaCookieB)){eraseCookie(mediaCookieA);eraseCookie(mediaCookieB)}else{createCookie(mediaCookieA,mediaA);createCookie(mediaCookieB,mediaB)}win.location.reload()}enhance.toggleMedia=toggleMedia;function mediaSwitch(q){if(toggledMedia.length==2){if(q==toggledMedia[0]){q=toggledMedia[1]}else{if(q==toggledMedia[1]){q=toggledMedia[0]}}}return q}function addIncompleteClass(){var errorClass=settings.testName+"-incomplete";if(docElem.className.indexOf(errorClass)===-1){docElem.className+=" "+errorClass}}function checkifsupported(ifsupported){if(ifsupported.constructor===Array){var allGood=true;for(var item in ifsupported){if(allGood){allGood=!!ifsupported[item]}}return allGood}else{return !!ifsupported}}function appendStyles(){var index=-1,item;while((item=settings.loadStyles[++index])){var link=doc.createElement("link");link.type="text/css";link.rel="stylesheet";link.onerror=settings.onLoadError;if(typeof item==="string"){link.href=item;head.appendChild(link)}else{if(item.media){item.media=mediaSwitch(item.media);if(settings.media){if(settings.media[item.media]!==undefined){item.media=settings.media[item.media]}}}if(item.excludemedia){item.excludemedia=mediaSwitch(item.excludemedia)}var applies=true;if(item.media&&item.media!=="print"&&item.media!=="projection"&&item.media!=="speech"&&item.media!=="aural"&&item.media!=="braille"){applies=mediaquery(item.media)}if(applies&&item.excludemedia){applies=!mediaquery(item.excludemedia)}if(applies&&item.iecondition){applies=isIE(item.iecondition)}if(applies&&item.ifsupported!==undefined){applies=checkifsupported(item.ifsupported);if(!applies&&item.fallback!==undefined){item.href=item.fallback;applies=true}}if(applies){for(var attr in item){if(attr!=="iecondition"&&attr!=="excludemedia"&&attr!=="ifsupported"&&attr!=="fallback"){link.setAttribute(attr,item[attr])}}head.appendChild(link)}}}}var isIE=(function(){var cache={},b;return function(condition){if(
/*@cc_on!@*/
true){return false}var cc="IE";if(condition){if(condition!=="all"){if(!isNaN(parseFloat(condition))){cc+=" "+condition}else{cc=condition}}}if(cache[cc]===undefined){b=b||doc.createElement("B");b.innerHTML="<!--[if "+cc+"]><b></b><![endif]-->";cache[cc]=!!b.getElementsByTagName("b").length}return cache[cc]}})();function appendScripts(){settings.queueLoading?appendScriptsSync():appendScriptsAsync()}function appendScriptsSync(){var queue=[].concat(settings.loadScripts);function next(){if(queue.length===0){return false}var item=queue.shift(),script=createScriptTag(item),done=false;if(script){script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;if(next()===false){settings.onScriptsLoaded()}this.onload=this.onreadystatechange=null}};head.insertBefore(script,head.firstChild)}else{return next()}}next()}function appendScriptsAsync(){var index=-1,item;while((item=settings.loadScripts[++index])){var script=createScriptTag(item);if(script){head.insertBefore(script,head.firstChild)}}settings.onScriptsLoaded()}function createScriptTag(item){var script=doc.createElement("script");script.type="text/javascript";script.onerror=settings.onLoadError;if(typeof item==="string"){script.src=item;return script}else{if(item.media){item.media=mediaSwitch(item.media);if(settings.media){if(settings.media[item.media]){item.media=settings.media[item.media]}}}if(item.excludemedia){item.excludemedia=mediaSwitch(item.excludemedia)}var applies=true;if(item.media){applies=mediaquery(item.media)}if(applies&&item.excludemedia){applies=!mediaquery(item.excludemedia)}if(applies&&item.iecondition){applies=isIE(item.iecondition)}if(applies&&item.ifsupported!==undefined){applies=checkifsupported(item.ifsupported);if(!applies&&item.fallback!==undefined){item.src=item.fallback;applies=true}}if(applies){for(var attr in item){if(attr!=="iecondition"&&attr!=="media"&&attr!=="excludemedia"&&attr!=="ifsupported"&&attr!=="fallback"){script.setAttribute(attr,item[attr])}}return script}else{return false}}}function createCookie(name,value,days){days=days||90;var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();doc.cookie=name+"="+value+expires+"; path=/"}function readCookie(name){var nameEQ=name+"=";var ca=doc.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null}function eraseCookie(name){createCookie(name,"",-1)}function applyDocReadyHack(){if(doc.readyState==null&&doc.addEventListener){doc.addEventListener("DOMContentLoaded",function DOMContentLoaded(){doc.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);doc.readyState="complete"},false);doc.readyState="loading"}}})(window,document);

/* Modernizr 2.0.6 (Custom Build) | MIT & BSD
 * Build: http://www.modernizr.com/download/#-fontface-borderradius-boxshadow-rgba-textshadow-csscolumns-generatedcontent-cssgradients-csstransitions-canvas-inputtypes-touch-iepp-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
 */
;window.Modernizr=function(a,b,c){function F(){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 D(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return C(d,b)}function C(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function B(a,b){return!!~(""+a).indexOf(b)}function A(a,b){return typeof a===b}function z(a,b){return y(o.join(a+";")+(b||""))}function y(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,w={}.hasOwnProperty,x;!A(w,c)&&!A(w.call,c)?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],c)};var E=function(c,d){var f=c.join(""),g=d.length;u(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.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(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],["fontface","touch","generatedcontent"]);q.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},q.touch=function(){return e.touch},q.rgba=function(){y("background-color:rgba(150,255,150,.5)");return B(k.backgroundColor,"rgba")},q.borderradius=function(){return D("borderRadius")},q.boxshadow=function(){return D("boxShadow")},q.textshadow=function(){return b.createElement("div").style.textShadow===""},q.csscolumns=function(){return D("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);";y((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return B(k.backgroundImage,"gradient")},q.csstransitions=function(){return D("transitionProperty")},q.fontface=function(){return e.fontface},q.generatedcontent=function(){return e.generatedcontent};for(var G in q)x(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));e.input||F(),y(""),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.testProp=function(a){return C([a])},e.testAllProps=D,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))};
