(function($) {

	$.nvsOverlay= { 
		show : function (options) { 
		// default settings	
			var defaults = {
				background: 'black',
				speed: 1500,
				transparancy: '0.7',
				callback: false
			};	
			options = $.extend(defaults, options);
			
			$('embed, object, select').css({ 'visibility' : 'hidden' });
			
		//add overlay to the DOM	
			$('<div></div>').attr({
							id: 'nvs_overlay' 
							})
						.css({
							position: 'absolute',
							top: $(document).scrollTop(),
							left: 0,
							height: $(window).height() ,
							width: '100%',
							zIndex: '10',
							opacity: '0',
							background: options.background
							})
						.appendTo('body')
						.fadeTo(options.speed, options.transparancy, options.callback);
	
		// resize, reposition the overlay when window resizes or scrolls
			$(window).bind('resize', this.overlayResize);
			$(window).bind('scroll', this.overlayScroll);
		},
			
		hide :	function () { 
			$(window).unbind('resize', this.overlayResize);
			$(window).unbind('scroll', this.overlayScroll);
			if($('#nvs_overlay')){
				$('#nvs_overlay').fadeTo('slow', 0, function () { $('#nvs_overlay').remove() });
			}
			$('embed, object, select').css({ 'visibility' : 'visible' });
		},
		
		overlayResize : function() {
			$('#nvs_overlay').css({ width: 0, height: 0 });
			$('#nvs_overlay').css({	width: '100%', height: $(window).height() });
		},
			
		overlayScroll : function () { 
			$('#nvs_overlay').css({	top: $(document).scrollTop() });
		}
			
	}
	
})(jQuery);