var bgmcfg = {

    color: '#000000',
    opacity: 0.4
};

jQuery.fn.bgmessage = function(params) {
	
	var options = {
		color : '#000000',
		opacity : 0.7,
		eventObj : null,
		onClick : null,
		activeOverlay:true
	}
	jQuery.extend(jQuery.fn,{
		getPageScroll: function ( ) {
			var xScroll, yScroll;
			if (self.pageYOffset)
			{
				yScroll = self.pageYOffset;
				xScroll = self.pageXOffset;
			} else if (document.documentElement && document.documentElement.scrollTop)
			{
				yScroll = document.documentElement.scrollTop;
				xScroll = document.documentElement.scrollLeft;
			} else if (document.body)
			{
				yScroll = document.body.scrollTop;
				xScroll = document.body.scrollLeft;
			}
			var arrayPageScroll = {'xScroll':xScroll,'yScroll':yScroll};
			return arrayPageScroll;
		},
		parentElementPos: function( e )
		{
			var elemX = 0;
			var elemY = 0;
			do {
				elemX += e.offsetLeft;
				elemY += e.offsetTop;
			} while ( e = e.offsetParent )
		
			return {left: elemX, top: elemY} 
		}
	});
	
		
	
	
	op = jQuery.extend(options, params);
	
	if ( $('#bgm-overlay').length == 0 ) 
		$('body').append('<div id="bgm-overlay"></div>');
	
	$('#bgm-overlay').css({
		position:	'absolute',
		top:		'0px',
		left:		'0px',
		zIndex: 1000,
		width: '100%',
		height: '100%',
		background:	 op.color,
		opacity: op.opacity
	});
	
	var $self = jQuery(this);
	var defClick = function() { 
		$('#bgm-overlay').hide(); 
		var t = $('#bgm-overlay').attr('msgid'); 
		$('#'+t).hide();
		setTimeout(function() {
			t = $('#bgm-overlay').attr('evtid'); 
			if (t.length > 0) $('#'+t).unbind('click');
		}, 200);
		return false; 
	}
	
	$('#bgm-overlay').hide();
	$('#bgm-overlay').attr('msgid', $self.attr('id'));
	$('#bgm-overlay').attr('evtid', (op.eventObj?op.eventObj:''));
	
	$('#bgm-overlay').show();
	$('#bgm-overlay').css({
		width:	$('body').width() + 'px',
		height:	$(document).height() + 'px'
	});
	$("#bgm-overlay").unbind('click');
	if (op.activeOverlay)
	{
		$("#bgm-overlay").bind('click', defClick);
		if ( op.onClick )
			$("#bgm-overlay").bind('click', op.onClick);
	}
	
	var pageScroll = this.getPageScroll();
	var nTop = pageScroll.yScroll + ($(window).height() - parseInt($self.height(),10)) / 2;
	var nLeft = pageScroll.xScroll + ($(window).width()  - parseInt($self.width(),10)) / 2;
	
	var _p = $self.parent().get(0);
	
	$self.css({
		position:'absolute',
		display:'block',
		zIndex:2001,
		left: nLeft,
		top: nTop
	});
	
	if(op.eventObj)
	{
		$('#'+op.eventObj).bind('click', defClick);
		if ( op.onClick )
			$('#'+op.eventObj).bind('click', op.onClick);
	}

};


