function $(a){return document.getElementById(a)}function $$(d,b,a){return HW.getElementsByClassName(d,b,a)}function _$(b,a){return HW.querySelectorAll(b,a)}var HW={isIE:false,isMacFF:false,dom:{ready:false,timer:null,loaded:false},toRun:[],log:function(b){if(window.console){window.console.log(b)}},error:function(b){if(window.console){window.console.error(b)}else{alert(b)}},getElementsByClassName:function(a,g,e){var f=[];g=g===null?document:g;e=e===null?"*":e;var d=g.getElementsByTagName?g.getElementsByTagName(e):document.all;d=(!d||!d.length)&&document.all?document.all:d;if(a==null){return d}for(var c=0,b=0;c<d.length;c++){if(this.hasClass(d[c],a)){f[b++]=d[c]}}return f},querySelectorAll:function(a,b){if(document.querySelectorAll&&!b){return document.querySelectorAll(a)}else{if(HW.CssParser){return HW.CssParser(a,b)}}return null},createNode:function(a,d,f,b){var e=document.createElement(a);if(f){e.innerHTML=f}e=HW.extendObject(e,b);return d.appendChild(e)},attachEvent:function(b,a,c){if(window.addEventListener){b.addEventListener(a,c,false)}else{if(window.attachEvent){b.attachEvent("on"+a,c)}else{if(b.getElementById&&a=="load"){b.onload=c}}}},detachEvent:function(b,a,c){if(window.removeEventListener){b.removeEventListener(a,c,false)}else{if(window.detachEvent){b.detachEvent("on"+a,c)}}},preventDefault:function(a){a=a||window.event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}},cancelBubble:function(a){a=a||window.event;if(a.stopPropogation){a.stopPropogation()}else{a.cancelBubble=true}},extendObject:function(c,a){c=c===null?new Object():c;for(var b in a){c[b]=a[b]}return c},addClass:function(a,b){if(!this.hasClass(a,b)){if(a.className==""){a.className=b}else{a.className+=" "+b}}},hasClass:function(b,d){var a=new RegExp("(^| )"+d+"( |$)");if(a.test(b.className)){return true}return false},removeClass:function(b,d){var a=new RegExp("(^| )"+d+"( |$)");b.className=b.className.replace(a,"$1");b.className=b.className.replace(/ $/,"")},setFade:function(b,c){var a=navigator.userAgent.toLowerCase();if((a.indexOf("msie")!=-1)&&(a.indexOf("opera")==-1)){if(c==100){b.style.filter=""}else{if(c<0){b.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0);"}else{b.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+Math.round(c)+");"}}}else{b.style.MozOpacity=(Math.round(c)/100);b.style.opacity=(Math.round(c)/100)}b._alpha=c},setStyle:function(c,b){if(c){for(var a in b){c.style[a]=b[a]}}},fixIE6flicker:function(){var a=document.uniqueID&&document.compatMode&&!window.XMLHttpRequest&&document.execCommand;try{if(!!a){a("BackgroundImageCache",false,true)}}catch(b){}},checkLoaded:function(){if(HW.dom.ready){return true}if(document&&document.getElementsByTagName&&document.getElementById&&document.body){clearInterval(HW.dom.timer);HW.dom.timer=null;HW.dom.ready=true;return true}else{return false}},onload:function(a){HW.toRun.push(a);if(HW.dom.loaded){a()}},load:function(){if(HW.checkLoaded()&&!HW.dom.loaded){HW.dom.loaded=true;var c=navigator.userAgent.toLowerCase();HW.isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;HW.isMacFF=(c.indexOf("mac")!=-1&&c.indexOf("firefox")!=-1)?true:false;for(var b=0,a=HW.toRun.length;b<a;b++){HW.toRun[b]()}HW.fixIE6flicker()}else{if(HW.dom.timer===null){HW.dom.timer=setInterval(HW.load,10)}}}};HW.attachEvent(document,"DOMContentLoaded",HW.load);HW.attachEvent(window,"load",HW.load);HW.CssParser=(function(){var g=/\s*,\s*/;var b=/\s*([\s>+~(),]|^|$)\s*/g;var a=/([\s>+~,]|[^(]\+|^)([#.:@])/g;var d=/(^|\))[^\s>+~]/g;var f=/(\)|^)/;var c=/[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;function e(p,u){u=u||document.documentElement;var t=p.split(g);var r=[];for(var m=0;m<t.length;m++){var h=[u];var k=e.clean(t[m]);for(var l=0;l<k.length;){var n=k[l++];var q=k[l++];var s="";if(k[l]=="("){while(k[l++]!=")"&&l<k.length){s+=k[l]}s=s.slice(0,-1)}h=e.get(h,n,q,s)}r=r.concat(h)}return e.util.unique(r)}e.clean=function(h){var i=h.replace(b,"$1");i=i.replace(a,"$1*$2");i=i.replace(d,function(j){return j.replace(f,"$1 ")});return i.match(c)||[]};e.get=function(j,k,h,i){return(e.selectors[k])?e.selectors[k](j,h,i):[]};e.util={toArray:function(k){var h=[];for(var j=0;j<k.length;j++){h.push(k[j])}return h},unique:function(k){var h=[];for(var j=0;j<k.length;j++){if(!this.inArray(k[j],h)){h.push(k[j])}}return h},inArray:function(k,h){for(var i=0;i<h.length;i++){if(h[i]==k){return true}}return false}};e.dom={isTag:function(h,i){return(i=="*")||(i.toLowerCase()==h.nodeName.toLowerCase())},previousSiblingElement:function(h){while(h&&h.nodeType!=1){h=h.previousSibling}return h},nextSiblingElement:function(h){while(h&&h.nodeType!=1){h=h.nextSibling}return h},hasClass:function(h,i){return(i.className||"").match("(^|\\s)"+h+"(\\s|$)")},getByTag:function(h,i){return i.getElementsByTagName(h)}};e.selectors={"#":function(j,k){for(var h=0;h<j.length;h++){if(j[h].getAttribute("id")==k){return[j[h]]}}return[]}," ":function(l,h){var j=[];for(var k=0;k<l.length;k++){j=j.concat(e.util.toArray(e.dom.getByTag(h,l[k])))}return j},">":function(n,p){var h=[];for(var l=0;l<n.length;l++){var m=n[l];for(var k=0;k<m.childNodes.length;k++){var o=m.childNodes[k];if(o.nodeType==1&&e.dom.isTag(o,p)){h.push(o)}}}return h},".":function(l,j){var h=[];for(var k=0;k<l.length;k++){var m=l[k];if(e.dom.hasClass([j],m)){h.push(m)}}return h},":":function(i,j,h){return(e.pseudoClasses[j])?e.pseudoClasses[psuedo](i,h):[]}};e.pseudoClasses={};return e})();HW.Ajax=function(a,e,c,d){var b=this;d=d?d:"GET";c=c?c:null;this.req=new HW.Ajax.Request(a,c,d);if(typeof(e)=="function"){this._passResponse=e}this.req.xmlHttp.onreadystatechange=function(){b._handle()};this.req._sendRequest()};HW.Ajax.prototype={req:{},_handle:function(){if(this.req.xmlHttp.readyState==4){if(this.req.xmlHttp.status==200){var a=new HW.Ajax.Response(this.req.xmlHttp);this._passResponse(a)}}},_passResponse:function(){return}};HW.Ajax.Request=function(a,b,c){this.createXmlHttpRequestObject();this.href=a;this.vars=b;this.method=c};HW.Ajax.Request.prototype={xmlHttp:null,createXmlHttpRequestObject:function(){try{this.xmlHttp=new XMLHttpRequest()}catch(c){var a=new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");for(var b=0;b<a.length&&!this.xmlHttp;b++){try{this.xmlHttp=new ActiveXObject(a[b])}catch(c){}}}},_sendRequest:function(d,c){if(this.xmlHttp){try{if(this.xmlHttp.readyState==4||this.xmlHttp.readyState==0){this.xmlHttp.open(this.method,this.href+(this.method=="GET"&&this.vars?"?"+this.vars:""),true);if(this.method=="POST"){this.xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.xmlHttp.setRequestHeader("Content-length",this.vars.length);this.xmlHttp.setRequestHeader("Connection","close")}this.xmlHttp.send(this.vars)}else{if(timeoutId!=-1){clearTimeout(timeoutId)}var b=this;timeoutId=setTimeout(function(){b.sendRequest()},500)}}catch(a){}}}};HW.Ajax.Response=function(a){this.contentType=a.getResponseHeader("Content-type")?a.getResponseHeader("Content-type"):null;if(this.contentType.substr(0,4)=="text"){this.xml=a.responseXML?a.responseXML:null;this.text=a.responseText?a.responseText:""}};HW.Ajax.Response.prototype={xml:null,text:null,contentType:null};HW.Animate={fade:function(e,d,a,b){if(!e._alpha&&e._alpha!==0){e._alpha=100}new HW.Animator(e,e._alpha,d,HW.setFade,a,b)},move:function(j,i,g,h){var e={x:j.offsetLeft,y:j.offsetTop};var d=function(k,f){var c=e.x+(i.x-e.x)*f;var a=e.y+(i.y-e.y)*f;HW.setStyle(k,{left:c+"px",top:a+"px"})};var b=new HW.Animator(j,0,1,d,g,h)}};HW.Animator=function(e,a,g,d,b,f){if(e){this.target=e}this.setFunc=d;this.startValue=a;this.endValue=g;if(b){this.time=b}if(typeof(f)=="function"){this.callback=f}this.steps=Math.ceil(this.time/this.stepLength);this.stepLength=this.time/this.steps;this.animate()};HW.Animator.prototype={stepLength:30,time:500,steps:20,setFunc:function(){},callback:function(){},set:function(a){this.setFunc(this.target,a)},animate:function(){var c=this;var d=(this.endValue-this.startValue)/this.steps;if(d!=0){for(var b=1,a=this.steps;b<=a;b++){(function(){var e=b;setTimeout(function(){c.set(c.startValue+e*d)},e*c.stepLength)})()}setTimeout(function(){c.callback()},this.stepLength*this.steps)}else{this.callback()}}};Array.prototype.each=function(e){if(typeof(e)=="function"){var b=[];for(var d=0,c=this.length;d<c;d++){b.push(e(this[d]))}return b}return false};