//google.setOnLoadCallback(function() {
jQuery(document).ready(function() {
	
	/* 
	
	APLICAMOS FIX PARA NAVEGADORES Webkit (Chrome y Safari)
	
	Con document.ready, las imágenes y css es posible que aun no se hayan cargado.
	Si el navegador es de tipo Webkit, procesará el javascript y los estilos de modo paralelo,
	por tanto, intentará calcular anchos y altos antes de que tener completado el CSS o la imagen cargada.
	
	Este fix es necesario para calcular el ancho del <ul> del menu-perfiles, y el ancho .bannerspie-pagina
	para poder centrar su contenido con margin: auto.
	
	Por tanto debemos emplear window.load antes de comenzar a calcular anchos y altos.
	
	*/
	jQuery(window).load(function() {

		jQuery.noConflict();	
		jQuery('.sinjavascript').removeClass("sinjavascript");
		
		// Función que permite a los contenidos de cada pestaña, tener un alto variable.
		function onAfter(curr, next, opts, fwd) {
			var alto_final = jQuery(this).innerHeight();
			jQuery(this).parent().animate({height: alto_final});
		}



		/***
		=========================================================================
		ACCESIBILIDAD > Focus accesible y llamativo sólo con tabulador
		-------------------------------------------------------------------------
		@autor: Alfonso Martin
		@fecha: 23/03/2011
		@descripcion: 
		
		WCAG2.0: 'Pauta 2.4.7 Focus Visible'
		
		Con esta función marcamos el foco cuando navegamos por teclado, mediante el tabulador; 
		pero si el foco lo hacemos cuando navegamos con ratón,	haciendo click, no marcamos nada.
		
		En el documento CSS debemos especificar el comportamiento de
		
		  a.marcafoco:focus,
		  a.foco { 
		      background-image: none !important; 
			 background-color: #ff0 !important;
			 color:#...... !important; 
		  }
		
		Esto debe hacerse para cada menú que sea necesario.
		
		
		=========================================================================
		***/
		function focoAccesible (dom){
			/* Eliminamos la clase que tiene por defecto, que marca el foco, sin tener javascript. */
			jQuery(dom).removeClass("marcafoco");
			/* Si levantamos la tecla [TAB], a�adimos la clase "foco", pero si hacemos click no ocurrirá nada */
			jQuery(dom).keyup(function(event){if(event.keyCode==9) {jQuery(dom).addClass("foco");return false;}})
			/* Eliminamos la clase "foco" si no tenemos foco en el enlace */
			jQuery(dom).focusout(function(){jQuery(dom).removeClass("foco");})
		}

		jQuery('.wrapper-logotipo .logotipo h1 a').each(function(){focoAccesible(jQuery(this));});
		jQuery('.menu-superior ul li a').each(function(){focoAccesible(jQuery(this));});
		jQuery('#t3menu1 ul li a').each(function(){focoAccesible(jQuery(this));});
		jQuery('#t3menu2 ul li a').each(function(){focoAccesible(jQuery(this));});
		jQuery('#t3Path ul li a').each(function(){focoAccesible(jQuery(this));});
		jQuery('.cabecera-cajapestanas01 ul li a').each(function(){focoAccesible(jQuery(this));});

		/* ================================================================== */
	





		/***
		=========================================================================
		FORMULARIOS > BUSCADOR
		-------------------------------------------------------------------------
		Con esta función lo que hacemos es eliminar el texto que aparece por 
		defecto en el campo <input>, justo cuando el usuario hace focus en él.
		
		Uso: Lee el valor del atributo value, y lo compara con lo que el usuario
		rellena. Por ejemplo:
		
		<input value="Texto por defecto" />
		
		=========================================================================
		***/
		jQuery('#formularioBusquedaTexto').each(function(){
			var defaultVal = jQuery(this).attr('value');
			jQuery(this).focus(function(){
				if (jQuery(this).val() == defaultVal){
					jQuery(this).removeClass('activo').val('');
				}
			})
			.blur(function(){
				if (jQuery(this).val() == ''){
					jQuery(this).addClass('activo').val(defaultVal);
				}
			})
			.blur().addClass('activo');
		});
		/* ================================================================== */



	
	

		
		/***
		=========================================================================
		CAJA CON PESTAÑAS
		-------------------------------------------------------------------------
		Autor: Alfonso Martin.
		Fecha: 23/03/2011
		Modificaciones: -
		  
		=========================================================================
		***/
		jQuery('.cajapestanas01').each(function(indice_carrusel) {

			/* Oculto el titular de cada bloque */
			jQuery('.titular-accesible', this).css({display: "none", visibility: "hidden", height: 0});

			jQuery('.contenido',this).cycle({fx: 'fade', speed:   1000, timeout: 0, delay: -1000, after: onAfter});
			
			/* Pausamos la animación */			
			jQuery('.contenido', this).cycle('pause'); 
			
			/* Marcamos la primera opcion del paginador como "activa" */			
			jQuery('.cabecera-cajapestanas01 ul li:first', this).addClass("activo");

			
			jQuery('.cabecera-cajapestanas01 ul',this).children().each(function(i) {
				jQuery(this).click(function() {
					
					jQuery('.cajapestanas01:eq('+indice_carrusel+') .contenido').cycle(i);
					jQuery('.cajapestanas01:eq('+indice_carrusel+') .contenido').cycle('pause');
			
					jQuery('.cajapestanas01:eq('+indice_carrusel+') .cabecera-cajapestanas01 ul li').removeClass('activo');
					jQuery('.cajapestanas01:eq('+indice_carrusel+') .cabecera-cajapestanas01 ul li:eq('+i+')').addClass('activo');
			
				});
				jQuery(this).keypress(function(e) {
					if (e.which == '13') {
						e.preventDefault();	
						jQuery('.cajapestanas01:eq('+indice_carrusel+') .contenido').cycle(i);
						jQuery('.cajapestanas01:eq('+indice_carrusel+') .contenido').cycle('pause');
						
						jQuery('.cajapestanas01:eq('+indice_carrusel+') .cabecera-cajapestanas01 ul li').removeClass('activo');
						jQuery('.cajapestanas01:eq('+indice_carrusel+') .cabecera-cajapestanas01 ul li:eq('+i+')').addClass('activo');
					}
				});
			});
		});







		/***
		=========================================================================
		CARRUSELES TIPO 03
		-------------------------------------------------------------------------
		Autor: Alfonso Martin.
		Pluggin: JQuery cycle
		Fecha: 16/02/2011
		Modificaciones: -
		Descripción:
		
			1. Pintamos el carrusel de items y le damos la funcionalidad para que se muestren / oculten correctamente
			2. Pintamos el menú que permitirá navegar a través de los distintos items del carrusel.
		
		Variables:
		
		  total_items -> Total de <div class="item"> dentro de <div class="lista-items">
		  total_width -> Ancho que debe ocupar el <ul> que hay dentro de <div class="paginador-carrusel">
		  cadena_html_menu_carrusel -> Cadena HTML que debemos inyectar al <ul> que hay dentro de <div class="menu-carrusel">. Pinta sus correspondientes <li>.
		  
		=========================================================================
		***/
	
		//Redefinimos la función del pluggin Cycle que actualiza el enlace activo del paginador 
		jQuery.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) { 
		    jQuery(pager).find('li').removeClass('activo')
			   .filter('li:eq('+currSlideIndex+')').addClass('activo'); 
		}; 
		
		/* Recorremos todos los carruseles de la pagina */
		jQuery('.carrusel-03').each(function(indice_carrusel) {
			
			/* Aplicamos el pluggin a la capa que tenga que ir rotando */
			jQuery('.lista-items', this).cycle({speed: 1000, timeout: 10000, pager: '.carrusel-03:eq('+indice_carrusel+') .paginador-carrusel ul', pagerAnchorBuilder: function(idx, slide){return '<li></li>';}, next:'.carrusel-03:eq('+indice_carrusel+') .flecha-derecha', prev:'.carrusel-03:eq('+indice_carrusel+') .flecha-izquierda', delay: 0}).cycle('pause');
			
			/* Pintamos el paginador, inyectando una cadena html en la capa del paginador */
			item_width = 11+6+6;
			total_items = jQuery(".lista-items > .item", this).size();
			total_width = (total_items * item_width);
			cadena_html_menu_carrusel = '';
			for(x=0;x<total_items;x++){
				elemento = x + 1;
				cadena_html_menu_carrusel += '<li><a title="Mostrar elemento '+elemento+'"><span>'+elemento+'</span></a></li>';
			}
			jQuery('.paginador-carrusel ul', this).html(cadena_html_menu_carrusel)
			
			/* Marcamos la primera opcion del paginador como "activa" */			
			jQuery('.paginador-carrusel ul li:first', this).addClass("activo");
			
			/* Centramos el paginador */
			jQuery('.paginador-carrusel ul', this).css({width: total_width});

			/* Le damos funcionalidar al paginador */			
			jQuery('.carrusel-03:eq('+indice_carrusel+') .paginador-carrusel ul li').each(function(indice_paginador) {
				jQuery(this).click(function() {
					
					// Descomentar para dedug
					//alert("indice_carrusel = " + indice_carrusel + "\nindice_paginador = " + indice_paginador + "\n");
					
					jQuery('.carrusel-03:eq('+indice_carrusel+') .lista-items').cycle(indice_paginador);
					jQuery('.carrusel-03:eq('+indice_carrusel+') .lista-items').cycle('pause');
		
					jQuery('.carrusel-03:eq('+indice_carrusel+') .paginador-carrusel ul li').removeClass('activo');
					jQuery('.carrusel-03:eq('+indice_carrusel+') .paginador-carrusel ul li:eq('+indice_paginador+')').addClass('activo');
			
				});
			});
		
		});
		
		/* ================================================================== */





	});
});

