/*
 * Overlay
 *
 * Benötigt
 * jQuery 1.2.3
 * jQuery.dimensions 1.2
 * dimmer
 */

var overlayContainer = new Object();

overlayContainer.popupImageFadeTime = 300;

overlayContainer.containerElement;
overlayContainer.dimmer;

overlayContainer.isIE6 = false; // dynamic background resizing? only in ie...
overlayContainer.isIE6 = (jQuery.browser.msie && jQuery.browser.version < 7);


overlayContainer.init = function() {
	overlayContainer.containerElement = jQuery('#overlaycontainer');
	overlayContainer.dimmer = jQuery('#dimmer');
}

// positions the overlay in the center of the screen.
overlayContainer.positionOverlay = function() {
	// position image once it's loaded
	// ... 'fix' for Ie7 which calls load method without really loading the image...
	var height = (overlayContainer.containerElement.height() == 0) ? 580 : overlayContainer.containerElement.height();
	var width = (overlayContainer.containerElement.width() == 0) ? 600 : overlayContainer.containerElement.width();
			
/*
	var topPos = jQuery(document).scrollTop();
	var Hgap = (jQuery('html').innerHeight() - height) / 2;
	if (Hgap > 0) topPos += Hgap;
		
	var leftPos = jQuery(document).scrollLeft();
	var Vgap = (jQuery('html').innerWidth() - width) / 2;
	if (Vgap > 0) leftPos += Vgap;
*/
	
	var topPos = jQuery(document).scrollTop();
	var Hgap = (jQuery(window).height() - height) / 2;
	if (Hgap > 0) topPos += Hgap;
		
	var leftPos = jQuery(document).scrollLeft();
	var Vgap = (jQuery(window).width() - width) / 2;
	if (Vgap > 0) leftPos += Vgap;
	
	overlayContainer.containerElement.css({left:leftPos+'px',top:topPos+'px'});
}

// shows the overlay
// dims the background
// returns: true if all worked like expected...
overlayContainer.toggle = function(sourceContainerId)
{   
	if (overlayContainer.isIE6) {
		return false;
		}

	// check for visibility
	if (jQuery('#dimmer:visible').length == 0) {

		// change content
		var overlayContent = jQuery('#'+sourceContainerId);
		overlayContainer.containerElement.html(overlayContent.html());
		overlayContainer.positionOverlay();
		
		// add event handler
		overlayContainer.dimmer.bind('click', function(){overlayContainer.toggle('')});
		
		// fade in
		bgDimmer.show();
		overlayContainer.containerElement.fadeIn(this.popupImageFadeTime);

	} else {
        // remove event handler!
        overlayContainer.dimmer.unbind('click');
        
		// fade out
		bgDimmer.hide();
		overlayContainer.containerElement.fadeOut(overlayContainer.popupImageFadeTime);
	}
	
	return true;
}



// on load init
jQuery(function(){
	if (jQuery('#overlaycontainer').length == 0 && !overlayContainer.isIE6) {
		// create dimmer div
		jQuery('body').append('<div id="overlaycontainer"></div>');
		overlayContainer.init();
	}
});
