function $$(id){return document.getElementById(id);}
function Slide(nombre,tiempo,efecto){
	this.nombre = nombre;
	this.tiempo = tiempo;
	this.intervalo = 0;
	this.incluye_control = 0;
	this.ancho = 200;
	if(!efecto){
		this.efecto = "esfumar";	
	}else{
		this.efecto = efecto;
	}
	this.iniciar = function(){
		if($$(this.nombre)){
			var actual = document.createElement("div");
			actual.style.display = "none";
			actual.id ="actual_"+this.nombre;
			$$(this.nombre).appendChild(actual);
			this.ancho = parseInt($$(this.nombre).style.width);
			var actual_ancho = document.createElement("div");
			actual_ancho.style.display = "none";
			actual_ancho.innerHTML = this.ancho;
			actual_ancho.id ="actual_ancho_"+this.nombre;
			$$(this.nombre).appendChild(actual_ancho);
			this.items = $$(nombre).getElementsByTagName("div");
			this.item_total = 0;
			var str="";
			for(var i=0;i<this.items.length;i++){
				var item = this.items[i];
				if(item.className=="slide_item_"+this.nombre){
					if(this.efecto=="esfumar"){
						item.style.display = "none";
					}
					if(this.efecto=="mover"){
						item.style.left = String(this.ancho)+"px";
						item.style.display = "block";
					}
					item.id = "item_"+this.item_total+"_"+this.nombre;
					this.item_total++;
				}
			}
			var ancho_numeros = 0;
			if(this.item_total>1){
				if($$("numeros_"+this.nombre)){
					var str_num="";
					for(var i=this.item_total-1;i>=0;i--){
						str_num+="<div class=\"slide_numero_off_"+this.nombre+"\"";
						str_num+=" id=\"num_"+i+"_"+this.nombre+"\">";
						str_num+=String(i+1);
						str_num+="</div>";
					}	
					$$("numeros_"+this.nombre).innerHTML = str_num;
					
					for(var i=0;i<this.item_total;i++){
						ancho_numeros+=20;
					}
				}
				for(var i=0;i<this.items.length;i++){
					var item = this.items[i];
					if(item.className=="slide_btn_anterior_off_"+this.nombre){
						item.style.display = "block";
						item.id = "ant_"+this.nombre;
					}
					if(item.className=="slide_btn_siguiente_off_"+this.nombre){
						item.style.display = "block";
						item.id = "sig_"+this.nombre;
					}
				}	
			}
			this.item_actual = 0;
			this.item_anterior = -1;
			this.activar_controles();
			this.numeros();
			this.mover(1);
			if($$("cont_num_"+this.nombre)){
				var margen = $$("cont_num_"+this.nombre).style.marginRight.replace("px","");
				$$("cont_num_"+this.nombre).style.width = (ancho_numeros+60)+"px";
				$$("cont_num_"+this.nombre).style.marginLeft = this.ancho-(ancho_numeros+60)-margen+"px";
			}
		}
	}
	this.esperar = function(auto){
		if(!auto){auto=1;}
		if(auto==1){
			var thisObj = this;
			this.intervalo = setTimeout(function(){thisObj.mover()},this.tiempo);
		}
	}
	this.control = function(numero,direccion){
		window.clearTimeout(this.intervalo);
		if(direccion==1){
			this.item_actual = parseInt(numero)+1;
			this.item_anterior = parseInt(numero);
			if(parseInt(numero) == this.item_total-1){
				this.item_actual=0;
			}
		}
		else if (direccion==0){
			this.item_actual = parseInt(numero)-1;
			this.item_anterior = parseInt(numero);
			if(this.item_actual == -1){
				this.item_actual= this.item_total-1;
			}
		}
		else if (direccion==2){
			this.item_anterior = this.item_actual;
			this.item_actual = parseInt(numero);
		}
		var it_actual = "item_"+this.item_actual+"_"+this.nombre;
		var it_anterior = "item_"+this.item_anterior+"_"+this.nombre;
		if($$(it_anterior)){
			if(this.efecto == "esfumar"){
				if($$(it_anterior).style.display == "none"){
					$$(it_anterior).style.display = "block";
				}
				$('#'+it_anterior).fadeOut('slow');
			}
			if(this.efecto == "mover"){
				$('#'+it_anterior).animate({left: "-"+String(this.ancho)}, 500,"linear", 
					function(){
						var ar = $(this).attr('id').split("_");
						var anch = $$("actual_ancho_"+ar[2]).innerHTML;
						this.style.left=anch+"px";
						
					}
				);	
			}
		}
		if($$(it_actual)){
			if(this.efecto == "esfumar"){
				if($$(it_actual).style.display=="block"){
					$$(it_actual).style.display = "none";
				}
				$('#'+it_actual).fadeIn('slow');
			}
			if(this.efecto == "mover"){
				$('#'+it_actual).animate({left: 0}, 500,"linear");	
			}
		}
		this.set_actual();
		this.numeros();
	}
	this.mover = function(inicio){
		if(!inicio){
			if(this.item_actual == (this.item_total-1)){
				this.item_actual=0;
				this.item_anterior = this.item_total-1;
			}else{
				this.item_actual++;
				this.item_anterior = this.item_actual-1;
			}
		}
		this.numeros();
		var it_actual = "item_"+this.item_actual+"_"+this.nombre;
		var it_anterior = "item_"+this.item_anterior+"_"+this.nombre;
		if($$(it_anterior)){
			if(this.efecto == "esfumar"){
				$$(it_anterior).style.display = "block";
				$('#'+it_anterior).fadeOut('slow');
			}
			if(this.efecto == "mover"){
				$('#'+it_anterior).animate({left: "-"+String(this.ancho)}, 500,"linear",
					function(){
						var ar = $(this).attr('id').split("_");
						var anch = $$("actual_ancho_"+ar[2]).innerHTML;
						this.style.left=anch+"px";
					}
				);	
			}
		}
		if($$(it_actual)){
			if(this.item_total>1){
				if(this.efecto == "esfumar"){
					$$(it_actual).style.display = "none";
					$('#'+it_actual).fadeIn('slow',this.esperar());
				}
				if(this.efecto == "mover"){
					$('#'+it_actual).animate({left: 0},500,"linear",this.esperar());	
				}
			}else{
				if(this.efecto == "esfumar"){
					$$(it_actual).style.display = "none";
					$('#'+it_actual).fadeIn('slow');
				}
				if(this.efecto == "mover"){
					$('#'+it_actual).animate({left: 0},500,"linear");	
				}
			}
		}
		this.set_actual();
	}
	this.set_actual=function(){
		$$("actual_"+this.nombre).innerHTML = this.item_actual;
	}
	this.get_actual=function(){
		return 	this.item_actual;
	}
	this.numeros = function(){
		if(this.item_total>1){
			if($$("numeros_"+this.nombre)){
				for(var i=0; i<this.item_total;i++){
					var obj = $$("num_"+i+"_"+this.nombre);
					obj.className ="slide_numero_off_"+this.nombre;
				}
				if($$("num_"+this.item_actual+"_"+this.nombre)){
				$$("num_"+this.item_actual+"_"+this.nombre).className ="slide_numero_on_"+this.nombre;
				}
			}
			if($$("total_"+this.nombre)){
				$$("total_"+this.nombre).innerHTML = (this.item_actual+1)+"/"+this.item_total;
			}
		}else{
			if($$("total_"+this.nombre)){
				$$("total_"+this.nombre).style.display = "none";
			}
		}
	}
	this.activar_controles = function(){
			$('.slide_numero_off_'+this.nombre).click(
				function(){ 
					var ar_id=$(this).attr('id').split("_");
					if($$($(this).attr('id')).className!="slide_numero_on_"+ar_id[2]){
						var s = eval(ar_id[2]);
						s.control(ar_id[1],2);
					}
				}
			);
			$('.slide_numero_off_'+this.nombre).mouseover(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					if($$(id).className!="slide_numero_on_"+ar_id[2]){
						$$(id).className = "slide_numero_over_"+ar_id[2];
					}
				}
			);
			$('.slide_numero_off_'+this.nombre).mouseout(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					if($$(id).className!="slide_numero_on_"+ar_id[2]){
						$$(id).className = "slide_numero_off_"+ar_id[2];
					}
				}
			);
			$('.slide_btn_anterior_off_'+this.nombre).click(
				function(){ 
						var ar_id=$(this).attr('id').split("_");
						var s = eval(ar_id[1]);
						s.control($$("actual_"+ar_id[1]).innerHTML,0);
					}
				);
				$('.slide_btn_siguiente_off_'+this.nombre).click(
					function(){ 
						var ar_id=$(this).attr('id').split("_");
						var s = eval(ar_id[1]);
						s.control($$("actual_"+ar_id[1]).innerHTML,1);
					}
				);
			$('.slide_btn_anterior_off_'+this.nombre).mouseover(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					$$(id).className = "slide_btn_anterior_on_"+ar_id[1];
				}
			);
			$('.slide_btn_anterior_off_'+this.nombre).mouseout(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					$$(id).className = "slide_btn_anterior_off_"+ar_id[1];
				}
			);
			$('.slide_btn_siguiente_off_'+this.nombre).mouseover(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					$$(id).className = "slide_btn_siguiente_on_"+ar_id[1];
				}
			);
			$('.slide_btn_siguiente_off_'+this.nombre).mouseout(
				function(){ 
					var id=$(this).attr('id');
					var ar_id=id.split("_");
					$$(id).className = "slide_btn_siguiente_off_"+ar_id[1];
				}
			);
			
	}
}
