var presentacion = function(div, array_banners){
	
	this.selector_ancla = "#" + div +" > a";
	this.selector_imagen = "#"+ div +" > a > img";
	this.puntero = 0;
	this.banners = array_banners;
	this.picker="";
	this.p;
	
	this.init = function(){
		p = this;
		// barajamos el array de banners
		for(
	      var j, x, i = p.banners.length; i;
	      j = parseInt(Math.random() * i),
	      x = p.banners[--i], p.banners[i] = p.banners[j], p.banners[j] = x
	    );
	};
	
	this.cambiaBanner =  function(){
			var contador = p.banners.length;
			var ok = false;
			do{
				banner = p.banners[p.puntero];
				if(p.bannerValido(banner)){
					$(p.selector_ancla).attr("href",banner.url);
					$(p.selector_imagen).attr("src",rutaBaseImagenes+banner.rutaImagen);
					$(p.selector_imagen).attr("alt",banner.textoImagen);
					p.puntero = (p.puntero + 1) % p.banners.length;
					ok = true;
				}else{
					p.banners.splice(p.puntero,1);
					contador--;
				}
			} while (contador > 0 && !ok);
			// En caso de que todos los banners hubieran caducado no se vuelve a llarmar a cambiaBanner
			if(contador > 0)
				p.picker = setTimeout("p.cambiaBanner()", banner.duracion);
		};
	this.bannerValido = function(_banner)
		{
			f1=new Date();
			f2=new Date(_banner.fin);
			// Se añade 1 día para que la fecha establecida como fin sea el último día que se muestra.
			f2.setDate(f2.getDate()+1); 
			f3=new Date(_banner.inicio);
			if (f3<=f1 && f1<=f2) res = true;
			else res = false;
			return res;
		};
}

function inicializa(){
	$.each(presentaciones, function(index, presentacion){
		presentacion.cambiaBanner();
	})
}

$(document).ready(function(){
	inicializa();
});
