(function($) {

$.alert = {

	verticalOffset: -75,
	horizontalOffset: 0,
	repositionOnResize: true,
	overlayOpacity: .70,  
	overlayColor: '#000',
	title: '',
	message: '',
	
	//public methods
	
	
	_init: function($title,$message){
		
		$.alert.title = $title;
		$.alert.message = $message;
		$.alert._show();
	},
	
	// private methods
	
	
	
	_show: function(){
	
		$("BODY").append('<div id="alert"><h4>'+$.alert.title+'</h4><p>'+$.alert.message+'</p><button type="button" name="close" id="close">Close</button></div>');	
	$('BODY').append('<div id="overlay"></div>');
	$('#overlay').css({
		position: 'absolute',
		zIndex: 99998,
		top: '0px',
		left: '0px',
		width: '100%',
		height: $(document).height(),
		background: $.alert.overlayColor,
		opacity: $.alert.overlayOpacity
	})
	$('#alert').css({
		position: 'absolute',
		padding: '10px',
		zIndex: 99999,
		background: '#fff',
		textAlign: 'left'
	})
	
	$('#close','#alert').click(function(){
		$.alert._hide();
	})
	

	$.alert._reposition();
	$.alert._maintainPosition(true);
		
		},
		
		
	
	_hide: function(){
		$("#alert").remove();
		$("#overlay").remove();
		//$.alert._overlay('hide');
		$.alert._maintainPosition(false);
	},
		
		_reposition: function(){
		
			var top = (($(window).height() / 2) - ($("#alert").outerHeight() / 2)) + $.alert.verticalOffset;
			var left = (($(window).width() / 2) - ($("#alert").outerWidth() / 2)) + $.alert.horizontalOffset;
			if( top < 0 ) top = 0;
			if( left < 0 ) left = 0;
			
			// IE6 fix
			if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();
			$("#alert").css({
						top: top + 'px',
						left: left + 'px'
					});
					$("#overlay").height( $(document).height() );
				},
				
				_maintainPosition: function(status) {
							if( $.alert.repositionOnResize ) {
								switch(status) {
									case true:
										$(window).bind('resize', $.alert._reposition);
										//$(window).bind('scroll',$.alert._reposition);
									break;
									case false:
										$(window).unbind('resize', $.alert._reposition);
										//	$(window).unbind('scroll',$.alert._reposition);
									break;
								}
							}
						}
						
}


// Shortcut functions
jAlert = function($title,$message){
	$.alert._init($title,$message);
};


			

})(jQuery);
