(function ()
{
	var popup =
	{

		popupNode : null,
		_timeout : null,

		popupNodeCreate : function(message)
		{
			popup.popupNode                       = document.createElement('DIV');
			popup.popupNode.style.position        = 'fixed';
			popup.popupNode.style.top             = '30%';
			popup.popupNode.style.left            = '30%';
			popup.popupNode.style.width           = 'auto';
			popup.popupNode.style.height          = 'auto';
			popup.popupNode.style.backgroundColor = '#0000AF';
			popup.popupNode.style.color           = '#FFFFFF';
			popup.popupNode.style.fontWeight      = 'bold';
			popup.popupNode.style.filter          = 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)';
			popup.popupNode.style.opacity         = 0;
			popup.popupNode.style.zIndex          = 14;
			popup.popupNode.style.padding         = '5px';
			popup.popupNode.style.paddingLeft     = '8px';
			popup.popupNode.style.paddingRight    = '8px';
			popup.popupNode.innerHTML             = message;
			document.body.insertBefore(popup.popupNode, null);
		},

		popupNodeAppend : function(message)
		{
			// oh my ... bad style ... Sorry, I'm in a hurry today .. (MCB)
			if(popup.popupNode.innerHTML.indexOf(message)==-1)
			{
				popup.popupNode.innerHTML += "<br /><br />" + message;
			}
		},

		fade : function()
		{
			var tempOpacity=popup.getOpacity();
			tempOpacity -= 0.1;
			if(tempOpacity > 0)
			{
				popup.setOpacity(tempOpacity);
				popup._timeout = setTimeout(function() {
					popup.fade();
				}, 100);
			}
			else
			{
				document.body.removeChild(popup.popupNode);
				popup.popupNode = null;
				popup._timeout  = null
			}
		},

		getOpacity : function()
		{
			var tempOpacity;
			try
			{
				if(popup.popupNode.filters)
				{
					tempOpacity = popup.popupNode.filters.item('DXImageTransform.Microsoft.Alpha').opacity/100;
				}
				else
				{
					tempOpacity = popup.popupNode.style.opacity;
				}
			}
			catch(e)
			{
			}
			return tempOpacity;
		},

		setOpacity : function(tempOpacity)
		{
			try
			{
				popup.popupNode.filters.item('DXImageTransform.Microsoft.Alpha').opacity = tempOpacity*100;
			}
			catch(e)
			{
				popup.popupNode.style.opacity = tempOpacity;
			}
		},

		show : function(message)
		{
			if (popup.popupNode == null)
			{
				popup.popupNodeCreate(message);
			}
			else
			{
				popup.popupNodeAppend(message);
			}
			if (popup._timeout != null)
			{
				clearTimeout (popup._timeout);
			}

			popup.setOpacity(1);

			popup._timeout = setTimeout(function()
			{
				popup.fade();
			}, 2500); // 2.5 seconds
		}
	}
	// this should go away (MCB 9/9/2009)
	window.popup = popup;

	if (!window.ETB)
	{
		window.ETB = { };
	}

	if (!window.ETB.ui)
	{
		window.ETB.ui = { };
	}

	// this is preferred (MCB 9/9/2009)
	window.ETB.ui.popup = popup;
})();
