// JavaScript Document

/*
	Versión 1.0
*/

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
	document.writeln('<style type="text/css">img.png, input.image { visibility:hidden; } </style>');
	window.attachEvent("onload", fnLoadPngs);
}

function fnLoadPngs() {
		
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
		if (itsAllGood && img.src.match(/\.png$/i) != null) {
			fnFixPng(img);
			img.attachEvent("onpropertychange", fnPropertyChanged);
		}
		img.style.visibility = "visible";
	}

	var nl = document.getElementsByTagName("INPUT");
	for (var i = nl.length - 1, e = null; (e = nl[i]); i--) {
		if (e.className && e.className.match(/\bimage\b/i) != null) {
			if (e.src.match(/\.png$/i) != null) {
				fnFixPng(e);
				e.attachEvent("onpropertychange", fnPropertyChanged);
			}
			e.style.visibility = "visible";
		}
	}
}

function fnPropertyChanged() {
	if (window.event.propertyName == "src") {
		var el = window.event.srcElement;
		if (!el.src.match(/x\.gif$/i)) {
			el.filters.item(0).src = el.src;
			el.src = "x.gif";
		}
	}
}

function dbg(o) {
	var s = "";
	var i = 0;
	for (var p in o) {
		s += p + ": " + o[p] + "\n";
		if (++i % 10 == 0) {
			alert(s);
			s = "";
		}
	}
	alert(s);
}

function fnFixPng(img) {
	var src = img.src;
	img.style.width = img.width + "px";
	img.style.height = img.height + "px";
	img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
	img.src = "x.gif";
}






/* ELEMENTOS COMUNES */
// Enlace en ventana nueva.
// Quitar el &nbsp; de inputs tipo texto, password y textareas.

$(document).ready( function(){
	// Enlace en ventana nueva.
	var prueba = $(".titPrueba h2").text();
	$("a[rel='external']").attr("target","_blank");
	$("a[rel*='external']").click(function(){ // Tracking de eventos en Google Analytics
		var url = $(this).attr("href").replace(/^http\:\/\/(www\.)*/i, "");
		var prueba = $(".titPrueba h2").text();
      if(this.href.indexOf(location.hostname) == -1) {
			if($(this).parents(".galeria-pruebasRelacionadas").html()){
				var tipo ="Pruebas relacionadas";
			} else if($(this).parents(".instituciones").html()){
				var tipo ="Instituciones";
			} else if($(this).parents(".colaboradores").html()){
				var tipo ="Colaboradores";
			} else if($(this).parents(".patrocinadores").html()){
				var tipo ="Patrocinadores";
			} else {
				var tipo ="Enlace externo";
			};
      } else if($(this).parents(".galeria-documentosAdjuntos").html()){
			var extension = $(this).attr("href").split(".");
			var url = $(this).text() + "." + extension[extension.length-1];
			var tipo ="Documentos adjuntos";
		} else if($(this).parents(".galeria-Descargar-clasificaciones").html()){
			var extension = $(this).attr("href").split(".");
			var url = $(this).text() + "." + extension[extension.length-1];
			var tipo ="Clasificaciones";
		} 
		pageTracker._trackEvent(" + prueba + ", " + tipo + ", " + url + ");
	});
	$("a[href*='mailto']").click(function(){
		var url = $(this).attr("href").replace(/^mailto\:*/i, "");		
		pageTracker._trackEvent('Email', 'Click', url);
	});
	
	// Quitar el &nbsp; de inputs tipo texto, password y textareas.
	$("input[type='text'], input[type='password'], textarea").focus( function() {
		if (($(this).attr("value")) && ($(this).attr("value").charCodeAt(0) == 32 || $(this).attr("value").charCodeAt(0) == 160) && ($(this).attr("value").length == 1)) {
			this.value = "";
			return false;
		}
	});
});

// Resaltar input(text-password)/textarea seleccionado
$(document).ready(function(){
	$("input[type='text'], input[type='password'], textarea").focus( function() {
		if ($(this).attr("readonly")) {
			// Nada
		} else {
			$(this).addClass("enfocado");
		}
		return false;
	});
	$("input[type='text'], input[type='password'], textarea").blur( function() {
		$(this).removeClass("enfocado");
	});
	$("input[type='text'], input[type='password'], textarea").each( function() {
		if ($(this).attr("readonly")) {
			$(this).addClass("solo_lectura");
		}
	});
});

// Enviar formulario
$(document).ready(function(){
	$("a.enviar_formulario").click(function(){
		$(this).parents("form:first").submit();
		return false;
	});
});

// Imprimir página
$(document).ready(function(){
	$("a.imprimir").click( function() {
		window.print();
		return false;
	});
});



/* TABLAS DE DATOS */
/* Colocar hover en los tr de las tablas de datos */
function hover_de_tr() {
	$("table.normal tr").unbind("mouseover",hover_de_tr_accion);
	$("table.normal tr").unbind("mouseout",hover_de_tr_accion);
	$("table.normal tr").bind("mouseover",hover_de_tr_accion);
	$("table.normal tr").bind("mouseout",hover_de_tr_accion);
}
function hover_de_tr_accion() {
	$(this).toggleClass("sobre");
}





