$(document).ready(function() {
	/***********************************
	*********** Slider *****************
	************************************/
	$.height	=	480;
	$.margin	=	64;
	
	$.pos		=	1;
	$.pos_fisica=	1;
	$.total		=	$("#pelicula .viewer").length;
	
	$.vel_anim	=	1500;
	$.vel_anim2	=	1500;
	
	$.sttoped	=	false;
	$.playtime	=	8000;
	$.blockmovement=	false;
	$.first_time = true;
	
	$.slider = function(){
		$.slider.equilibrar();
		
		$("#menu ul li").click(function(){
			$.slider.stop();
			if(!$.blockmovement){
				$.blockmovement = true;
				$.slider.goto($(this).attr("rel").replace("item",""));
			}
		});
		
		$("#play").click(function(){ $.slider.play() });		
		$("#stop").click(function(){ $.slider.stop() });
		
		//Inicio aleatorio
		if(!$.blockmovement){
			$.blockmovement = true;
			goto= Math.round(Math.random()*($("#pelicula .viewer").length -3)+1);
			$.slider.goto(goto);
		}
		
		//Que se vean o no el play y el stop
		$("#tv").hover(
		  function () {
			$("#play").css("visibility","visible");
			$("#stop").css("visibility","visible");
		  }, 
		  function () {
			$("#play").css("visibility","hidden");
			$("#stop").css("visibility","hidden");
		  }
		);

		
		//Activamos el slider automatico
		setInterval("$.slider.playnext()",$.playtime);
	}
	$.slider.play = function(){
		$.sttoped = false;
		$("#play").fadeOut(function(){$("#stop").fadeIn()});
	}
	$.slider.stop = function(){
		$.sttoped = true;
		$("#stop").fadeOut(function(){$("#play").fadeIn()});
	}
	$.slider.playnext = function(){
		if(!$.sttoped)
			$.slider.next();
	}
	$.slider.goto = function(dest){
		//Equilibramos
		$.slider.equilibrar();
		$("#text div.item"+$.pos).fadeOut();
		
		//restauramos su opacidad
		$("#pelicula #item"+$.pos).fadeTo('slow',0.7)
		
		//decrementamos
		$.pos=dest;
		
		//Movemos!
		$.slider.move();
	};
	$.slider.before = function(){

		if(!$.blockmovement){
			$.blockmovement = true;		
			//Equilibramos
			$.slider.equilibrar();
			$("#text div.item"+$.pos).fadeOut();
			
			//restauramos su opacidad
			$("#pelicula #item"+$.pos).fadeTo('slow',0.7)
		
			//decrementamos
			$.pos--;
			if($.pos==0)
				$.pos=$.total;
				
			//Movemos!
			$.slider.move();
		}
	};
	$.slider.next = function(){
		if(!$.blockmovement){
			$.blockmovement = true;
			$.slider.equilibrar();
			$("#text div.item"+$.pos).fadeOut();
			
			
			//restauramos su opacidad
			$("#pelicula #item"+$.pos).fadeTo('slow',0.7)
			
			$.pos++;
			if($.pos>$.total)
				$.pos=1;
				
			//Movemos!
			$.slider.move();
		}
	};
	$.slider.equilibrar = function(){
		//Activamos en el menu la parte que toca
		$.slider.updateMenu();
		
		//mostramos el texto que toca
		$("#text div.item"+$.pos).fadeIn();
		
		
		
		mover = $.total/2;
		max_movida = $.pos;
		antes = Array();
		despues = Array();
		antes_i = Array();
		despues_i = Array();
		
		//las que vienen después
		for(i=1;i<=$.total;i++){
			$.slider.pushInicio(i);
			if(Math.abs($.pos-i)>=$.total/2){
				if(i<$.pos)
					antes.push(i);
					
				if(i>$.pos)
					despues.push(i);
			}else{
				if(i<$.pos)
					despues_i.push(i);
					
				if(i>$.pos)
					antes_i.push(i);
				
			}
		}
		
		
		despues = despues.concat(despues_i);
		
		antes = antes.reverse();
		antes_i = antes_i.reverse();
		antes = antes.concat(antes_i);
		
		
		antes = antes.reverse();
		despues = despues.reverse();

		
		//Arreglo para que vaya al reves
		
		for(i=0;i<antes.length;i++)
		{
			$.slider.pushInicio(antes[i]);
		}
		for(i=0;i<despues.length;i++)
		{
			$.slider.pushFinal(despues[i]);
		}
		
		//Pusheamos la primera al final y la ultima al principio (por si acaso se va al final que no vea un hueco en blanco
		$.slider.deleteCopy();
		$.slider.pushFinalCopy(antes[antes.length-1]);
		$.slider.pushInicioCopy(despues[despues.length-1]);
			
		//Como si no ubiera pasado nada
		$.slider.fixPos();
		
	};
	$.slider.move = function(){
		$.slider.updatePos();
		margin = ($.pos_fisica*$.height + $.margin -800)* -1;
		
		margin1 = margin+100;
		margin2 = margin-100;
		
		
		$("#pelicula").animate({marginTop:margin1+"px"},$.vel_anim)
					  .animate({marginTop:margin2+"px"},$.vel_anim1)
					  .animate({marginTop:margin+"px"},$.vel_anim1,function(){
						  	$("#pelicula #item"+$.pos).fadeTo('slow',1)
							$.slider.equilibrar();
							$.blockmovement = false;
							if($.first_time){
								$("#play").css("visibility","hidden");
								$("#stop").css("visibility","hidden");
								$.slider.play()
								$.first_time= false;	
							}
					  });
	}
	
	$.slider.deleteCopy = function(){
		$(".viewer.copy").remove();
	};
	
	$.slider.pushInicioCopy = function(pos){
		$("#pelicula .viewer:first").before( '<div class="viewer copy" style="'+$("#pelicula #item"+pos+".viewer").attr("style")+'">'+$("#pelicula #item"+pos+".viewer").html()+'</div>' );
	}
	
	$.slider.pushInicio = function(pos){
		if($("#pelicula .viewer:first").attr("id")!="item"+pos)
			$("#pelicula .viewer:first").before( $("#pelicula #item"+pos+".viewer") );
		
	}
	$.slider.pushFinalCopy = function(pos){
		$("#pelicula .viewer:last").after( '<div class="viewer copy" style="'+$("#pelicula #item"+pos+".viewer").attr("style")+'">'+$("#pelicula #item"+pos+".viewer").html()+'</div>'  );
	}
	$.slider.pushFinal = function(pos){
		if($("#pelicula .viewer:last").attr("id")!="item"+pos)
			$("#pelicula .viewer:last").after( $("#pelicula #item"+pos+".viewer") );
		
	}
	$.slider.updatePos = function(){
		$.future_pos=1;
		$("#pelicula .viewer").each(function(){
			
			if($(this).attr("id")=="item"+$.pos)
				$.pos_fisica = $.future_pos;
			$.future_pos++;
		});	
	}
	$.slider.fixPos = function(){
		$.slider.updatePos();
		margin = $.pos_fisica*$.height + $.margin -800;
		$("#pelicula").css("margin-top","-"+margin+"px");
	}
	
	$.slider.updateMenu = function(){
		$("#menu ul li").each(function(){ $(this).removeClass("active");});	
		$('#menu ul li[rel="item'+$.pos+'"]').addClass("active");
	}
	
	/*$.init_height = $(window).height();
	$(window).resize(function(){
		$.act_height = $(window).height();
		$('#tv').css('top', $.act_height);
	});*/
});
$(window).load(function(){
	if($(window).height() <  $("#content").height()){
		move = $("#content").height()/2 - $(window).height()/2 -30;
		$(window).scrollTop(move);
	}
	$.slider();
});
