
	iona.overlay = (function(){
		var api = {};
		var initialized = false;
		var main_dom, backdrop_dom, main_dom_wrapper;
		var is_showing;
	
		var initialize = function(){
			var markup = ["",
			"	<div id='overlay-background'></div>",
			"	<div id='overlay-main'>",
			"		<div id='overlay-wrapper'>",
			"			<div id='overlay-content'></div>",
			"		</div>",
			"	</div>",
			""];
			$("body").append(markup.join(''));
			backdrop_dom = $("div#overlay-background");
			main_dom = $("div#overlay-content");
			main_dom_wrapper = $("div#overlay-main");
		
			//backdrop_dom.css("opacity", 0.85);
			
			$("div#overlay-wrapper").click(function(){
				return false;
			});
			
			/*main_dom_wrapper.click(function(){
				api.hide();
				return false;
			});*/

			initialized = true;
		};
	
		api.show = function(markup){
			is_showing = true;
			if(!initialized)
				initialize();

			window_resized();
			
			if(markup)
				main_dom.html(markup);

			// -- show elements:
			window.scrollTo(0,0);
			$("body").addClass("overlay-active");
		};
		
		api.set_markup = function(markup){
			main_dom.html(markup);
		};
		
		api.get_dom = function(){
			return main_dom;
		};
	
		api.hide = function(){
			is_showing = false;
			$("body").removeClass("overlay-active");
		};
	
		// -- Method to adjust sizes of wrapper elements:
		var window_resized = function(){
			var scroll_top = $(window).scrollTop();
			var window_height = $("body").height() + 300;

			main_dom_wrapper.css("height", window_height);
			backdrop_dom.css({"height":window_height});
		
			var offset = scroll_top + $(window).height()/5;
			main_dom_wrapper.find("div#overlay-wrapper").css("top", 0);
		};
	
		api.setWidth = function(width){
			$("div#overlay-wrapper").css("width", width);
		};

		initialize();
		return api;
	})();

