var speed = "slow";
var msegs = 12000;
var index = 1;
var timer;
var columnWidth = 160;
var rowHeight = 24;
var reloj;

function hideMenuOptions() {
	// Ocultamos opciones del menú principal
	$("#navigation .AspNet-Menu-Value-90").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-131").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-187").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-235").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-282").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-315").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-331").addClass("AspNet-Menu-Hidden").hide();
	$("#navigation .AspNet-Menu-Value-347").addClass("AspNet-Menu-Hidden").hide();
}

function showMenu(opcion) {
	var clases = opcion.split(" ").join(".");
//	$("."+clases).children("ul").fadeIn();
	$("."+clases).children("ul").show();
}

function configureMenu() {
	$(".AspNet-Menu a").each(function() {
		$(this).removeAttr("title");																
	});		
		
	$(".AspNet-Menu li.AspNet-Menu-WithChildren.AspNet-Menu-Depth-0").each(function() {
		// Obtenemos los títulos de primer nivel
		var titulos = $(this).find("li.AspNet-Menu-WithChildren.AspNet-Menu-Depth-1");	
		// Obtenemos las opciones de primer nivel sin título
		var opciones = $(this).find("li.AspNet-Menu-Leaf.AspNet-Menu-Depth-1");
		
		// Cada título de primer nivel estará en una nueva columna, por tanto, el contenedor global tendrá tantas columnas como títulos más una si hay opciones de primer nivel sin titulo
		var addColumns = (opciones.size() > 0)?1:0;
		var alto = 0;

		// Posicionamos cada título de primer nivel en una nueva columna y le quitamos el enlace
		titulos.each(function(index) {
			var izq = (index+addColumns)*columnWidth;
			$(this).css("left",izq);
			var enlace = $(this).children("a.AspNet-Menu-Link");
			var titulo = "<span class=\"AspNet-Menu-Title\">"+enlace.text()+"</span>";
			enlace.replaceWith(titulo);
			
			// Calculamos el alto de la columna, si es mayor que el alto del contenedor, actualimos el alto (Le sumamos 34 por el alto del título)
			var height = ($(this).find("li.AspNet-Menu-Depth-2").size() * rowHeight) + 65; 
			if (height > alto) alto = height;
		});
		
		// Establecemos el ancho del contendor global como el número de columnas por el ancho de cada columna (definido en la variable columnWidth)
		// Establecemos el alto del contenedor global calculado según el alto de fila (definido en la variable rowHeight)
		var ancho = (titulos.size()+addColumns)*columnWidth;
		var opcionesHeight = opciones.size()*rowHeight;
		if (opcionesHeight > alto) alto = opcionesHeight;
		$(this).find("ul").eq(0).css("width",ancho+"px").css("height",alto+"px");
		
		// Asociamos el efecto de apareción y ocultado del submenú
		$(this).hover(function() {
			reloj = setTimeout("showMenu(\""+ $(this).attr("class") +"\")",100);
			//$(this).children("ul").fadeIn();
		},function() {
			clearTimeout(reloj);
			$(this).children("ul").hide();			
		});
	});
}

function clearOffices() {
	// Quitamos todas las oficinas del listado
	$("#oficinas option").remove();
	$("#oficinas").append("<option></option>");
}

function setOffices(pais) {
	// Primero limpiamos el listado para partir de cero
	clearOffices();	
	// Buscamos el control donde añadir las oficinas
	var oficinas = $("#oficinas");		
	// Recorremos las oficinas para ver cuáles añadimos
	$(".wp-module-96 .office-title a").each(function() {
		// Obtenemos el país de la oficina actual
		var paisOficina = $(this).attr("title");
		// Si se corresponde con el país que queremos rellenar
		if (paisOficina == pais) {
			// Creamos el código de la oficina y lo añadimos
			var oficina = "<option value=\"" + $(this).attr("href") + "\" title=\"" + $(this).attr("title") + "\">" + $(this).text() + "</option>";
			oficinas.append(oficina);
		}
	});
}


function configureOfficeSearch() {
	var buscador = $(".wp-module-name-office-search.wp-module-96");
	
	// Ocultamos el listado de oficinas
	buscador.find(".wp-data-items-list").hide();
	
	// Construimos el selector de países
	var paises = "<select id=\"paises\"><option></option>";
	$(".wp-module-96 .office-country").each(function() {
		var pais = "<option value=\"" + $(this).attr("title") + "\">" + $(this).find(".FieldValue").text() + "</option>";
		if (paises.indexOf(pais) < 0) {
			paises += pais;	
		};
		$(this).find('.FieldTitle').remove();
	});
	paises += "</select>";
	
	// Construimos el selector de oficinas (inicialmente vacío)
	var oficinas = "<select id=\"oficinas\" disabled=\"disabled\"><option></option></select>";
	
	// Insertamos los selectores
	buscador.append(paises);
	buscador.append(oficinas);
	
	// Al seleccionar un país cargamos el listado de oficinas de ese país en concreto
	$("#paises").change(function() {
		// Obtenemos el código del país seleccionado
		var pais = $(this).val();
		// Si se ha selecciona algún país
		if (pais != "" && pais != null) {		
			// Cargamos las oficinas del mismo
			setOffices(pais);
			
			// Activamos el control
			$("#oficinas").removeAttr("disabled");
		} else {
			// Si no se ha seleccionado ningún país vaciamos el control de oficinas y lo deshabilitamos
			clearOffices();
			$("#oficinas").attr("disabled","disabled");
		}		
	});
	
	// Al seleccionar una oficina vamos a su página
	$("#oficinas").change(function() {
		var url = $(this).attr("value");
		window.location = url;
	});
}

