(function($) {

$.loader = {

	verticalOffset: -75,
	horizontalOffset: 0,
	repositionOnResize: true,
	overlayOpacity: .70,  
	overlayColor: '#000',
	title: '',
	message: '',
	
	//public methods
	
	
	_init: function(){
		
		
		$.loader._show();
	},
	
	// private methods
	
	
	
	_show: function(){
	
		
$('BODY').append('<div id="overlay"></div>');
$("BODY").append('<div id="loader"><img src="/images/ajax-loader.gif" width="36" height="36" /></div>');	
	$('#overlay').css({
		position: 'absolute',
		zIndex: 99998,
		top: '0px',
		left: '0px',
		width: '100%',
		height: $(document).height(),
		background: $.loader.overlayColor,
		opacity: $.loader.overlayOpacity
	})
	
	

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


// Shortcut functions
jLoader = function(){
	$.loader._init();
};


			

})(jQuery);
