var Banners = {
	initialize: function(){
		this.ref = document.id('banners');
		this.container = this.ref.getFirst();

		if(this.items.length>1){
			this.current = false;
			this.walker = false;

			this.handles = {};
			this.handles.items = [];
			this.handles.container = new Element('p',{'id':'banners_handles'}).inject(this.ref);

			var srcs = [];
			this.items.each(function(item){
				srcs.push(BASE.www+'img/banners/'+item.imagen);
			});
			this.load(srcs);
		}else{
			this.create(0);
		}
	},

	load: function(srcs){
		this.loader = new Asset.images(srcs,{
			onProgress: this.onLoad.bind(this),
			onComplete: this.onLoadAll.bind(this)
		});
	},

	create: function(i){
		this.items[i].el = new Element('a',{'href':this.items[i].href}).inject(this.container).adopt(new Element('img',{'src':BASE.www+'img/banners/'+this.items[i].imagen,'alt':this.items[i].nombre}));
	},

	onLoad: function(i,src){
		if(i==0){
			this.create(0);
		}
		this.handles.items[i] = new Element('span').set('html',i+1).inject(this.handles.container);
	},

	onLoadAll: function(){
		this.items.each(function(item,i){
			if(i>0){
				this.create(i);
			}
			this.handles.items[i].addEvent('click',this.show.bind(this,[i]));
		},this);
		
		delete this.loader;

		this.show(0);
	},

	show: function(i){
		$clear(this.walker);

		this.items.each(function(item,j){
			if(j===i){
				this.items[j].el.setStyles({'z-index':2,'opacity':0,'display':'block'});
				this.handles.items[j].setOpacity(1);
			}else if(j===this.current){
				this.items[j].el.setStyles({'z-index':1,'opacity':1,'display':'block'});
				this.handles.items[j].setOpacity(0.5);
			}else{
				this.items[j].el.setStyles({'z-index':0,'opacity':0,'display':'none'});
				this.handles.items[j].setOpacity(0.5);
			}
		},this);

		if(this.current===false){
			this.items[i].el.setStyle('opacity',1);
		}else{
			this.items[i].el.fade('in');
		}

		this.current = i;

		this.walker = this.next.delay(this.items[i].retardo.toInt()*1000,this);
	},

	next: function(){
		var i = this.current<this.items.length-1 ? this.current+1 : 0;
		this.show(i);
	}
};

//target _blank
$$('a.blank').addEvent('click',function(e){
	new Event(e).stop();
	window.open(this.href);
});