/* 
 * MooModernizr 1.1
 * @author Arian Stolwijk <aryweb.nl> 
 * Idea and a lot of code by Modernizr
 * @license MIT-style
*/

(function(){var m=new Element('mooModernizr'),f=new Element('input'),checkProps=function(prop){var i=0;for(i in prop){if(getCss(prop[i])!=undefined){return prop[i];}}
return false;},getPropsAll=function(prop,extend){var uc_prop=prop.replace(/./,function(a){return a.toUpperCase();}),props=mooModernizr.prefixes.map(function(e){return e+uc_prop;}).include(prop);if(extend){if($type(extend)!='array')extend=[extend];props.extend(extend);}
return props;},setCss=function(str){m.style.cssText=str;},setCssAll=function(str1,str2){str1+=';';return setCss(str1
+mooModernizr.prefixes.map(function(pre){return'-'+pre+'-';}).join(str1)
+(str2||''));},getCss=function(prop){prop=prop?prop:'cssText';return $defined(m.style[prop])?m.style[prop]:null;};this.mooModernizr={inputtype:function(type){f.setAttribute('type',type);return!!(f.type!=='text');},prefixes:'o moz Moz ms webkit'.split(' ')};var features=new Hash({canvas:(function(){return!!new Element('canvas').getContext;})()});features.extend({canvastext:!!(features.canvas&&typeof new Element('canvas').getContext('2d').fillText=='function'),geolocation:!!navigator.geolocation,rgba:(function(){setCss('background-color: rgba(150,255,150, .5)');return getCss('backgroundColor').contains('rgba');})(),hsla:(function(){setCss('background-color: hsla(120,40%,100%, .5)');return getCss('backgroundColor').contains('rgba');})(),multiplebgs:(function(){setCss('background: url(m.png), url(a.png), #f99 url(m.png)');return/(url\s*\(.*?){3}/.test(getCss('background'));})(),opacity:(function(){setCss('opacity: .5');return getCss('opacity').contains('0.5');})(),cssgradients:(function(){var str1='background-image:',str2='gradient(linear,left top,right bottom,from(#9f9),to(white));',str3='linear-gradient(left top,#9f9, white);';setCss(str1+str2
+str1+str3
+mooModernizr.prefixes.map(function(pre){return str1+'-'+pre+'-'+str2
+str1+pre+str3;}));return getCss('backgroundImage').contains('gradient');})()});var checkCSS3=function(value){var arr=$type(value)=='array'?value:[value];if($defined(arr[1]))setCssAll(arr[1]);return checkProps(getPropsAll.run(arr[0]));};features.extend(new Hash({borderimage:'borderImage',borderradius:'borderRadius',boxshadow:'boxShadow',textshadow:'textShadow',cssanimations:'animationName',csscolumns:'columnCount',cssreflections:'boxReflect',csstransforms:[['Transform','transformProperty']],csstransforms3d:[['Perspective','perspectiveProperty']],csstransitions:'transitionProperty'}).map(checkCSS3));features.extend({video:(function(){var v=new Element('video');var video=v.canPlayType?new Hash():false;if(video){video.extend({ogg:v.canPlayType('video/ogg; codecs="theora, vorbis"'),h264:v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')});return video;}
return false;})(),audio:(function(){var a=new Element('audio');var audio=a.canPlayType?new Hash():false;if(audio){audio.extend({ogg:a.canPlayType('audio/ogg; codecs="vorbis"'),wav:a.canPlayType('audio/wave'),mp3:a.canPlayType('audio/mpeg3;'),m4a:a.canPlayType('audio/x-m4a;')});return audio;}
return false;})(),localstorage:!!('sessionStorage'in window),sessionstorage:!!('sessionStorage'in window),webworkers:!!window.Worker,applicationcache:!!window.applicationCache,offlinedetection:!!navigator.onLine,postmessage:!!window.postMessage,webdatabase:!!window.openDatabase,query:!!(document.querySelector),json:!!(window.JSON),inputtypes:(function(props){var inputs={},supported=false;props.each(function(type){inputs[type]=mooModernizr.inputtype(type);supported=supported||inputs[type];});return supported?inputs:false;})('search tel url email datetime date month week time datetime-local number range color'.split(' ')),inputattributes:(function(props){var attrs={},supported=false;props.each(function(attr){attrs[attr]=!!(attr in f);supported=supported||attrs[attr];});return supported?attrs:false;})('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '))});$extend(Browser.Features,features);setCss('');})();