function configureMiniOfficeSearch() {
	var buscador = $(".wp-module-188");
	
	// Ocultamos el listado de oficinas
	buscador.find(".wp-data-items-list").hide();
	
	// Construimos el selector de oficinas
	var oficinas = "<select id=\"oficinas\"><option></option>";
	$(".wp-module-188 .office-title a").each(function() {
		var oficina = "<option value=\"" + $(this).attr("href") + "\" title=\"" + $(this).attr("title") + "\">" + $(this).text() + "</option>";
		if (oficinas.indexOf(oficina) < 0) {
			oficinas += oficina;	
		}
	});
	oficinas += "</select>";	
	
	// Insertamos los selectores
	buscador.append(oficinas);
	
	// Al seleccionar un país cargamos el listado de oficinas de ese país en concreto
	$("#oficinas option").show();
	
	// Al seleccionar una oficina vamos a su página
	$("#oficinas").change(function() {
		var url = $(this).attr("value");
		window.location = url;
	});
}

function officesOdd() {
	$('.wp-module-name-office .wp-field:nth-child(odd)').addClass("wp-field-odd");
	$('.wp-module-name-office .adr .wp-field:nth-child(odd)').removeClass("wp-field-odd");
	$('.wp-module-name-office .adr .wp-field:nth-child(even)').addClass("wp-field-odd");
}

function SelectImage(imageIndex) {
	clearTimeout(timer);
	changeImage(imageIndex);	
	index = imageIndex;
	rotateBanner();
}

function changeImage(imageIndex) {
	// Ocultamos el elemento que se está mostrando
	$('.wp-banner').removeClass("wp-bannerSelected");
	$('.wp-banner-img').fadeOut(speed);
	$('.wp-banner').hide();
	
	// Quitamos la clase "wp-banner-nav-selected" al índice de navegación
	$('.wp-banner-nav').removeClass("wp-banner-nav-selected");
	
	// Mostramos el elemento seleccionado (index)
	$('#wp-banner-' + imageIndex).addClass("wp-banner-selected");
	$('#wp-banner-img-' + imageIndex).fadeIn(speed);
	$('#wp-banner-' + imageIndex).fadeIn(speed);
	
	// Añadimos la clase "wp-bannerSelected" al índice seleccionado
	$('#wp-banner-nav-' + imageIndex).addClass("wp-banner-nav-selected");
}

function rotateBanner() {
	var elements = $('.wp-banner').length;
	if (elements > 1)
	{
	// Cada X milisegundos ocultamos el banner que se está mostrando actualmente (index) y mostramos el siguiente
		timer = setTimeout(function() { 
			var siguiente = (index>=elements)?1:index+1;
			changeImage(siguiente);	
			index = siguiente;
			rotateBanner();	
		},msegs);
	}
	else $('.wp-banner-nav-list').hide();
}

function disableLink() {
	$('.AspNet-Menu-Value-27 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-43 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-77 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-114 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-143 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-191 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-222 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-238 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-299 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-312 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-448 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-473 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-486 a:first').attr("href", "#").css("cursor","default");
	$('.AspNet-Menu-Value-497 a:first').attr("href", "#").css("cursor","default");
}

function changeEmails() {
	/*$(".wp-field-email a").each(function() {
		var href = $(this).attr("href");
		var email = href.replace("[ecs]","@");
		$(this).attr("href","mailto:"+email);
	});*/
	$('a[href*="[ecs]"]').each(function() {
		var href = $(this).attr("href");
		var email = href.replace("mailto:","").replace("[ecs]","@");
		$(this).attr("href","mailto:"+email).text(email);
	});
}

/*************************/

$(document).ready(function() {
	hideMenuOptions();
	disableLink();
	configureMenu();
	configureOfficeSearch();
	configureMiniOfficeSearch();
	changeEmails();
	officesOdd();
	$('.wp-banner').hide();
	$('#wp-banner-1').show();
	//Al primer elemento le añadimos la clase "wp-bannerSelected"
	$('#wp-banner-1').addClass("wp-banner-selected");
	
	//Al primer índice de navegación le añadimos la clase "wp-bannerSelected"
	$('#wp-banner-nav-1').addClass("wp-banner-nav-selected");
	
	//Llamamos a la función rotateBanner indicándole el número de milisegundos tras el cual queremos que rote, el índice inicial y la velocidad de rotacion
	rotateBanner();
	
	// Expanding
	$(".wp-expanding-list .wp-item-link").click(function() {
		$(this).parents(".wp-data-container").find(".wp-item-summary").slideToggle();
		return false;
	});
	
	// Contacta
//	var tipocont = $("#tipoconsulta select").val();
//	if (tipocont == "quote" || itemselected == "quote" ) {$('commentfield').show();};

	
	// Oficinas
	$('.wp-module-85 select option[value*="169"]').hide();
	$('.wp-module-85 select option[value*="170"]').hide();
	$('.wp-module-85 select option[value*="172"]').hide();
	$('.wp-module-85 select option[value*="176"]').hide();
	$('.wp-module-85 select option[value*="177"]').hide();
	$('.wp-module-85 select option[value*="178"]').hide();
	$('.wp-module-85 select option[value*="179"]').hide();
	$('.wp-module-85 select option[value*="180"]').hide();
	
	// RSS
	$('#default .wp-module-862 .rssLink').hide();
	$('#default .wp-module-862 .rssLink').text("Blog RSS");
	$('#default .wp-module-862 .rssLink').show();
	$('#default .wp-module-863 .rssLink').hide();
	$('#default .wp-module-863 .rssLink').text("Blog RSS");
	$('#default .wp-module-863 .rssLink').show();
	
});
