var Behaviour={list:[],register:function(f){Behaviour.list.push(f)},start:function(){Behaviour.addLoadEvent(function(){Behaviour.apply()})},apply:function(){for(h=0;sheet=Behaviour.list[h];h++)for(selector in sheet)if(list=document.getElementsBySelector(selector))for(i=0;element=list[i];i++)sheet[selector](element)},addLoadEvent:function(f){var a=window.onload;window.onload=typeof window.onload!="function"?f:function(){a();f()}}};Behaviour.start();
function getAllChildren(f){return f.all?f.all:f.getElementsByTagName("*")}
document.getElementsBySelector=function(f){if(!document.getElementsByTagName)return[];f=f.split(" ");for(var a=new Array(document),o=0;o<f.length;o++){token=f[o].replace(/^\s+/,"").replace(/\s+$/,"");if(token.indexOf("#")>-1){var b=token.split("#"),c=b[0];a=b[1];a=document.getElementById(a);if(c&&a.nodeName.toLowerCase()!=c)return[];a=new Array(a)}else if(token.indexOf(".")>-1){b=token.split(".");c=b[0];var j=b[1];c||(c="*");b=[];for(var d=0,g=0;g<a.length;g++){var l;l=c=="*"?getAllChildren(a[g]):
a[g].getElementsByTagName(c);for(var k=0;k<l.length;k++)b[d++]=l[k]}a=[];for(d=c=0;d<b.length;d++)if(b[d].className&&b[d].className.match(new RegExp("\\b"+j+"\\b")))a[c++]=b[d]}else if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){c=RegExp.$1;var m=RegExp.$2;j=RegExp.$3;var n=RegExp.$4;c||(c="*");b=[];for(g=d=0;g<a.length;g++){l=c=="*"?getAllChildren(a[g]):a[g].getElementsByTagName(c);for(k=0;k<l.length;k++)b[d++]=l[k]}a=[];c=0;switch(j){case "=":j=function(e){return e.getAttribute(m)==
n};break;case "~":j=function(e){return e.getAttribute(m).match(new RegExp("\\b"+n+"\\b"))};break;case "|":j=function(e){return e.getAttribute(m).match(new RegExp("^"+n+"-?"))};break;case "^":j=function(e){return e.getAttribute(m).indexOf(n)==0};break;case "$":j=function(e){return e.getAttribute(m).lastIndexOf(n)==e.getAttribute(m).length-n.length};break;case "*":j=function(e){return e.getAttribute(m).indexOf(n)>-1};break;default:j=function(e){return e.getAttribute(m)}}a=[];for(d=c=0;d<b.length;d++)if(j(b[d]))a[c++]=
b[d]}else{if(!a[0])return;c=token;b=[];for(g=d=0;g<a.length;g++){l=a[g].getElementsByTagName(c);for(k=0;k<l.length;k++)b[d++]=l[k]}a=b}}return a};
