(function($){

	$.flexOverlay = function(innerContent) {
		var $content;
		
		function build() {
			if($.browser.msie && $.browser.version < 7) {
				$(document.body).append('<iframe class="overlayWrapper"></iframe>');
			}
			$(document.body).append('<div id="overlayWrapper"><div class="overlayMask"><div class="overlayWindow"><div class="contentWrapper"><div class="contentWrapperHead"><div class="contentWrapperHeadInner"><a href="#" class="close"><span>Close</span></a></div></div><div class="contentWrapperFoot"><div class="contentWrapperFootInner"></div></div></div></div></div></div>');
			
			$('.overlayMask, #overlayWrapper').css({height:$(document.body).height(),width:$(window).width()});

			$content = $('.contentWrapperHeadInner').bind('overlay.close',function(){close(true);});
			$('.contentWrapperHeadInner a.close').click(function(e){e.preventDefault();close();return false;});
			$('.contentWrapperHeadInner').click(function(e){e.stopPropagation();})
				.append(innerContent.show())
				.addClass('loading');
			var iframeParent;
			
			$('.overlayMask').click(function(e){close();return false;});
			var top = $(window).scrollTop() + 170;
			$('.overlayWindow').css({
				top:top+'px',
				left: ($(window).width()/2)-(innerContent.outerWidth()/2),
				width: innerContent.outerWidth() + (($('.contentWrapperHeadInner').outerWidth() - $('.contentWrapperHeadInner').width())*2) 
			});
			$('body').addClass('extOverlay'); 
			return $content;
		}
		
		function close(supress) { 
			innerContent.find('iframe').unbind();
			if(!supress) {$content.trigger('overlay.closed');}
			$('body').append(innerContent.hide());
			$('#overlayWrapper, .overlayWindow').remove();
			$('body').removeClass('extOverlay');
		}
		
		return build();
	}
	
})(jQuery);
