// Telefonica.com
// Kike Valdenebro - 17.02.2008
// Redbility
//
// Libreria basica de funciones para la dinamica de interfaz.
// Hace uso del framework "jquery-1.2.6.min.js"


// Temporizadores y funciones para gestion de capas
var t1, t2, t3, t4 = 0;
function closeBrands() {
	$("#capa_brands").unbind();
	$("#capa_brands").fadeOut("slow");
	$("#a_brands").removeClass('activo');
	clearTimeout(t1);
}
function closeWorldwide() {
	$("#capa_worldwide").unbind();
	$("#capa_worldwide").fadeOut("slow");
	$("#a_worldwide").removeClass('activo');
	$("#ul_paises li ul").hide();
	$("#ul_paises > li a").removeClass('activo');									  
	clearTimeout(t2);
}
function closeSelpais() {
	$("#ul_sel_pais").unbind();
	$("#ul_sel_pais").hide();
	$("#a_sel_pais").removeClass('activo');
	clearTimeout(t3);
}
function closeSelproducto() {
	$("#ul_sel_producto").unbind();
	$("#ul_sel_producto").hide();
	$("#a_sel_producto").removeClass('activo');
	clearTimeout(t4);
}
function closeMapa01() {
	$("#mapa01").unbind();
	$("#a_totalmapa01").show();
	$("#mapa01").animate({ 
		height: "86px"
	}, 500 );
	$("dl#dl_listamapa01").fadeOut();
	$("dl#dl_listamapa01 dd").hide();
	clearTimeout(t5);
}