//BOTONES REDONDOS

		var hasEstiloInput = function(str){
		
			var tmpArr = str.split(" ");
			var tmpArr2;
		
			for(var i = 0; i < tmpArr.length; i++){
				tmpArr2 = tmpArr[i].split("_");
				
				for(var j = 0; j < tmpArr2.length; j++){
					if(tmpArr2[j] == "estiloInput"){
						return tmpArr[i];
					}
				}
				
			}
			
			return null;
		}
		
		$(document).ready(function(){
			// por cada elemento <a> que encuentre con un class 'href_boton'...
			var enlacesEsquinasRedondeadas = $("a.href_boton").map(function(index){
				// ... hacer que su contenido sea envuelto por cuatro <span>...
				$(this).html("<span><span><span><span>" + $(this).text() + "<\/span\><\/span\><\/span\><\/span\>");
				// ... añadir un <div> con un class 'clearall' para limpiar
				if($(this).hasClass("addLimpiar") == false){
					$(this).after("\<div class='clearall'\>\<\/div\>");
				}
			});
			// por cada elemento <input> que encuentre con un class 'input_boton'...
			var inputEsquinasRedondeadas = $("input.input_boton").map(function(index){
				// ... envolverlo dentro de cuatro <span>, el primero de los cuales tiene un class 'b02'...
				$(this).wrap("<span class='input_boton'><span><span><span><\/span><\/span><\/span><\/span>");
				// ... añadir estilos personales al span que contiene todo el conjunto...
				var tmpEstiloInput = hasEstiloInput($(this).attr("class"));
				if(tmpEstiloInput != null){
					$(this).parents("span.input_boton").addClass(tmpEstiloInput);
				}
				// ... añadir un <div> con un class 'clearall' para limpiar
				if($(this).hasClass("addLimpiar") == false){	
					$(this).parents("span.input_boton").after("<div class='clearall'><\/div\>");
				}
			});
		});
		

$(document).ready(function(){
	$("#navmenu-h li,#navmenu-v li").hover(
		function() { $(this).addClass("iehover"); },
		function() { $(this).removeClass("iehover"); 
		}
		);
	});
	
// Calendario
function iniciar_calendarios() {
	$("input.calendario").datepicker({showOn: 'button', buttonText: 'egutegia/calendario', buttonImage: 'images/calendario_01.gif', buttonImageOnly: true});
	$("input.calendario").unbind("keypress",iniciar_calendarios_accion);
	$("input.calendario").bind("keypress",iniciar_calendarios_accion);
}
function iniciar_calendarios_accion() {
	$(this).unbind("keypress",iniciar_calendarios_accion);
	$(this).bind("blur",calendarios_reformateo);
}
/*function calendarios_reformateo() {
	$(this).unbind("blur",calendarios_reformateo);
	$(this).bind("keypress",iniciar_calendarios_accion);
	alert("Acción de reformateo del calendario a realizar.");
	$(this).attr("value","dd/mm/aaaa");
}*/





// Imprimir página
$(document).ready(function(){
	$("a.imprimir").click( function() {
		window.print();
		return false;
	});
});





// Mostrar "más info" en tablas. Mostrar ocultar un "tr".
function mas_info() {
	$("table a.mas_info").unbind("click",mas_info_accion);
	$("table a.mas_info").bind("click",mas_info_accion);
}
function mas_info_accion() {
	if ($(this).find("img").attr("src") == "images/mas2.gif") {
		$(this).parents("tr:first").addClass("abierto");
		$(this).find("img").attr("src","images/menos2.gif");
		$(this).parents("tr:first").next().removeClass("tr_mas_info_oculto");
		$(this).parents("tr:first").next().addClass("tr_mas_info_visible");
	} else {
		$(this).parents("tr:first").removeClass("abierto");
		$(this).find("img").attr("src","images/mas2.gif");
		$(this).parents("tr:first").next().removeClass("tr_mas_info_visible");
		$(this).parents("tr:first").next().addClass("tr_mas_info_oculto");
	}
	$(this).blur();
	return false;
}


function mostrar_ocultar_pasos_resumen(){ 
	$(document).ready(function() {	
		$("h4.aa").toggle(
			function () { 
				if ($(this).find("img").attr("src") == "images/menos2.gif") {
					$(this).find("img").attr("src","images/mas2.gif");
				}else {
					$(this).find("img").attr("src","images/menos2.gif");
				}
				//$(this).find("div").attr("id","datos").next().slideToggle("fast");
				//$("#datos").slideToggle("fast");
				$("#datos").slideDown("fast");

				//$(this).next().slideDown("fast");
			},
			function () { 
				if ($(this).find("img").attr("src") == "images/menos2.gif") {
					$(this).find("img").attr("src","images/mas2.gif");
				}else {
					$(this).find("img").attr("src","images/menos2.gif");
				}
				//$(this).next().slideUp("fast");
				$("#datos").slideUp("fast");
			}
		);
	});
}


function ayudas(){ 
        $('.bubbleInfo').each(function () {
            var distance = 0;
			var trigger = $('.trigger', this);
            var info = $('.popup', this).css('opacity', 0);
			$(".redondo").corner();
			$([trigger.get(0), info.get(0)]).focus(function () {
				info
				.css({
                        top: -10,
                        right: 0,
                        display: 'block'
                    },0,'swing')
				.animate({
                        top: '-=' + distance + 'px',
                        opacity: 1
				 });
				return false;
				
				
            }).bind('blur', function () {
                    info.animate({
                        top: '-=' + distance + 'px',
                        opacity: 0
                    },0,'swing');
                return false;
            });
        });
 }  

/* ELEMENTOS QUE SE CARGAN AL INICIO DE TODAS LAS PÁGINAS */
$(document).ready(function() {

	
	// Elementos de tablas de datos (resultados de búsquedas).
	hover_de_tr();
	//iniciar_calendarios();
	mostrar_ocultar_pasos_resumen();
	mas_info();
	ayudas();
});
