var Message = {};

Message = function (text, opts) {
	if ( ! opts ) opts = {};
	if ( ! text ) text = "";

	Message.opts.width = opts.width||Message.opts.width||300;
	Message.opts.title = opts.title||Message.opts.title||'Scourlist Message';
	Message.opts.timeout = opts.timeout||Message.opts.timeout||5000;
	Message.opts.titleColor = opts.titleColor||Message.opts.titleColor||'#88ff88';
	Message.opts.bodyColor = opts.bodyColor||Message.opts.bodyColor||'#ccffcc';


	if ( ! Message.div ) {
		Message.div = document.createElement('div');
		Message.div.style.position = 'relative';
		Message.div.style.left = ((document.getElementsByTagName('body')[0].offsetWidth - Message.opts.width)/2) + 'px';
		Message.div.style.width = Message.opts.width+'px';
		Message.div.style.border = '2px solid black';
		Message.div.style.borderTop = '0px';
		document.getElementsByTagName('body')[0].appendChild(Message.div);
	}

	Message.div.innerHTML = '<div style="background-color: '+Message.opts.bodyColor+'; padding: 4px;">'+text+'</div>'+
							'<div style="border-top: 1px solid black; background-color: '+Message.opts.titleColor+'; padding: 1px; text-align: center;">'+
							'<b>'+Message.opts.title+'</b></div>';
	Message.div.style.top = '-'+Message.div.offsetHeight+'px';
	Message.offscreen = Message.height = Message.div.offsetHeight;
	clearTimeout(Message.timeout);
	setTimeout('Message.animate();', 30);
}
Message.opts = {};


Message.animate = function ( up ) {
	if ( up )	Message.offscreen = Math.ceil(Message.offscreen*2);
	else		Message.offscreen = Math.floor(Message.offscreen/2);

	Message.div.style.top = '-'+Message.offscreen+'px';

	if ( (Message.offscreen && !up) || (Message.height > Message.offscreen && up) )
		Message.timeout = setTimeout('Message.animate('+up+');', 30);
	else if ( ! up )
		Message.timeout = setTimeout('Message.offscreen = .1; Message.animate(1);', Message.opts.timeout);
}



