/*
 * 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 'wrapper' incrementa la altura del body a la capa 'capaPopUp'.
        if ($("body").outerHeight()>$("#bg").outerHeight()){
            var altura=$("body").outerHeight();
        }else{
        //Si la capa 'wrapper' es más grande que el body incrementa la altura de la capa 'wrapper' a la capa 'capaPopUp'.
            var altura=$("#bg").outerHeight();
        }
        window.document.getElementById("mask").style.height=altura+"px";
        event.preventDefault();
        //Muestro la capa con el efecto 'slideToggle'.
        $("#mask").slideToggle();
 
        //Calculo la altura de la capa 'popUpDiv' y lo divido entre 2 para darle un margen negativo.
        var altura=$("#propa").outerHeight();
        $("#propa").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=$("#propa").outerWidth();
        $("#propa").css("margin-left","-"+parseInt(anchura/2)+"px");
 
        //Muestro la capa con el efecto 'slideToggle'.
        $("#propa").slideToggle();
    });
    $("#cerrar").click(function(event) {
        event.preventDefault();
        //Cierro las capas con el efecto 'slideToggle'.
        $("#mask").slideToggle();
        $("#propa").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;
        }
    });
});
