(function($) {
	$.modal = {
		overlayColor: "#000",
		overlayOpacity:  0.5,
	
		show: function(message)
		{
			$.modal._hide();
			$.modal._overlay('show');
			
			$("body").append("<div id='modalContainer' style='display:none'><div id='modalMessage'>" + message + "</div></div>");
			$("#modalContainer").fadeIn('slow');
			
			// IE6 Fix
			var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 
			
			$("#modalContainer").css({
				position: pos,
				zIndex: 99999,
				padding: 0,
				margin: 0
			});
		
			
			$.modal._reposition();
			$.modal._maintainPosition(true);
		},
		
		_hide: function() {
			$("#modalContainer").fadeOut('slow');
			$.modal._overlay('hide');
			$.modal._maintainPosition(false);
		},
		
		_overlay: function(status) {
			switch( status ) {
				case 'show':
					$.modal._overlay('hide');
					$("BODY").append('<div id="popup_overlay"></div>');
					$("#popup_overlay").css({
						position: 'absolute',
						zIndex: 99998,
						top: '0px',
						left: '0px',
						width: '100%',
						height: $(document).height(),
						background: $.modal.overlayColor,
						opacity: $.modal.overlayOpacity
					});
				break;
				case 'hide':
					$("#popup_overlay").fadeOut('slow');
				break;
			}
		},
		
		_reposition: function() {
			var top = (($(window).height() / 2) - ($("#modalContainer").outerHeight() / 2)) + -75;
			var left = (($(window).width() / 2) - ($("#modalContainer").outerWidth() / 2));
			if( top < 0 ) top = 0;
			if( left < 0 ) left = 0;
			
			// IE6 fix
			if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();
			
			$("#modalContainer").css({
				top: top + 'px',
				left: left + 'px'
			});
			$("#popup_overlay").height( $(document).height() );
		},
		
		_maintainPosition: function(status) {
			switch(status) {
				case true:
					$(window).bind('resize', $.modal._reposition);
				break;
				case false:
					$(window).unbind('resize', $.modal._reposition);
				break;
			}
		}
	};
	
	
	bernaModal = function(message)
	{		
		$.modal.show(message);
	};
	
})(jQuery);
