var popupsList,
    popupLock = false,
    lastScroll = null,
    htmlEl = $('html');

function openPopup(popupId)
{
	var popup = $('#' + popupId);

	popupLock = true;
	popupsList.fadeOut('fast');
	popup.stop().fadeIn('normal');

	var t = popup.offset().top - 15;

	if(htmlEl.scrollTop() > t - 15)
	{
		lastScroll = htmlEl.scrollTop();
		htmlEl.animate({ scrollTop: t });
	}
	else
	{
		lastScroll = null;
	}
	setTimeout(function(){ popupLock = false }, 30);
};
function closePopup(popupId)
{
	$('#' + popupId).fadeOut('fast');
	if(lastScroll) htmlEl.animate({ scrollTop: lastScroll }, function(){
		lastScroll = null;
	});
};
function closePopups()
{
	popupsList.stop().fadeOut('fast');
};

$(document).ready(function()
{
	popupsList = $('div.popups > div');
}).click(function(event)
{
	if(!popupLock && !$(event.target).parents('div.popups').length) closePopups();
}).keyup(function(event)
{
         if(event.keyCode == 27) closePopups();
});

