// 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() {
	$(".sel_pais .ul_home_sel").unbind();
	$(".sel_pais .ul_home_sel").hide();
	$(".sel_pais .a_home_sel").removeClass('activo');
	clearTimeout(t3);
}
function closeSelproducto() {
	$(".sel_producto .ul_home_sel").unbind();
	$(".sel_producto .ul_home_sel").hide();
	$(".sel_producto .a_home_sel").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"
	$(".sel_pais .a_home_sel").click(function(e) {
		if($(this).hasClass('activo')) {
			e.preventDefault();
			closeSelpais();
		} else {
			e.preventDefault();
			$(this).addClass('activo');
			$(this).blur();
			$(this).parent().children('.ul_home_sel').show();
			$(this).parent().bind("mouseleave",
				function(event){
					t3=setTimeout("closeSelpais()",200);
				}
			).bind("mouseenter",
				function(event){
					clearTimeout(t4);
				}
			)
		}
	});
	
	$(".sel_pais .ul_home_sel li a").click(function(e) {
		e.preventDefault();
		$(this).parents('.sel_pais').children('.a_home_sel').text($(this).text());
		closeSelpais();
		var ref = $(this).attr('href');
		$('.sel_producto').css('display','none');
		$(ref).css('display','block');
	});
			
	$(".sel_producto .a_home_sel").click(function(e) {
		if($(this).hasClass('activo')) {
			e.preventDefault();
			closeSelproducto();
		} else {
			e.preventDefault();
			$(this).addClass('activo');
			$(this).blur();
			$(this).parent().children('.ul_home_sel').show();
			$(this).parent().bind("mouseleave",
				function(event){
					t4=setTimeout("closeSelproducto()",200);
				}
			).bind("mouseenter",
				function(event){
					clearTimeout(t4);
				}
			);
		}
	});
	
	$(".sel_producto .ul_home_sel li a").click(function(e) {
		$(this).parents('.sel_producto').children('.a_home_sel').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();
	});

	// Mapa de presencia mundial en "About Telefonica"
	$("#a_totalmapa01").click(function(e) {
		if(parseInt($("div#mapa01").css("height"))<390) {  // Abrir
			e.preventDefault();
			$(this).blur();
			$("#a_openmapa01").removeClass('desplegar').addClass('plegar');
			$("#a_totalmapa01").hide();
			$("#mapa01").animate({ 
				height: "390px"
			}, 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');

	// Galeria de fotos
	//$(".not_galeria .not_mini li:first").addClass('activo');
	//$(".not_galeria_foto").hide();
	//$(".not_galeria_foto:first").show();
	if ($(".not_galeria .not_mini li").length>6) {
		$(".not_galeria .not_galeria_controles").css("display","block");
	}
	$(".not_galeria .not_mini .not_carro").css("position","absolute").css("width","100000px");
	$(".not_galeria .not_mini").css("height","61px");
	$(".not_galeria .not_mini li a").click(function(e) {
		var idimg = $(this).attr('href');
		e.preventDefault();
		$(".not_galeria .not_mini li").removeClass('activo');
		$(this).parent().addClass('activo');
		//$(".not_galeria_foto").hide();
		$(".not_galeria_foto").hide(1, function () {   $(idimg).fadeIn(500);  }); 
		
	});
	
	$(".not_galeria .not_galeria_controles .a_fotosiguiente").click(function(e) {
		e.preventDefault();
		$(this).blur();
		$(".not_galeria .not_mini .not_carro").stop();
		$(".not_galeria .not_mini .not_carro").animate({ 
        left: "-61px"
			}, 200, '', function() {
				$(".not_galeria .not_mini .not_carro li:first").remove().appendTo(".not_galeria .not_mini .not_carro .not_ul").children().click(function(e) {
					var idimg = $(this).attr('href');
					e.preventDefault();
					$(".not_galeria .not_mini li").removeClass('activo');
					$(this).parent().addClass('activo');
					$(".not_galeria_foto").hide();
					$(idimg).fadeIn('slow');
				});
				$(".not_galeria .not_mini .not_carro").css("left","0px");
			}
		);
	});

	$(".not_galeria .not_galeria_controles .a_fotoanterior").click(function(e) {
		e.preventDefault();
		$(this).blur();
		$(".not_galeria .not_mini .not_carro").stop();
		$(".not_galeria .not_mini .not_carro li:last").remove().prependTo(".not_galeria .not_mini .not_carro .not_ul").children().click(function(e) {
			var idimg = $(this).attr('href');
			e.preventDefault();
			$(".not_galeria .not_mini li").removeClass('activo');
			$(this).parent().addClass('activo');
			$(".not_galeria_foto").hide();
			$(idimg).fadeIn('slow');
		});;
		$(".not_galeria .not_mini .not_carro").css("left","-61px");
		$(".not_galeria .not_mini .not_carro").animate({ 
        left: "0px"
      }, 200);
	});

	// Galeria de noticias para Ir en Modulo 50
	
	if ($(".not_50_galeria .caja_imgtexto").length>1) {
		$(".not_50_galeria .not_50_galeria_controles").css("display","block");
	}
	$(".not_50_galeria").css("height","180px");
	//$(".not_50_galeria .not_50_galeria_controles a.a_fotoanterior").addClass("a_fotoanterioroff");
	$(".not_50_galeria .caja_imgtexto").css({'position':'absolute', 'left':'0px', 'top':'0px'}).hide();
	$(".not_50_galeria .caja_imgtexto:first").css("position","static").show();
	var fotoActual = 0;
	$(".not_50_galeria .a_fotoanterior").click(function(e) {
		e.preventDefault();
		$(this).blur();
			$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
			fotoActual = fotoActual - 1;
			$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
			$(".not_50_galeria .not_50_galeria_controles a.a_fotosiguiente").removeClass("a_fotosiguienteoff");
			if (fotoActual<0) {
				$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
				fotoActual = $(".not_50_galeria .caja_imgtexto").length;
				fotoActual = fotoActual - 1;
				$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
				$(".not_50_galeria .not_50_galeria_controles a.a_fotosiguiente").removeClass("a_fotosiguienteoff");
			}
	});
	$(".not_50_galeria .a_fotosiguiente").click(function(e) {
		e.preventDefault();
		$(this).blur();
			$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
			fotoActual = fotoActual + 1;
			$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
			$(".not_50_galeria .not_50_galeria_controles a.a_fotoanterior").removeClass("a_fotoanterioroff");
			if (fotoActual>$(".not_50_galeria .caja_imgtexto").length-1) {
				fotoActual = -1;
				$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","absolute").fadeOut("slow");
				fotoActual = fotoActual + 1;
				$(".not_50_galeria .caja_imgtexto:eq("+fotoActual+")").css("position","static").fadeIn("slow");
				$(".not_50_galeria .not_50_galeria_controles a.a_fotoanterior").removeClass("a_fotoanterioroff");
				
			}
	});

	// Ajuste de altura en modulos dobles
	$(".modulo .modulo50 .med .pc100").each(function(i){
		var m = $(this).parent().parent().parent().height();
		var t = $(this).parent().prev().height();
		$(this).css("height",m-t-11);
	});

});
