$.fn.extend({
	batman : function() {
		$(".popupContent").hide();
		var batman = $('<div id="ui-screen-overlay"></div>').css({
			height: $(document).height() +"px"
		}).hide().appendTo("body");
		
		var messageBox = $('<div id="ui-screen-overlay-message-wrapper"><div id="ui-screen-overlay-message"><a href="#" id="ui-screen-overlay-close">Close</a><div class="ui-messageBox-top"></div><div class="ui-messageBox-content">Content</div><div class="ui-messageBox-bottom"></div></div></div>').insertAfter(batman);
		var allContent = $("#ui-screen-overlay, #ui-screen-overlay-message");
		allContent.hide();
		// Set up the message box 	
		var closeBox = $("#ui-screen-overlay-close");
		closeBox.click(function() {
			allContent.css({display: "none"});
			$("select").css({visibility: "visible"});
			return false;
		});
		batman.click(function() {
			
		});
		return this.each(function() {
			options = {};
			return $.BatMan(this, options);
		});
	}
});

$.BatMan = function(elem, options) {
	var elem = $(elem);
	var batman = $("#ui-screen-overlay");
	var contentBox = $("#ui-screen-overlay-message .ui-messageBox-content");
	var allContent = $("#ui-screen-overlay, #ui-screen-overlay-message");
	
	elem.click(function() {
		showOrHide = batman.css("display") == "none" ? "show" : "hide";
		if (showOrHide = "show") {
			show();
			var content = getContent();
			populateContent(content);
		} else {
			hide();
		}
		return false;
	});
	
	function getContent() {
		var link = elem.attr("href");
		var linkCheck = /^#.*/; // Is this an internal page link?
		if (linkCheck.test(link)) {
			// get the content (already has the hash)
			var content = $(link).html();
			return content;
		}
		return false;
		// TODO: If it is an external link, use ajax;
	}
	
	function populateContent(content) {
		contentBox.html(content);
	}
	
	function show() {
		$("#ui-screen-overlay-message").css({top: $(document).scrollTop() + 24 +"px" });
		if ($.browser.msie && parseInt($.browser.version,10) < 7) {
			$("select").css({visibility: "hidden"});
		}
		allContent.css({display: "block"});
	}
	
	function hide() {
		if ($.browser.msie && parseInt($.browser.version,10) < 7) {
			$("select").css({visibility: "visible"});
		}
		allContent.css({display: "none"});
	}
}
