﻿$(function() {
	// Ajustes y control del menu de "Inicio rápido" *****************************
	if ($(".ms-quicklaunch").length) {
		$(".ms-quicklaunch").removeAttr("style");
		$("#QuickLaunchLink")
			.hover(
				function() { 
					$(this).removeClass("ms-SpLinkButtonInActive").addClass("ms-SpLinkButtonActive");
					$("#QuickLaunchMenu").stopTime("HideQuickLaunchMenu");
				},
				function() { 
					if (!$(this).data("visible")) {
						$(this).removeClass("ms-SpLinkButtonActive").addClass("ms-SpLinkButtonInActive");
					}
					$("#QuickLaunchMenu").oneTime(1500, "HideQuickLaunchMenu", HideQuickLaunchMenu);
				}
			)
			.click(
				function() {
					$("#QuickLaunchMenu").toggle();
					$("#QuickLaunchMenuOverlay").toggle();
					$(this).data("visible", !$(this).data("visible"));
				}
			)
			.data("visible", false)
			.show();
	
		$("#QuickLaunchMenu").hover(
			function() { $(this).stopTime("HideQuickLaunchMenu"); },
			function() { $(this).oneTime(1500, "HideQuickLaunchMenu", HideQuickLaunchMenu); }
		);

		$("#QuickLaunchMenuOverlay").click(HideQuickLaunchMenu);
	}
	

	function HideQuickLaunchMenu() {
		$("#QuickLaunchMenuOverlay").hide();
		$("#QuickLaunchMenu").hide();
		$("#QuickLaunchLink").removeClass("ms-SpLinkButtonActive").addClass("ms-SpLinkButtonInActive");
		$("#QuickLaunchLink").data("visible", false);
	};


	// Ajustes de la barra de búsqueda *******************************************
	try	{
		$(".ms-sbgo > a > img").remove();
	
		var TotalWidth = $("#menu").outerWidth(true);
		var MenuLeftWidth = $("#menuLeft").outerWidth(true);
		var MenuWidth = $("#MenuItems").outerWidth(true);
		var GoLinkWidth = $(".ms-sbgo > a").outerWidth(true);
		var $SearchInput = $(".ms-sbcell > input");
	
		if ($SearchInput.length) {
			var IEHackWidth = $SearchInput.outerWidth(true) - $SearchInput.width() + 1;
			var SearchInputWidth = TotalWidth - MenuLeftWidth - MenuWidth - GoLinkWidth - IEHackWidth;
			$SearchInput
				.width(SearchInputWidth + "px")
				//.focusin(function() { $("#DummySearchText").hide(); })
				.focusout(function() { if ($(this).val() == "") { $("#DummySearchText").show();	} })
				.keydown(function() { $("#DummySearchText").hide(); });
				
	
			if ($SearchInput.val() != "") {
				$("#DummySearchText").hide();
			}
		}

		$("#DummySearchText").click(function() { $(".ms-sbcell > input").focusin().focus(); }); 

		// Ajuste de la posición de la búsqueda para IE7
		if ($.browser.msie && $.browser.version == 7) {
			$("div#search").css({position: 'relative', top: "-1px"});
		}
	}
	catch(e)
	{ }



	// Ajustes del menu del "footer" *********************************************
	$(".footerMenuItem:last").css("border", "none");
	$(".footerMenuItem-language:last").css("border", "none");


	// Workaround para la chapuza de script de SharePoint en imglib.js
	// Esto es para las bibliotecas de imágenes en modo filmstrip
	$("img[name='CurrentPic']").attr("id", "CurrentPic");


	// Ajusta los colores de los elementos con las clases CSS "DynamicForeground" y/o "DynamicBackground" 
	// en función del color de la sección.
/*
	var str = new String(location.href.toLowerCase());
	var pos = str.lastIndexOf("/");
	var SectionUrl = str.substring(0, pos);
	var page = str.substring(pos + 1);
	page = page.substring(0, page.lastIndexOf("."));
	str = str.substring(0, pos);
	pos = str.lastIndexOf("/");
	var SectionName = str.substring(pos + 1);
*/

	$.fn.centerToScreen = function() {
		var top = (($(window).height() / 2) - (this.outerHeight() / 2)) + $(window).scrollTop();
		var left = (($(window).width() / 2) - (this.outerWidth() / 2)) + $(window).scrollLeft();

		this.css({
			display: "inline-block",
			position: "absolute",
			top: top + "px",
        	left: left + "px"
		});
		
		return this;
	};
	
	var currentUrl = location.href.toLowerCase();
	
	if (currentUrl.indexOf("http://www.ulled.com/default.aspx") != -1) {
		// Oculta el header y el footer
		$('#header, #footer').hide();

		// Centra en la ventana el logo y los links a los idiomas
		/*
		var top = (($(window).height() / 2) - ($("#home-main-wrapper").outerHeight() / 2)) + $(window).scrollTop();
		var left = (($(window).width() / 2) - ($("#home-main-wrapper").outerWidth() / 2)) + $(window).scrollLeft();
		$("#home-main-wrapper").css({
			position: "absolute",
			top: top + "px",
        	left: left + "px"
		});
		*/
		
		$("#home-main-wrapper").centerToScreen();
		$(window).resize(function(){
			$("#home-main-wrapper").centerToScreen();
		});
	}

	var urlArray = $.map(location.href.toLowerCase().split("/"), function(n, i) { return n || null; });
	var len = urlArray.length;
	var pageArray = $.map(urlArray[len-1].toLowerCase().split("."), function(n, i) {return n || null; });
	var page = pageArray[0];
	//var SectionName = (urlArray.length > 5 ? urlArray[4] : urlArray[len-2]);
	var SectionName = urlArray[len-2];
	if (SectionName == "forms" || urlArray[len-3] == "lists") {
		SectionName = urlArray[len-4];
	}
	if (SectionName == "ejemplos" || SectionName == "insights") {
		SectionName = urlArray[len-3];
	}

	if (SectionName == "es" || SectionName == "en" || SectionName == "pt") {
		if (page == "quienes-somos" || page == "centro-creativo" 
			|| page == "who-we-are" || page == "creative-center"
			|| page == "quem-somos" || page == "centro-criativo") {
			SectionName = page;
		}
	}
	
	// Controla la imagen del header
	var HeaderImage = "/SiteCollectionImages/Headers/ulled asociados.jpg";
	var NormalizedSectionName = SectionName.replace(/-/gi, " ");
	var HeaderTitle = NormalizedSectionName.capitalize();

	switch (SectionName) {
		/*
		case "quienes-somos":
			HeaderImage = "/SiteCollectionImages/Headers/quienes_somos.gif";
			break;
		*/
			case "marketing-communications":
				HeaderImage = "/SiteCollectionImages/Headers/mk_communications.gif";
				break;

		case "ulled-consulting":
			HeaderTitle = "Ulled Consulting";
			HeaderImage = "/SiteCollectionImages/Headers/consultoriademarketing_cap.jpg";
			break;
			case "marketing-industrial":
				HeaderImage = "/SiteCollectionImages/Headers/mk_industrial.gif";
				break;
			case "industrial-marketing":
				HeaderImage = "/SiteCollectionImages/Headers/mk_industrial.gif";
				break;
			case "digital-marketing":
				HeaderImage = "/SiteCollectionImages/Headers/mk_digital.gif";
				break;
			case "marketing-digital":
				HeaderImage = "/SiteCollectionImages/Headers/mk_digital.gif";
				break;
			case "green-marketing":
				HeaderImage = "/SiteCollectionImages/Headers/green_mk.gif";
				break;
			case "marketing-internacional":
				HeaderImage = "/SiteCollectionImages/Headers/mk_internacional.gif";
				break;

		case "relaciones-publicas":
			HeaderTitle = "Relaciones Públicas";
			HeaderImage = "/SiteCollectionImages/Headers/consultoriadecomunicacion_cap.png";
			break;
			case "public-affairs":
				HeaderImage = "/SiteCollectionImages/Headers/public_affairs.gif";
				break;
			case "lifestyle":
				HeaderImage = "/SiteCollectionImages/Headers/lifestyle.gif";
				break;
			case "internal-branding":
				HeaderImage = "/SiteCollectionImages/Headers/int_branding.gif";
				break;
			case "corporate":
				HeaderImage = "/SiteCollectionImages/Headers/corporate.gif";
				break;
			case "lifescience":
				HeaderImage = "/SiteCollectionImages/Headers/lifescience.gif";
				break;

		case "centro-creativo":
			HeaderImage = "/SiteCollectionImages/Headers/centro_creativo.gif";
			break;
		case "centro-criativo":
			HeaderImage = "/SiteCollectionImages/Headers/centro_criativo.gif";
			break;
		case "creative-center":
			HeaderImage = "/SiteCollectionImages/Headers/creative_center.gif";
			break;

		case "agencia":
			HeaderImage = "/SiteCollectionImages/Headers/agencia_cap.jpg";
			break;
			case "oficina-de-prensa":
				HeaderTitle = "Oficina de Prensa";
				HeaderImage = "/SiteCollectionImages/Headers/oficinaprensa.gif";
				break;
			case "press-office":
				HeaderTitle = "Press Office";
				HeaderImage = "/SiteCollectionImages/Headers/pressoffice.gif";
				break;

			case "diseño", "diseno":
				HeaderTitle = "Diseño";
				HeaderImage = "/SiteCollectionImages/Headers/diseno.gif";
				break;
			case "design":
				HeaderTitle = "Design";
				HeaderImage = "/SiteCollectionImages/Headers/design.gif";
				break;

			case "formacion":
				HeaderTitle = "Formación";
				HeaderImage = "/SiteCollectionImages/Headers/formacion.gif";
				break;
			case "training":
				HeaderTitle = "Training";
				HeaderImage = "/SiteCollectionImages/Headers/training.gif";
				break;
			case "formacao":
				HeaderTitle = "Formação";
				HeaderImage = "/SiteCollectionImages/Headers/formacao.gif";
				break;


			case "interactive":
				HeaderImage = "/SiteCollectionImages/Headers/interactive.gif";
				break;
			case "audiovisual":
				HeaderImage = "/SiteCollectionImages/Headers/audiovisual.gif";
				break;
			case "audiovisuals":
				HeaderImage = "/SiteCollectionImages/Headers/audiovisuals.gif";
				break;


			case "eventos":
				HeaderImage = "/SiteCollectionImages/Headers/eventos.gif";
				break;
			case "events":
				HeaderImage = "/SiteCollectionImages/Headers/events.gif";
				break;


			case "investigacion-de-mercados":
				HeaderTitle = "Investigación de Mercados";
				HeaderImage = "/SiteCollectionImages/Headers/investigacionmercados.gif";
				break;
			case "market-research":
				HeaderTitle = "Market Research";
				HeaderImage = "/SiteCollectionImages/Headers/marketresearch.gif";
				break;
			case "investigacao-de-mercados":
				HeaderTitle = "Investigação de Mercados";
				HeaderImage = "/SiteCollectionImages/Headers/investigacaomercados.gif";
				break;


			case "planificacion-de-medios":
				HeaderTitle = "Planificación de Medios";
				HeaderImage = "/SiteCollectionImages/Headers/planificacionmedios.gif";
				break;
			case "media-planning":
				HeaderTitle = "Media Planning";
				HeaderImage = "/SiteCollectionImages/Headers/mediaplanning.gif";
				break;
			case "planificacao-de-meios":
				HeaderTitle = "Planificação de meios";
				HeaderImage = "/SiteCollectionImages/Headers/planificacaomeios.gif";
				break;


			case "fotografia":
				HeaderTitle = "Fotografía";
				HeaderImage = "/SiteCollectionImages/Headers/fotografia.gif";
				break;
			case "photography":
				HeaderTitle = "Photography";
				HeaderImage = "/SiteCollectionImages/Headers/photography.gif";
				break;


		default:
			// Default image and default color (SectionName será "es", "en", "pt" o "search").
			SectionName = urlArray[2];
			break;
	}

	if (SectionName != "es" && SectionName != "en" && SectionName != "pt" && SectionName != "search") {
		$(".DynamicBackground").addClass(SectionName);
		$(".DynamicForeground").addClass(SectionName + "-foreground");
	}

	$("#logoAlt").text(HeaderTitle);
	$('<img src="' + HeaderImage + '" alt="' + HeaderTitle + '" title="' + HeaderTitle + '" />').appendTo("#logoLink");

	// Monta el link de la imagen del header para que apunte a la raiz de la sección
	var logoLinkUrl = "/";
	for(var i=2; i < len; i++) {
		logoLinkUrl += urlArray[i] + "/";
		if (urlArray[i] == SectionName) break;
	}
	$("#logoLink").attr("href", logoLinkUrl);

	// Controla la imagen de la cabecera.
	$("#logo img")
		// Si no existe, muestra un texto alternativo con el color de fondo de la sección.
		.error(function() {
			$(this).hide();
			$("#logoAlt").show(); 
		})
		// Si existe, quita el color de fondo de la cabecera
		.load(function() {
			$(this).parents("div.DynamicBackground:first").removeClass(SectionName);
		});

	// Controla el "background" de las opciones de los sub-menus para que sea el color de la sección.
	$("ul#MenuItems ul.SubMenu li a.MenuItem").hover(
		function() { $(this).addClass(SectionName); },
		function() { $(this).removeClass(SectionName); }
	);

	// Asigna color dinámicamente a elementos genericos HTML en función del color de la sección
	$("#Main h1, h2, h3, h4").not($("td.ms-formlabel h3, .ms-pagetitle")).addClass(SectionName + "-foreground");

	$("#Main li").not($("#Main ol > li, #Main ul#MenuLateral li, li.exclude-dynamic-color")).each(function() {
		var color = $(this).css("color");
		var content = $(this).html();
		$(this).html('<span style="color:' + color + ';">' + content + '</span>');
		$(this).addClass(SectionName + "-foreground");
	});


	// Ajusta el ancho de la parte central de las páginas
	try {
		$("#Main > table:first > tbody > tr:eq(1) > td:eq(1)").css("width", "100%");
	}
	catch(e)
	{ }


	// Muestra un cuadro de "cortesía" en las imágenes de los case studies que no tienen imagen
	$(".Ejemplo").each(function() {
		var $img = $(this).find("img");
		var name = $(this).attr("name").toLowerCase();
		var selected = (page == name);
		
		if ($img.length == 0 || $img.attr("src") == "") {
			$(this)
				.css({
					backgroundColor: (!selected && page != "default") ? "#ebebec" : "#fff",
					textAlign: "center",
					color: (!selected && page != "default") ? "#fff" : "#808080"
				})
				.attr("title", name.capitalize())
				.append('<div style="margin-top:40px">' + name.capitalize() + '</div>')
				.hover(
					function() { $(this).css({ backgroundColor: "#fff", color: "#808080" }); },
					function() { if (!selected && page != "default") $(this).css({ backgroundColor: "#ebebec", color: "#fff" }); }
				);

			if ($img.length) $img.hide();
		}
	});

	$(".Ejemplo img").error(function() { $(this).remove(); });

	// Convierte elementos en contenido multimedia (rich media content) con el plugin de jQuery "jquery.media.js"
	// NOTA: Todos los tags <a class="media" href="...">texto</a> de la página se convertiran en un <object ...> adecuado.
	
	try {
		// Remapea los formatos del plugin para que se muestren con el reproductor deseado.
		$.fn.media.mapFormat('mp3','quicktime');
		
		// Redefine la ubicación del player de flash
		$.fn.media.defaults.flvPlayer = '/Style Library/js/mediaplayer.swf';
		
		// Lanza el plugin.
		$(".media").media();
	}
	catch(e)
	{ }
	
	
	// Ajustes de la página de resultados de búsqueda
	$(".srch-sort br").remove();

});

/******************************************************************************
	String object extensions
******************************************************************************/
// capitalize()
String.prototype.capitalize = function(){
   return this.replace( /(^|\s)([a-z])/g , function(m, p1, p2){ return p1 + p2.toUpperCase(); } );
};


