/*
 * jQuery CSS popUp
 * http://dixso.net/
 *
 * Copyright (c) 2009 Julio De La Calle Palanques
 * anfibic.com
 *
 * Date: 2009-06-19 14:59:00 - (Viernes, 19 Jun 2009)
 *
 */

//Variable que almacena la posición del scroll, por defecto tiene valor 0.
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) {
		$("body").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").fadeIn("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",50);
			ancho=$(window).width();
			
			$("#cssPopupContainer").fadeIn("fast", function () 
			{
				anchopopup=$("#cssPopup").width();
				$("#cssPopupContainer").css("width",ancho);			
			});
		});
	*/
	$("#cssPopup").html("Loading...");
    $.ajax({
        url: URL,
        dataType: "html",
        success: function(html) 
        {
    		
    		//////////////////////////////////
    		
    		/*
    	
	    	var search = html;
	        var script;
	     
	        while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i)) 
	        	
	        { 
	          search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length); 
	     
	          if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break; 
	     
	          block = search.substr(0, search.indexOf(RegExp.$1)); 
	          search = search.substring(block.length + RegExp.$1.length); 
	     
	          var oScript = document.createElement('script'); 
	          oScript.text = block; 
	          //document.getElementsByTagName("head").item(0).appendChild(oScript);
	          document.getElementById("cssPopupContainer").appendChild(oScript); 
	        }
	
	        */
	        
	    	//////////////////////////////
	        
	        /*
	        var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig;
	        var pat2=/\bsrc=[^>\s]+\b/g;
	        var elementos = html.match(pat) || [];
	        
	        for(i=0;i<elementos.length;i++) {
	            var nuevoScript = document.createElement('script');
	            nuevoScript.type = 'text/javascript';
	            var tienesrc=elementos[i].match(pat2) || [];
	            if(tienesrc.length){
	                nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
	            }else{
	                var elemento = elementos[i].replace(pat,'$1','');
	                nuevoScript.text = elemento;
	            }
	            //document.getElementsByTagName('body')[0].appendChild(nuevoScript);
	            document.getElementById("cssPopupContainer").appendChild(nuevoScript);
	        }
	        */
	        ////////////////////////////////////
    	
    		$("#cssPopup").html(html);
    		//$("#cssPopupContainer").center(); //Si activamos esta línea y desactivamos la de abajo nos centrará el PopUp en el medio de la pantalla.
    		$("#cssPopupContainer").css("position","absolute");
    		$("#cssPopupContainer").css("top", ( $(window).height() - $("#cssPopupContainer").height() ) / 2+$(window).scrollTop() + "px");
    		$("#cssPopupContainer").css("left", ( $(window).width() - $("#cssPopupContainer").width() ) / 2+$(window).scrollLeft() + "px");
			//$("#cssPopupContainer").css("top",50);
			ancho=$(window).width();
			
			$("#cssPopupContainer").fadeIn("fast", function () 
			{
				anchopopup=$("#cssPopup").width();
				$("#cssPopupContainer").css("width",ancho);			
			});
        }
    });

	
}

function popupCssHide () {
	
	$("#cssPopupContainer").fadeOut("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;
	}
}
