var pos = 0;
var totImgs = 0;
var waitTime = 5000;
var fadeTime = 2000;
var slideTime = 1500;
var arrowTime = 250;

$.fn.extend({
	pause: function(time){
		var $item = this; 
		return $item.queue(function(){
			setTimeout(function(){
				$item.dequeue();
			}, time);
		});
	}
});

$(window).load(function(){
	// Ocultamos los li posteriores al primero.
	if (jQuery.browser.msie) {
		$("div.imgs_bigs").find("li:eq(0)").css("margin-left", "0px");
		$("div.imgs_bigs").find("li:gt(0)").css("margin-left", "-" + $("div.imgs_bigs").width() + "px").show();
	} else {
		$("#list_imgs_gran > li:gt(0)").hide();
	}
	
	// Mostramos el primer texto.
	$("#list_imgs_gran").find("strong").eq(0).show();
	// Ocultamos los subtitulos posteriores al primero.
	$("ul.list_text > li:gt(0)").hide();
	// Obtenemos el total de imagenes
	totImgs = $("div.imgs_bigs").find("img").size();
	// Quitamos los enlaces a las imagenes pequenas.
	$("ul.list_imgs li").each(function(){
		$(this).find("a").after($(this).find("a").html()).remove();
	});
	
	if ($("#list_imgs_gran > li").size() > 1) {
		$("img.img_small").click(function(){
			pos = $("img.img_small").index(this);
			// Paramos la ejecucion de las acciones.
			$("div.imgs_bigs").find("li").stop(true, true);
			$("ul.list_text > li").stop(true, true);
			// Mostamos solo las referencias que nos interesan.
			if (jQuery.browser.msie) {
				$("div.imgs_bigs").find("li").css("margin-left", "-" + $("div.imgs_bigs").width() + "px").eq(pos).css("margin-left", "0px").show();
			} else {
				$("div.imgs_bigs").find("li").hide().eq(pos).show();
			}
			$("#list_imgs_gran").find("strong").eq(pos).show();
			$("ul.list_text > li").hide().eq(pos).show();
			// Volvemos a iniciar el carrusel.
			mueveFlecha(pos);
			hideText(pos);
			cambiaImagen(pos);
		});
		
		// Encolamos la imagen para que se muestre durante el tiempo definido.
		cambiaImagen(pos);
	}
	
	// Hover para las imagenes pequenas.
	$("ul.list_imgs").find("img").hover(function(){
		$(this).addClass("hover_img");
	}, function(){
		$(this).removeClass("hover_img");
	});
});

function cambiaImagen(n) {
	showText(n);
	if (jQuery.browser.msie) {
		$("div.imgs_bigs").find("li").eq(n).pause(waitTime).animate({
			"marginLeft": ($("div.imgs_bigs").width()) + "px"
		}, slideTime);
		
		$("div.imgs_bigs").find("li").eq((n+1)%totImgs).pause(waitTime).animate({
			"marginLeft": "0px"
		}, slideTime, function(){
			$("div.imgs_bigs").find("li").eq(n).css("margin-left", "-" + $("div.imgs_bigs").width() + "px");
			mueveFlecha((n+1)%totImgs);
			hideText(n);
			cambiaImagen((n+1)%totImgs);
		});
	} else {
		$("div.imgs_bigs").find("li").eq(n).fadeIn(fadeTime, function(){
			$(this).siblings().hide().css("opacity", "1");
		}).pause(waitTime).fadeTo(fadeTime, 0.3, function(){
			mueveFlecha((n+1)%totImgs);
			hideText(n);
			cambiaImagen((n+1)%totImgs);
		});
	}
}

function hideText(n) {
	$("#list_imgs_gran").find("strong").eq(n).hide();
	$("ul.list_text > li:eq("+n+")").hide();
}

function showText(n) {
	$("#list_imgs_gran").find("strong").eq(n).show();
	$("ul.list_text > li:eq("+n+")").show();
}

function mueveFlecha(n) {
	var pix = ((n*64)+50)+"px";
	$("div.arrow_up > span").animate({"left": pix}, arrowTime);
}