(function($){  
	$.fn.overlay = function(overlay_width, overlay_height, content_padding, border_padding, overlay_bg_styles, overlay_border_styles, overlay_close_styles, overlay_styles, corner_radius) {  
	    $("body").addClass("overlay");
	    $("body").prepend('<div id="overlay_holder" style="visibility:hidden;"><div id="overlay_bg"></div><div id="overlay_border"></div><div id="overlay"><a id="overlay_close" href="#">X</a><div class="content"></div></div>');
	  
	    
		var overlay_bg_opacity = 1; // 1 = 10%
		var overlay_border_opacity = 5; // 5 = 50%
		
		if(content_padding == null) { content_padding = 20; }
		if(border_padding == null) { border_padding = 15; }
		if(overlay_width == null) { overlay_width = 840; }
		if(overlay_height == null) { overlay_height = 420; }
		if(overlay_bg_styles == null) { overlay_bg_styles = ''; }
		if(overlay_border_styles == null) { overlay_border_styles = ''; }
		if(overlay_styles == null) { overlay_styles = ''; }
		if(overlay_close_styles == null) { overlay_close_styles = ''; }
		if(corner_radius == null) { corner_radius = 12; }
		
		// OVERLAY HOLDER
		var overlay_holder_stylesObj = {
			'position' : 'fixed', 
			'top' : '0',
			'left' : '0',
			'width' : '100%',
			'height' : '100%',
			'z-index' : '999999999'
		};
		$("#overlay_holder").css(overlay_holder_stylesObj);
		
		
		// OVERLAY BG
		var overlay_bg_stylesObj = {
			'position' : 'absolute', 
			'top' : '0',
			'left' : '0',
			'width' : '100%',
			'height' : '100%',
			'background' : '#000',
			'filter' : 'alpha(opacity=50)',
			'-moz-opacity' : '0.5',
			'opacity' : '0.5',
			'cursor' : 'pointer',
			'z-index' : '999999999'
		};
		overlay_bg_styles = $.extend(overlay_bg_stylesObj, overlay_bg_styles);
		$("#overlay_bg").css(overlay_bg_styles);
		//$(".firefox #overlay_bg").css("opacity", "." + overlay_bg_opacity);
		//$(".ie6 #overlay_bg").css("filter", "alpha(opacity=" + overlay_bg_opacity + "0)");
		//$(".ie7 #overlay_bg").css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + overlay_bg_opacity + "0)");
		
		
		// OVERLAY BORDER
		var overlay_border_stylesObj = {
			'position' : 'absolute',
			'top' : '50%', 
			'left' : '50%',
			'background' : '#000',
			'filter' : 'alpha(opacity=50)',
			'-moz-opacity' : '0.5',
			'opacity' : '0.5',
			'z-index' : '999999999'
		};
			
		overlay_border_styles = $.extend(overlay_border_stylesObj, overlay_border_styles);
		$("#overlay_border").css(overlay_border_styles);
		$("#overlay_border").css("width", overlay_width+(border_padding*2));
		$("#overlay_border").css("height", overlay_height+(border_padding*2));
		$("#overlay_border").css("margin", "-" + ((overlay_height+(border_padding*2))/2) + "px 0px 0px -" + ((overlay_width+(border_padding*2))/2) + "px");
		//$("#overlay_border").corners(corner_radius + "px");
		//$(".firefox #overlay_border").css("opacity", "." + overlay_border_opacity);
		//$(".ie6 #overlay_border").css("filter", "alpha(opacity=" + overlay_border_opacity + "0)");
		//$(".ie7 #overlay_border").css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + overlay_border_opacity + "0)");

		
		// OVERLAY 
		var overlay_stylesObj = {
			'position' : 'absolute',
			'top' : '50%',
			'left' : '50%',
			'background' : '#fff',
			'z-index' : '999999999'
		};
		
		overlay_styles = $.extend(overlay_stylesObj, overlay_styles);
		$("#overlay").css(overlay_styles);
		$("#overlay").css("width", overlay_width - content_padding*2);
		$("#overlay").css("height", overlay_height - content_padding*2);	
		$("#overlay").css("padding", content_padding+"px");
		$("#overlay").css("margin", "-" + (overlay_height/2) + "px 0px 0px -" + (overlay_width/2) + "px");	
		
		
		// OVERLAY CLOSE
		var overlay_close_stylesObj = {
			'position' : 'absolute',
			'padding' : '5px',
			'font-size' : '0.7em',
			'font-weight' : 'bold',
			'color' : '#fff',
			'text-decoration' : 'none',
			'text-align' : 'center',
			'background' : '#000',
			'z-index' : '999999999'
		};
		
		overlay_close_styles = $.extend(overlay_close_stylesObj, overlay_close_styles);
		$("#overlay_close").css(overlay_close_styles);
		var overlay_border_width = $("#overlay_border").width();
		var overlay_border_height = $("#overlay_border").height();
		var overlay_close_width = $("#overlay_close").width();
		var overlay_close_height = $("#overlay_close").height();
		//$(".firefox #overlay_close").css("opacity", "." + overlay_border_opacity);
		//$(".ie6 #overlay_close").css("filter", "alpha(opacity=" + overlay_border_opacity + "0)");
		//$(".ie7 #overlay_close").css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + overlay_border_opacity + "0)");
		
		$("#overlay_close").css("left", (overlay_border_width - border_padding) + "px");
		$("#overlay_close").css("top", "" + (overlay_border_height - border_padding) + "px");
		//$("#overlay_close").corners(corner_radius + "px");
		
		
	    $(".ie6 #overlay_bg").css({'height':document.body.offsetHeight});
	    $("#main object").css({'visibility':'hidden'});
	    $("#overlay_holder").css({"visibility":"visible"});
	    
	    $("#overlay_holder, #overlay_border, #overlay").hide();
	    
	    $("#overlay_holder").fadeIn("fast", function(){

	      $("#overlay_border, #overlay").fadeIn("fast", function(){ 
	        $("#overlay_bg, #overlay_close").click(function(){
	          $("#overlay_border, #overlay").fadeOut("fast", function(){
	            $("#overlay_bg").fadeOut("fast", function(){
	              $("#overlay_holder").remove();
	              $("body").removeClass("overlay");
	              $("#main object").css({'visibility':'visible'});
	            });
	          });
	          return false;
	        });
	      });
	    });
	    return false;


	};

})(jQuery);

