/** 
 * @projectDescription simple overlay script
 * @author Luke Cuthbertson
 * @version 1.1
 */
(function(){

	$.overlay = function(callback){
	
		var iframe;
		var overlay;
		
	    function build(){
	    
           mask = $('<div id="overlayMask"><div></div></div>').appendTo(document.body);
	       iframe = $('<iframe class="overlayWindow"></iframe>').appendTo(document.body);
	       overlay = $('<div id="overlay" class="overlayWindow" style="display: none;">\
							<div id="overlayInner">\
								<div id="overlayClose"><a href="#"></a></div>\
								<div id="overlayTop">\
									<div id="overlayContent"><img src="./img/icons/ajax-loader3.gif" style="margin-top: 27%; margin-left: 49%" /></div>\
								</div>\
								<div id="overlayBottom"></div>\
							</div>\
						</div>').appendTo(document.body);
	        
			var contentDiv = $('#overlayContent').keypress(function(e){
				if(e.keyCode == 27){
					close();
				};
			});
			
			var pos = {
	            top: Math.max(0, $(window).scrollTop() + ($(window).height() - $('#overlay').height()) / 2),
				left: Math.max(0, $(window).scrollLeft() + ($(window).width() - $('#overlay').width()) / 2)
	        };
	        
			mask.css({
				opacity: 0.5,
				height: $(document).height(),
				width: $(document).width()
			})
			iframe.css(pos).css('opacity', 0);
			overlay.css(pos);
			
			overlay.fadeIn(500, function(){
				if (callback) {
					callback(contentDiv);
				};
				iframe.css('height', $(this).height());
			});
			
	        $('#overlayClose a').click(function(e){
	            e.preventDefault();
	            close();
	        });
			
			overlay.click(function(e){
				e.stopPropagation();
			});
			
			return contentDiv;
	    };
	    
	    function close(){
			$('#overlayContent').trigger('overlay.close');
	        iframe.remove();
			overlay.remove();
			mask.remove();
			$(document).unbind('click', close);
	    };
		
		return build();
	    
	};

})(jQuery);
