// *********************************
// Francisco Javier Martínez
// francisco_javier_martinez@hotmail.com
// www.javiscript.com
// *********************************



/* Carga de la home (claim, logotipo y casos al rededor del logotipo)*/
var actualCase = null;
jQuery(document).ready(function () {
	jQuery('#claim').fadeIn(4000, function() {
		jQuery('#claim').fadeOut(2000, function() {
			jQuery('#logotype').fadeIn(2000, function() {
				set_cases_initial_width(); // Funcion para establecer en cada CASO un atributo con el ancho INICIAL
				overCase(actualCase);
			});
		});
	});
});

/* Función que guarda el tamaño inicial de cada caso para poder usarlo en el rollover */
function set_cases_initial_width () {
	jQuery("#cases_container .case .case_maximizer_container a").each (function() {
		width_initial = jQuery(this).find("img").attr("width");
		// Parches para IE8 (no coge el ancho de la imagen con  jQuery(this).find("img").attr("width")
		if (width_initial == 0) {
			width_initial = jQuery(this).find("img").width();
		}
		if (width_initial == 0) {
			width_initial = jQuery(this).find("img").css('width');
		}
		
		if (width_initial != 0 && width_initial != null && width_initial != "undefined") {
			width_initial = parseInt(width_initial);
		}
		
		// Grabamos el tamaño original dentro de un atributo nuevo
//		alert ("["+ jQuery(this).find("img").attr("src") + "] --> Width [" + width_initial + "]");
		jQuery(this).find("img").attr({"width_initial":width_initial});
	});
}

/* Rollover para los casos de la Home */
function overCase (case_number) {
	var coeficiente_de_ampliado = 87;
	if  (case_number == null) {
		case_number = 1;
	}
	actualCase = case_number;
	
	if (actualCase <= 11) {
		jQuery('#case_' + actualCase).fadeIn(500, function() {
			case_number = case_number + 1;
			overCase(case_number);
		});
	}
	
	if (actualCase == 11) { // Si se ha mostrado el último CASO, añadimos evento para mostrar contenido emrgente

		jQuery("#cases_container .case .case_maximizer_container a").each (function() {
			jQuery(this).hover(function() {
				/*	Calculamos el incremento de pixels. La imagen inicial está puesta a un 80% de su tamaño, por lo que:
					si 123px ---- 80%
					    Xpx ----- 100%
					Mediante una regla de tres ampliamos la imagen
				*/
				width_initial = jQuery(this).find("img").attr("width_initial");
				newWidth = ((parseInt(width_initial) * 100) / coeficiente_de_ampliado);
				newWidth = parseInt(newWidth);
				jQuery(this).parent().parent().css({'z-index' : '10'}); // Antes de empezr la animación, lo ponemos en primer plano
				jQuery(this).find("img")
				.animate({
					width: newWidth + 'px',   // EL tamaño ampliado 
				}, 300);// Tiempo que demora en hacer el efecto
			
			} , function() {// Regresando a su posición inicial
				jQuery(this).find("img")
				.animate({
					width: jQuery(this).find("img").attr("width_initial") + 'px',   // Tamaño inicial de la miniatura (lo obtenemos de un atributo que hemos creado previamente, en el over)
				}, 300, function () { // cuando termina la animación lo quitamos de primer plano
					jQuery(this).parent().parent().parent().css({'z-index' : '1'});
				});// Tiempo que demora en hacer el efecto
			});
		})

	}
}

var actualCasePosition = null;

/* Scroll horizontal de la página por los anclas de cada enlace */
jQuery(document).ready(function () {
	jQuery("a.nav").click (function (event) {
		event.preventDefault();
		
		goToSection(this);
	});
});

