function initOverlay(trgSelector, overlayCssClass)
{
	var trg = jQuery(trgSelector);
	trg.click(function()
				{
					var trg = jQuery(this);
					jQuery
						.ajax({
								url: trg.attr('href'),
								type: 'GET',
								contentType: 'html',
								//cache: false,
								success: function(respHTML)
											{
												createOverlay(respHTML, trg, overlayCssClass);
											}
							});
					return false;
				})
}

function createOverlay(htmlContent, trg, cssClass)
{
	jQuery('#overlay').remove();
	
	var overlay = jQuery('<div id="overlay" class="' + cssClass + '"></div>');
	overlay
		.css({
				visibility: 'hidden'
			})
		.appendTo('body')
		.html(htmlContent);
		
	overlay.find('#overlayContent')
		.jScrollPane({
						scrollbarWidth : 10,
						scrollbarMargin : 5,
						wheelSpeed : 18,
						showArrows : true,
						arrowSize : 0,
						animateTo : false,
						dragMinHeight : 7,
						dragMaxHeight : 7,
						animateInterval : 100,
						animateStep: 3,
						maintainPosition: true,
						scrollbarOnLeft: false,
						reinitialiseOnImageLoad: false
					});
					
	hideOverlayRelatedItems();
					
	overlay.css({
					opacity: 0.1,
					visibility: 'visible',
					left:  trg.offset().left + 'px',
					top: trg.offset().top + 'px'
				})
			.fadeTo(300, 1)
	
	var overlayCloseBtn = jQuery('<a id="overlayCloseBtn" rel="' + overlay.attr('id') + '" href="#" title="Close">[X]</a>');
	overlayCloseBtn
		.click(function()
				{
					var btn = jQuery(this);
					closeOverlay('#' + btn.attr('rel'));
					showOverlayRelatedItems();
					return false;
				})
		.appendTo(overlay);
}

function closeOverlay(overlayId)
{
	jQuery(overlayId).fadeOut(100, function(){jQuery(this).remove()});
}

function hideOverlayRelatedItems()
{
	if(jQuery.browser.msie)
		jQuery('select').css('visibility', 'hidden');
}

function showOverlayRelatedItems()
{
	if(jQuery.browser.msie)
		jQuery('select').css('visibility', 'visible');
}

