/*  
 * 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()>$("#wrapper").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=$("#wrapper").outerHeight();  
        } 
        //window.document.getElementById("capaPopUp").style.height=altura+"px";  
        window.document.getElementById("capaPopUp").style.height=document.body.scrollHeight+"px";  
        window.document.getElementById("capaPopUp").style.width=document.body.scrollWidth+"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;  
        }  
    });  
}); 
