/*
 * jQuery CSS popUp
 * http://dixso.net/
 *
 * Copyright (c) 2009 Julio De La Calle Palanques
 *
 * Date: 2009-03-27 12:34:00 - (Viernes, 27 Mar 2009)
 * 
 */
 
//Variable que almacenará la posición del scroll, por defecto tiene valor 0.
var scrollCachePosition = 0;

$(function() {
	$("#abrirPop").click(function(event) {
		scrollCachePosition = $(window).scrollTop();
		//Envío el scroll a la posición 0 (left), 0 (top), es decir, arriba de todo.
		window.top.scroll(0,0);

		//Si el body es mas grande que la capa 'contenedorSuperior' incrementa la altura del body a la capa 'capaPopUp'.
		if ($("body").outerHeight()>$("#contenedorSuperior").outerHeight()){
			var altura=$("body").outerHeight();
	    }else{
		//Si la capa 'contenedorSuperior' es más grande que el body incrementa la altura de la capa 'contenedorSuperior' a la capa 'capaPopUp'.
			var altura=$("#contenedorSuperior").outerHeight();
		}
		window.document.getElementById("capaPopUp").style.height=altura+"px";
		event.preventDefault();
		//Muestro la capa con el efecto 'slideToggle'.
		$("#capaPopUp").slideToggle();

		//Calculo la altura de la capa 'popUpDiv' y lo divido entre 2 para darle un margen negativo.
		var altura=$("#popUpDiv").outerHeight();
		$("#popUpDiv").css("margin-top","-"+parseInt(altura/2)+"px");
		
		//Calculo la anchura de la capa 'popUpDiv' y lo divido entre 2 para darle un margen negativo.
		var anchura=$("#popUpDiv").outerWidth();
		$("#popUpDiv").css("margin-left","-"+parseInt(anchura/2)+"px");
		
		//Muestro la capa con el efecto 'slideToggle'.
		$("#popUpDiv").slideToggle();
	});
	$("#cerrar").click(function(event) {
		event.preventDefault();
		//Cierro las capas con el efecto 'slideToggle'.
		$("#capaPopUp").slideToggle();
		$("#popUpDiv").slideToggle();
		//Si la variable scrollCachePosition es mayor que 0 incrementará la posición del scroll al valor que se almacenó. 
		if (scrollCachePosition > 0) {
			window.top.scroll(0,scrollCachePosition);
			//Reseteamos la variable scrollCachePosition a 0 para poder ejecutar el script tantas veces sea necesario.
			scrollCachePosition = 0;
		}
	});
});

function popupCssShow(URL, width, height) { //Parámetros: URL (URL, Anchura de la capa, Altura de la capa)  
	if (typeof document.body.style.maxHeight === "undefined") {//Añade la propiedad maxHeight para IE6.  
		$("body", "html").css({ height: "100%", width: "100%" });
	}
	//La capa 'cssBackground' ocupa toda la pantalla para darle una opacidad.  
	//La capa 'cssPopupContainer' es la capa madre del PopUp.  
	if (!$("#cssBackground").length > 0) {
		$("#contenido").append("<div id=\"cssBackground\"></div><div id=\"cssPopupContainer\"><div id=\"cssPopup\"></div></div>"); //Añade las capas en la página.  
	}
	if (width != undefined) {
		$("#cssPopup").css("width", width);
	}
	if (height != undefined) {
		$("#cssPopup").css("height", height);
		$("#cssPopup").css("overflow", "auto");
	}
	$("#cssBackground").slideDown("slow"); //Efecto jQuery  
	scrollCachePosition = $(window).scrollTop();
	window.top.scroll(0, 0);
	$("#cssPopup").load(URL, function() {
		//$("#cssPopupContainer").center(); //Si activamos esta línea y desactivamos la de abajo nos centrará el PopUp en el medio de la pantalla.  
		$("#cssPopupContainer").css("top", 100);
		ancho = $(window).width();
		$("#cssPopupContainer").slideDown("fast", function() {
			anchopopup = $("#cssPopup").width();
			$("#cssPopupContainer").css("width", ancho);
		});
	});
}

function popupCssHide() {
	$("#cssPopupContainer").slideUp("fast", function() {
		$("#cssBackground").fadeOut("fast", function() {
			$("#cssBackground").remove(); //Elimina la capa 'cssBackground'.  
			$("#cssPopupContainer").remove(); //Elimina la capa 'cssPopupContainer'.  
		});
	});
	if (scrollCachePosition > 0) {
		window.top.scroll(0, scrollCachePosition); //Vuelve a la posición donde estaba el scroll.  
		//Reseteamos la variable scrollCachePosition a 0 para poder ejecutar el script tantas veces como sea necesario.  
		scrollCachePosition = 0;
	}
} 
