function $(c){return document.getElementById(c)}
var global=function(){var c={},b=/^\s+|\s+$/g;c.trim=function(f){return f.replace(b,"")};c.d2h=function(b){return b.toString(16)};c.h2d=function(b){return parseInt(b,16)};c.getvalbounds=function(b,d,c){b=Math.max(b,d);return Math.min(b,c)};c.getquerystring=function(){return window.location.search.replace(/^\?/,"")};c.addhtmlclass=function(b){var d=document.getElementsByTagName("html");if(d.length&&(d=d[0],!RegExp("(^| )"+b+"( |$)").test(d.className)))d.className=c.trim(d.className+" "+b)};return c}();
global.event=function(){function c(a,b){return!b?false:a==b?true:c(a,b.parentNode)}var b={},f=document,d=window,g=[];b.add=function(a,b,e){if(d.addEventListener)a.addEventListener(b,e,false),b=="mousewheel"&&a.addEventListener("DOMMouseScroll",e,false);else if(d.attachEvent){var c=b+e,f="e"+c;a[f]=e;a[c]=function(){return a[f](d.event)};a.attachEvent("on"+b,a[c]);g[g.length]={o:a,type:b,func:e}}};b.remove=function(a,b,c){d.removeEventListener?(a.removeEventListener(b,c,false),b=="mousewheel"&&a.removeEventListener("DOMMouseScroll",
c,false)):d.detachEvent&&(c=b+c,a.detachEvent("on"+b,a[c]),a[c]=null,a["e"+c]=null)};b.preventdefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=false};b.gettarget=function(a){a=a.target||a.srcElement;return a.nodeType==3?a.parentNode:a};b.getrelatedtarget=function(a){return a.relatedTarget||(a.type=="mouseover"?a.fromElement:a.type=="mouseout"?a.toElement:false)};b.getmouseposition=function(a){if(a.pageX||a.pageY)return{x:a.pageX,y:a.pageY};if(a.clientX||a.clientY){var b=f.body,
c=f.documentElement;return{x:a.clientX+b.scrollLeft+c.scrollLeft,y:a.clientY+b.scrollTop+c.scrollTop}}return{x:0,y:0}};b.getmousewheeldir=function(a){return(a.detail?a.detail*-1:a.wheelDelta)<0?1:-1};b.ismouseenterleave=function(a,d){var e=b.getrelatedtarget(d);return!(!e||c(a,e))};b.getkeycode=function(a){return a.keyCode||a.which};d.detachEvent&&b.add(d,"unload",function(){for(var a=0,c=g.length;a<c;a++)b.remove(g[a].o,g[a].type,g[a].func);g=null});return b}();

