/*
<script>
	overlay.show('#divfürvideo', {center:true; color:, opacity:});
</script>
*/
var overlay = {
	show: function (selector, opt ){
		overlay.hide();
		overlay.active = true;

		opt = opt?opt:{};
		overlay.opt.onclose 	= opt.onclose?opt.onclose:function(){};
		overlay.opt.absolutize 	= opt.absolutize?true:false;
		overlay.elements = $$(selector);

		$('overlay').onclick = function(){ overlay.hide(); }

		overlay.elements.each(function(el){
			el.oldCssText = el.style.cssText;

			if(overlay.opt.absolutize){
				el.platzHalter = el.clone(true);
				el.platzHalter.style.display = 'none';
				el.platzHalter.id = '';

				el.platzHalter.style.clear	= el.getStyle('clear');

				if( el.getStyle('float') ){
					el.platzHalter.setStyle('float', el.getStyle('float'))
				} else {
					el.platzHalter.style.styleFloat = el.getStyle('styleFloat');
				}

				el.platzHalter.style.margin = el.getStyle('margin');
				el.platzHalter.style.borderWidth = '0px';
				el.platzHalter.style.padding = '0px';
				el.platzHalter.style.height = el.offsetHeight
												+'px';
				el.platzHalter.style.width = el.offsetWidth
												+'px';
				el.platzHalter.injectBefore(el);
				
				el.style.top 		= el.getTop()
										-el.getStyle('margin-top').toInt()
										+'px';
				el.style.left 		= el.getLeft()
										-el.getStyle('margin-left').toInt()
										+'px';
				el.style.height 	= el.offsetHeight
										-el.getStyle('border-top-width').toInt()
										-el.getStyle('border-bottom-width').toInt()
										-el.getStyle('padding-top').toInt()
										-el.getStyle('padding-bottom').toInt()
										+'px';
				el.style.width 		= el.offsetWidth
										-el.getStyle('border-left-width').toInt()
										-el.getStyle('border-right-width').toInt()
										-el.getStyle('padding-left').toInt()
										-el.getStyle('padding-right').toInt()
										+'px';
	
				if( !el.getStyle('background-color') || el.getStyle('background-color')=='transparent' ){
					el.style.backgroundColor = '#fff';
				}
	
				el.style.position		= 'absolute';
	
				el.injectInside(document.body);
				el.platzHalter.style.display = '';
			}
			el.style.visibility 	= 'visible';
			el.style.display 		= 'block';
			el.style.zIndex		= 2005;

			if(opt.center){
				center(el, opt.center);
				onScrollCenterElement = overlay.el;
			}

		})

		var height = window.getScrollHeight()+'px';
		$('overlay').style.backgroundColor = opt.color?opt.color:'#000';
		$('overlay').setOpacity(opt.opacity?opt.opacity:0.5);
		$('overlay').style.display = 'block';
		$('overlay').style.height = height;
		if(window.ie6){
			$('overlay_iframe').setOpacity(0.001) // ie6
			$('overlay_iframe').style.display = 'block';
			$('overlay_iframe').style.height = height;
		}

	},
	hide: function(){
		if( overlay.active ){
			overlay.opt.onclose();
			overlay.elements.each(function(el){
				el.style.cssText = el.oldCssText;

				if(overlay.opt.absolutize){
					el.platzHalter.replaceWith(el);
				}
			})
			onScrollCenterElement = false;
			overlay.elements = [];
			overlay.opt = {};
			$('overlay').style.display = 'none';
			if(window.ie6){
				$('overlay_iframe').style.display = 'none';
			}
			overlay.active = false;
		}
	},
	opt:{},
	active:false
}

document.write(
'<div id="overlay" 			style="z-index:2001; display:none; position:absolute; top:0px; left:0px; width:100%; background-color:black;" ></div>'+
'<iframe id="overlay_iframe" style="z-index:2000; display:none; position:absolute; top:0px; left:0px; width:100%" ></iframe>'
);

document.addEvent('keypress', function(ev){
	if( ev.keyCode == 27 ){ overlay.hide(); }
})
function center(el, what){
	var el = $(el);
	what = what=='x'?'x':what=='y'?'y':false;
	el.style.position 	= 'absolute';
	if(!what || what == 'y'){
		el.style.top  		= window.getScrollTop()	+(window.getHeight()/2 - el.offsetHeight/2).toInt()+'px';
	}
	if(!what || what == 'x'){
		el.style.left 		= window.getScrollLeft()	+(window.getWidth()/2 - el.offsetWidth/2).toInt()+'px';
	}
}
var onScrollCenterElement = false
window.addEvent('scroll', function(){ if( onScrollCenterElement ) center(onScrollCenterElement); } )
window.addEvent('resize', function(){ if( onScrollCenterElement ) center(onScrollCenterElement); } )