function goToSection (objReferer) {
	jQuery("#header").fadeOut("slow", function () {
		jQuery("#menu").fadeOut("slow", function () {
			// DES seleccionamos la opción de menú pulsada anteriormente
			jQuery("#menu ul").find("a").each(function () {
				jQuery(this).css({backgroundPosition: 'top left'});
				
				// Quitamos el botón de "Casos de exito"
				jQuery("#casos_de_exito").fadeOut("slow");
			})
			
			// Quotamos las flechas de navegacion
			jQuery(".navigation_arrows").fadeOut("slow");
	
			var theURL = jQuery(objReferer).attr("href");
			var theAnchor = theURL.split("#")[1];
			
			// If anchor element exists, scroll to her position
			if (jQuery("[name=" + theAnchor + "]").length){
				// Buscamos la capa de la aseccion
				var section_div = jQuery("[name=" + theAnchor + "]").parent();
				var content_position = section_div.position();
				content_position_left = content_position.left * -1;
				jQuery("#webContent ul#sections").stop().animate({
					left: content_position_left
				}, 1500, function() {
					// Mostramos la cabacera para ir a la home (headeR)
					if (theAnchor != "home") {
						jQuery("#header").fadeIn("slow", function () {
							if (theAnchor != "home" && theAnchor != "quienres_somos" && theAnchor != "mapa_web" && theAnchor != "contacto" && theAnchor != "proteccion_de_datos") { 
								jQuery("#menu").fadeIn("slow");
							}
						});
						// Seleccionamos la opción del menú que corresponde
						jQuery("#menu_" + theAnchor + " a").css({backgroundPosition: 'bottom left'});
						
						// Guardamos el caso en el que estamos actualmente
					    actualCasePosition = jQuery("#menu ul li").index(jQuery("#menu_" + theAnchor));
						
						// Comprobamos si hay que sacar flechas:
						
						if (actualCasePosition > 1) {
							// Sacamos flecha IZQUIERDA
							jQuery("#navigation_arrow_left").fadeIn("slow");
						} else {
							if (actualCasePosition == 1) {
							// Quitamos flecha IZQUIERDA
							jQuery("#navigation_arrow_left").fadeOut("slow");
							}
						}
						
						if (actualCasePosition < (jQuery("#menu ul li").size() - 1)) {
							// Sacamos flecha derecha
							jQuery("#navigation_arrow_right").fadeIn("slow");
						} else {
							if (actualCasePosition == (jQuery("#menu ul li").size() - 1)) {
								// Quitamos flecha derecha
								jQuery("#navigation_arrow_right").fadeOut("slow");
							}
						}
						
						// Mostrar el botón de "Casos de Exito"
						jQuery("#casos_de_exito").fadeIn("slow");
					}
				});
			}
		});
	});
}

/* Carga del Header en ficheros DIFERENTES al INDEX */
jQuery(document).ready(function () {
	if (document.location.href.indexOf(".html") > 0) { // Esto es para todas aquellas páginas CON ruta de fichero 
		if (document.location.href.indexOf("index.html") == -1) { // Y que además, NO sean el INDEX
			jQuery("#header").fadeIn("slow");
		}
	}
});
/* Hack para que los enlaces con la clase EXTERNAL carguen en ventana nueva */
jQuery(document).ready(function () {
	jQuery("a.external").click(function(){
		this.target = "_blank";
	});
});

/* Flechas laterales para movernos por los casos */
jQuery(document).ready(function () {
	jQuery("#navigation_arrow_left").click (function () {
		// Mandamos a la función de mover las secciones el OBJETO del menú que corresponde a esta sección
		actualCasePosition = actualCasePosition - 1;
		var menuElement = jQuery("#menu ul li").get(actualCasePosition);
		menuElement = jQuery(menuElement).find("a");
		
		goToSection(menuElement);
	});
	
	jQuery("#navigation_arrow_right").click (function () {
		// Mandamos a la función de mover las secciones el OBJETO del menú que corresponde a esta sección
		actualCasePosition = actualCasePosition + 1;
		var menuElement = jQuery("#menu ul li").get(actualCasePosition);
		menuElement = jQuery(menuElement).find("a");
		
		goToSection(menuElement);
	});
});

/* Abrir cases Studys */
var actual_case = null;
jQuery(document).ready(function () {
	jQuery("#casos_de_exito_coverAll").css({ opacity: 0.65 });

	jQuery("#casos_de_exito_wrapper #buttons_overlay a")
/*	.css({backgroundPosition: '0 0'}) // workaround for FF 2.0 bug
	.hover(function() {
		jQuery(this).stop().animate(
			{"background-position" : "0px -48px"}, 
			{duration : 500}
		);
	} , function() {// Regresando a su posición inicial
		jQuery(this).stop().animate(
			{"background-position" : "0 0"}, 
			{duration : 500}
		);
	});
*/
	.click (function () {
		actual_case = jQuery(this).attr("id").split("boton_")[1];
		// Si existe la capa del caso que hemos pulsado..
		if (jQuery("#" + actual_case).length){
			jQuery("#casos_de_exito_coverAll").fadeIn("slow", function () {
				jQuery("#" + actual_case).fadeIn("slow");
			});
		}
	})
	
	jQuery(".close").click (function() {
		jQuery("#" + actual_case).fadeOut("slow", function () {
			jQuery("#casos_de_exito_coverAll").fadeOut("slow");		
		});
	});
});


// Hack para reemplazar la dirección de correo escrita (cuenta [AT] dominio [dot] ext) por la dirección real
jQuery.fn.mailto = function() {
	return this.each(function(){
		if (jQuery(this).attr("href").indexOf("(at)") != -1)
		{
			var email = jQuery(this).attr("href").replace("(at)", "@");
			email = email.replace("(dot)", ".");
			var email = email.replace("mailto:", ""); // Delete mailto: if exists
			var text = jQuery(this).html().replace("(at)", "@"); // Replace (at) on text if exists
			text = text.replace("(dot)", "."); // Replace (at) on text if exists
			var classNames = jQuery(this).attr("class");
			jQuery(this).before('<a href="mailto:' + email + '" rel="nofollow" class="' + classNames + '" title="Email ' + email + '">' + text + '</a>').remove();
		}
	});
};

jQuery(document).ready(function () {
	jQuery(".email").mailto();
});