$(document).ready(function(){
	// Ocultacion de elementos clase "js_hide"
	$(".js_hide").hide();
	
	// Captura de enlaces clase "popup"
	$("a.a_popup").click(function(e) {
		e.preventDefault();
		// Obtener atributo HREF del link
		var url = this.href;
		var ancho = 620;
		var alto = 450; // valores por defecto
		// Si existe el atributo "rel" y esta en el formato "xxxx,xxx,xxx",
		// lo usamos para extraer las dimensiones del popup.
		if(this.rel && this.rel.indexOf(",") > -1){
			parametros = this.rel.split(",");
			ancho = parametros[0];
			alto = parametros[1];
		}
		// Abrir pop up usando atributo HREF y las dimensiones de arriba
		window.open(url, '', 'width='+ancho+',height='+alto+',toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no');
		// Hay que retornar FALSE para anular el comportamiento original del link
		return false;
	});
			
	// Capas de "Telefonica brands" y "Telefonica Worldwide"
	$("#a_brands").bind("mouseenter",
		function(e) {
			e.preventDefault();
			if($(this).hasClass('activo')) {
				clearTimeout(t1);
			} else {
				$(this).addClass('activo');
				$(this).blur();
				$("#capa_brands").fadeIn("slow");
				$("#capa_brands").bind("mouseleave",
					function(event){
						t1=setTimeout("closeBrands()",500);
					}
				).bind("mouseenter",
					function(event){
						clearTimeout(t1);
					}
				);
			}
		}
	);

	$("#a_worldwide").bind("mouseenter",
		function(e) {
			e.preventDefault();
			if($(this).hasClass('activo')) {
				clearTimeout(t2);
			} else {
				e.preventDefault();
				$(this).addClass('activo');
				$(this).blur();
				$("#capa_worldwide").fadeIn("slow");
				$("#capa_worldwide").bind("mouseleave",
					function(event){
						t2=setTimeout("closeWorldwide()",500);
					}
				).bind("mouseenter",
					function(event){
						clearTimeout(t2);
					}
				);
				$("#ul_paises > li > a").click(function(e) {
					e.preventDefault();
					$("#ul_paises > li a").removeClass('activo');									  
					$(this).addClass('activo');
					$(this).blur();
					$("#ul_paises li ul").hide();
					$(this).siblings().fadeIn("fast");
				});
			}
		}
	);
	
	// Capas de "Selecciona pais" y "Selecciona producto"
	$("#a_sel_pais").click(function(e) {
		if($(this).hasClass('activo')) {
			e.preventDefault();
			closeSelpais();
		} else {
			e.preventDefault();
			$(this).addClass('activo');
			$(this).blur();
			$("#ul_sel_pais").show();
			$("#ul_sel_pais").bind("mouseleave",
				function(event){
					t3=setTimeout("closeSelpais()",100);
				}
			).bind("mouseenter",
				function(event){
					clearTimeout(t4);
				}
			);
			$("#ul_sel_pais li a").click(function(e) {
				e.preventDefault();
				$("#a_sel_pais").text($(this).text());
				closeSelpais();
			});
		}
	});
	$("#a_sel_producto").click(function(e) {
		if($(this).hasClass('activo')) {
			e.preventDefault();
			closeSelproducto();
		} else {
			e.preventDefault();
			$(this).addClass('activo');
			$(this).blur();
			$("#ul_sel_producto").show();
			$("#ul_sel_producto").bind("mouseleave",
				function(event){
					t4=setTimeout("closeSelproducto()",100);
				}
			).bind("mouseenter",
				function(event){
					clearTimeout(t4);
				}
			);
			$("#ul_sel_producto li a").click(function(e) {
				e.preventDefault();
				$("#a_sel_producto").text($(this).text());
				closeSelproducto();
			});
		}
	});
	
	// Navegacion vertical
	$("#navvert li.sinpagina ul").hide();
	$("#navvert li.sinpagina > .a_sinpagina").click(function(e) {
		e.preventDefault();
		$(this).parent().siblings("li.sinpagina").children("ul").slideUp();
		$(this).parent().siblings("li.sinpagina").children("ul").children("li.sinpagina").children("ul").slideUp();
		$(this).next("ul").children("li.sinpagina").children("ul").slideUp();
		$(this).next("ul").slideToggle();
	});
	
	// Galeria de fotos
	$(".not_galeria .not_galeria_controles").css("display","block");
	$(".not_galeria .not_galeria_controles a.a_fotoanterior").addClass("anterioroff");
	$(".not_galeria .not_galeria_foto").css({'position':'absolute', 'left':'0px', 'top':'0px'}).hide();
	$(".not_galeria .not_galeria_foto:first").css("position","static").show();
	var fotoActual = 0;
	$(".not_galeria .a_fotoanterior").click(function(e) {
		e.preventDefault();
		$(this).blur();
		if (fotoActual>0) {
			$(".not_galeria .not_galeria_foto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
			fotoActual = fotoActual - 1;
			$(".not_galeria .not_galeria_foto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
			$(".not_galeria .not_galeria_controles a.a_fotosiguiente").removeClass("siguienteoff");
			if (fotoActual==0) {
				$(".not_galeria .not_galeria_controles a.a_fotoanterior").addClass("anterioroff");
			}
		}
	});
	$(".not_galeria .a_fotosiguiente").click(function(e) {
		e.preventDefault();
		$(this).blur();
		if (fotoActual<$(".not_galeria .not_galeria_foto").length-1) {
			$(".not_galeria .not_galeria_foto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
			fotoActual = fotoActual + 1;
			$(".not_galeria .not_galeria_foto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
			$(".not_galeria .not_galeria_controles a.a_fotoanterior").removeClass("anterioroff");
			if (fotoActual>$(".not_galeria .not_galeria_foto").length-2) {
				$(".not_galeria .not_galeria_controles a.a_fotosiguiente").addClass("siguienteoff");
			}
		}
	});

	// Mapa de presencia mundial en "About Telefonica"
	$("#a_totalmapa01").click(function(e) {
		if(parseInt($("div#mapa01").css("height"))<450) {  // Abrir
			e.preventDefault();
			$(this).blur();
			$("#a_openmapa01").removeClass('desplegar').addClass('plegar');
			$("#a_totalmapa01").hide();
			$("#mapa01").animate({ 
				height: "450px"
			}, 500 );
			$("dl#dl_listamapa01").fadeIn();
			$("#mapa01").bind("mouseleave",
				function(event){
					t5=setTimeout("closeMapa01()",1000);
				}
			).bind("mouseenter",
				function(event){
					clearTimeout(t5);
				}
			);
		}
	});
	$("a.punto").click(function(e) {
		e.preventDefault();
		$("dl#dl_listamapa01 dd").hide();
		$(this).parent().next("dd").fadeIn();
	});

	// Buscar en notas de prensa
	$("#buscar01").hide();
	$("#a_openbuscar01").removeClass("plegar").addClass("desplegar");
	$("#a_openbuscar01").click(function(e) {
		e.preventDefault();
		this.blur();
		$("#a_openbuscar01").toggleClass('desplegar').toggleClass('plegar');
		$("#buscar01").slideToggle('fast');
	});
	
	// Boton cerrar en pop ups
	$("a.a_cerrar").css('display','block');
	
	
	// Carrusel
	if ($(".carrusel .carro .caja").length>4) {
		$(".carrusel .controles").css("display","block");
		$(".carrusel .visor .carro").css("width","10600px");
		$(".carrusel .visor .carro").css("position","relative");
	}
	
	$(".carrusel .controles .a_siguiente").click(function(e) {
		e.preventDefault();
		this.blur()
		$(".carrusel .visor .carro").stop();
		$(".carrusel .visor .carro").animate({ 
        left: "-150px"
			}, 200, '', function() {
				$(".carrusel .visor .carro .caja:first").remove().insertBefore(".carrusel .visor .carro .clear");
				$(".carrusel .visor .carro").css("left","0px");
			}
		);
	});

	$(".carrusel .controles .a_anterior").click(function(e) {
		e.preventDefault();
		this.blur()
		$(".carrusel .visor .carro").stop();
		$(".carrusel .visor .carro .caja:last").remove().prependTo(".carrusel .visor .carro");
		$(".carrusel .visor .carro").css("left","-150px");
		$(".carrusel .visor .carro").animate({ 
        left: "0"
      }, 200);
	});

});
