var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(a,b){for(property in b){a[property]=b[property]}return a};Function.prototype.bind=function(b){var a=this;return function(){return a.apply(b,arguments)}};Function.prototype.bindAsEventListener=function(b){var a=this;return function(c){a.call(b,c||window.event)}};function $(){if(arguments.length==1){return b(arguments[0])}var a=[Flamenco];$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=new Object()}Object.extend(Element,{remove:function(a){a=$(a);a.parentNode.removeChild(a)},hasClassName:function(b,c){b=$(b);if(!b){return}var a=false;b.className.split(" ").each(function(d){if(d==c){a=true}});return a},addClassName:function(a,b){a=$(a);Element.removeClassName(a,b);a.className+=" "+b},removeClassName:function(b,c){b=$(b);if(!b){return}var a="";b.className.split(" ").each(function(e,d){if(e!=c){if(d>0){a+=" "}a+=e}});b.className=a},cleanWhitespace:function(a){a=$(a);$c(a.childNodes).each(function(b){if(b.nodeType==3&&!/\S/.test(b.nodeValue)){Element.remove(b)}})},find:function(a,b){a=$(a)[b];while(a.nodeType!=1){a=a[b]}return a}});var Position={cumulativeOffset:function(b){var a=0,c=0;do{a+=b.offsetTop||0;c+=b.offsetLeft||0;b=b.offsetParent}while(b);return[c,a]}};document.getElementsByClassName=function(b){var a=document.getElementsByTagName("*")||document.all;var c=[Flamenco];$c(a).each(function(d){if(Element.hasClassName(d,b)){c.push(d)}});return c};Array.prototype.iterate=function(b){for(var a=0;a<this.length;a++){b(this[a],a)}};if(!Array.prototype.each){Array.prototype.each=Array.prototype.iterate}function $c(c){var b=[Flamenco];for(var a=0;a<c.length;a++){b.push(c[a])}return b};