/*	Message codes:
		...-299: OK codes without 'Close' button.
		300-399: OK codes with 'Close' button, i.e. user attention required.
		400-...: Error codes
*/
var csf_msgbox = {
	timer:null,
	
	isAutoHide:function(code) {
		return (code<300)?1:0;
	},
	isErrorMsg:function(code) {
		return (code>=400)?1:0;
	},
	show:function(code, module) {
		window.clearTimeout(csf_msgbox.timer);
		box = $('div#csf_msgbox').length ? 
			$('div#csf_msgbox') : $('<div id="csf_msgbox" style="-moz-border-radius: 8px"></div>').appendTo('body');
		
		winWidth=$(document).width();
		box.css({
			'z-index':'100',
			cursor:'pointer',
			align:'center',
			background:'#fff',
			border:csf_msgbox.isErrorMsg(code)?'3px solid red':'3px solid #ccc',
			padding:'2em',
			position:'absolute',
			top:'30%',
			width:'300px',
			left:winWidth/2-200
			});

		box.html('');
		if (csf_msgbox.isErrorMsg(code)) {
			$('<img align="left" src="/r/i/admin/exclamation.png">').appendTo(box);
		} else {
			$('<img align="left" src="/r/i/admin/information.png">').appendTo(box);
		}

		$('div#csf_msgbox').click(function(){csf_msgbox.hide();});
		if (csf_msgbox.isAutoHide(code)) {
			csf_msgbox.timer = window.setTimeout(function(){ csf_msgbox.hide();	},5000);
		}

		$('#'+module+'_message_'+code).clone()
			.css({float:'left',display:'block', padding:'0 2em'})
			.appendTo(box).show();
		box.show();

		scrollTop = document.body.scrollTop ? document.body.scrollTop : 
						document.documentElement.scrollTop ? document.documentElement.scrollTop : 
							window.pageYOffset;

		if(scrollTop) {
			box.css('top',box.offset().top + scrollTop);
		}

		if ($.browser.msie && $.browser.version < 7)	{
			if ($('iframe#csf_msgbox_iframe').length) $('iframe#csf_msgbox_iframe')
			else {
				iframe = document.createElement('iframe');
				iframe.id = 'csf_msgbox_iframe';
				iframe.setAttribute('frameborder', 10);
				iframe.scrolling = 'no';
			}
			iframe.width = $('#csf_msgbox').get(0).clientWidth+6;
			iframe.height = $('#csf_msgbox').get(0).clientHeight+6;
			$(iframe).css ({
				position:'absolute',
				top:box.offset().top,
				left:box.offset().left,
				'z-index':'0'
			}).appendTo('body').show();
		}

	},
	hide:function() {
		$('div#csf_msgbox').fadeOut('slow', function(){$('iframe#csf_msgbox_iframe').hide()});
	},
	minipop:function(o_img) {
		tooltip = $('div#csf_minipop').length ? 
			$('div#csf_minipop') : $('<div id="csf_minipop"></div>').appendTo('body');
		
		pos=$(o_img).offset();	
		tooltip.html(o_img.name).css( {
			'position':'absolute',
			'border':'1px solid #3F3418',
			'background':'#FFFADF',
			'padding':'2px',
			'white-space':'nowrap',
			'left':pos.left-10,
			'top':pos.top+$(o_img).height()+15
		}).show();
		$(o_img).mouseout(function(){$('div#csf_minipop').hide()});
	}
}
