var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(a,c){for(var b in c){a[b]=c[b]}return a};Function.prototype.bind=function(b){var a=this;return function(){return a.apply(b,arguments)}};if(!Array.prototype.forEach){Array.prototype.forEach=function(b,c){for(var a=0;a<this.length;a++){b.call(c,this[a],a)}}}Array.prototype.each=Array.prototype.forEach;String.prototype.camelize=function(){return this.replace(/-\D/gi,function(a){return a.charAt(a.length-1).toUpperCase()})};var $A=function(c){var b=[];for(var a=0;a<c.length;a++){b.push(c[a])}return b};function $(){if(arguments.length==1){return b(arguments[0])}var a=[];$c(arguments).each(function(c){a.push(b(c))});return a;function b(c){if(typeof c=="string"){c=document.getElementById(c)}return c}}if(!window.Element){var Element={}}Object.extend(Element,{remove:function(a){a=$(a);a.parentNode.removeChild(a)},hasClassName:function(a,b){a=$(a);return !!a.className.match(new RegExp("\\b"+b+"\\b"))},addClassName:function(a,b){a=$(a);if(!Element.hasClassName(a,b)){a.className=(a.className+" "+b)}},removeClassName:function(a,b){a=$(a);if(Element.hasClassName(a,b)){a.className=a.className.replace(b,"")}}});document.getElementsByClassName=function(b){var c=[];var a=document.getElementsByTagName("*");$A(a).each(function(d){if(Element.hasClassName(d,b)){c.push(d)}});return c};Function.prototype.bindAsEventListener=function(c){var a=this,b=$A(arguments),c=b.shift();return function(d){return a.apply(c,[d||window.event].concat(b))}};
