Event.observe(document,'dom:loaded',function()
{
	$$('.baloon').each(function(el)
	{
		el.down('.close').observe('click',function()
		{
			if (!el.confirmCallback)
				{
				el.hide();
				overlay(0);
			}
			else
				{
				doConfirm(el.confirmCallback);
			}
		});
	});

	if (!window.adminMode)
		return true;
	$('confirm').close=function()
	{
		$('confirm').hide();
		$('overlay').removeClassName('confirm');
		if ($('confirm').closeOverlay) overlay(0);
		$('confirm').closeOverlay=null;
	}
	$('confirm').down('.yes_btn').observe('click',function()
	{
		$('confirm').close();
		$('confirm').callback();
		$('confirm').callback=null;
	});
	$('confirm').down('.no_btn').observe('click',function()
	{
		$('confirm').close();
	});
});

function doConfirm(callback, caption)
{
	$('confirm').callback=callback;
	valign('confirm');
	$('confirm').show();
	$('overlay').addClassName('confirm');
	if (caption && caption.length)
		$('confirm').down('p',1).update(caption);
	else
		$('confirm').down('p',1).update('You have unsaved changes.');
	if (!$('overlay').visible())
		{
		overlay(1);
		$('confirm').closeOverlay=true;
	}
}

function valign(obj)
{
	var top=document.viewport.getScrollOffsets()[1]+(document.viewport.getHeight()-$(obj).getHeight())/2;
	$(obj).style.top=Math.max(0,top)+'px';
	return $(obj);
}

function halign(obj)
{
	var left=document.viewport.getScrollOffsets()[0]+(document.viewport.getWidth()-$(obj).getWidth())/2;
	$(obj).style.left=left+'px';
	return $(obj);
}


	function fitImage(img,el,width,height)
	{
			var debug=0;
			if (typeof img == "string")
				img=preloadedImages[img.replace(window.location.protocol+'//'+window.location.host,'')];
			else
			if (Prototype.Browser.IE)
				{
				img=preloadedImages[img.src.replace(window.location.protocol+'//'+window.location.host,'')];
				}
			if (!img) return false;
			var k1=img.width/width;
			var k2=img.height/height;
			var k=Math.min(k1,k2);
			var newWidth=img.width/k;
			var newHeight=img.height/k;
			el.setStyle({
				'width':newWidth+'px',
				'height':newHeight+'px',
				'top':(height/2-newHeight/2)+'px',
				'left':(width/2-newWidth/2)+'px'
			});
	}

