(function($){
				$.jqModal = function(options) {
					opts = $.extend({}, $.jqModal.defaults, options);
					if(opts.contentType == 'image')
					{
						opts.containerClass = 'modal_image';
						if($('#lightboxOverlay').length == 0)
							$.jqModal.open();
						else
							$.jqModal.clean();
					}else{
						if($('#modalOverlay').length == 0)
							$.jqModal.open();
						else
							$.jqModal.clean();
					}
					
				};
				
				$.jqModal.open = function() {
					if(opts.contentType == 'image')
					{
						var typeName = 'lightbox';
						var zIndex = 101;
					}else{
						var typeName = 'modal';
						var zIndex = 100;
					}
					$('	<div id="' + typeName + 'Overlay" style="display:none;"></div>' +
						'<div id="' + typeName + 'Container" class="' + 
						opts.containerClass + '" style="display:none;"><a href="" class="closeModal">' + opts.closeText + '</a>' + 
						opts.content + '</div>').appendTo(document.body).css('z-index', zIndex);
					
					if(opts.contentType == 'image')
					{
						$('#lightboxContainer img').css({opacity:0});
						$('#lightboxContainer .closeModal').appendTo('#lightboxContainer');
						$('#lightboxContainer img').load(function(){
							$(this).animate({opacity:1.0},1000);
						});
					}
					
					$('#' + typeName + 'Overlay').css({opacity:0.8}).fadeIn('normal', function() {
						$('#' + typeName + 'Container').jqCenter({namespace:'.modal',dimensions:'both',animation:'none'}).fadeIn('normal', function(){
								$('#' + typeName + 'Container .' + opts.closeClass).click( function(e) {
									e.preventDefault();
									$.jqModal.close(typeName);
								});
								if($.isFunction(opts.callback))
								{
									opts.callback();
								}
						});
					});
				}
				
				$.jqModal.close = function(closeWhat) {
					if(closeWhat == 'lightbox')
					{
						$('#lightboxContainer').fadeOut('fast', function() {
							$('#lightboxOverlay').fadeOut('fast', function() {
								$.jqModal.clean(closeWhat);
							});
						});
					}else{
						$('#modalContainer').fadeOut('fast', function() {
							$('#modalOverlay').fadeOut('fast', function() {
								$.jqModal.clean(closeWhat);
							});
						});
					}
				}
				
				$.jqModal.clean = function(cleanWhat) {
					if(cleanWhat == 'lightbox')
					{
						$('#lightboxContainer *').unbind();
						$('#lightboxOverlay, #lightboxContainer').unbind().remove();
					}else{
						$('#modalContainer *').unbind();
						$('#modalOverlay, #modalContainer').unbind().remove();
					}
				}
				
				$.jqModal.defaults = {
					contentType : 'data',
					content : '',
					containerClass : 'modal_about',
					closeClass : 'closeModal',
					callback : null,
					closeText : 'Tillbaka'
				}
			})(jQuery);