
MooTools.NB.Custom.Winvideo = new Class({
	initialize: function()
	{
		this.body 	  = $$('body')[0];
		
		// create and add html
		this.mask     = new Element('div', {'class': 'winvideo_mask'});
		this.content  = new Element('div', {'class': 'winvideo_content'});
		this.flash    = new Element('div', {'id': 'winvideo_flash'});
		this.content.grab(this.flash);
		
		this.body.grab(this.mask);
		this.body.grab(this.content);
		
		// set styles
		this.setContentPosition(this.scrollY);
		this.setMaskHeight.bind(this).delay(500); // we hav to wait
		
		// add check scroll controll
		this.checkScroll.bind(this).periodical(100);
		
		// add on resize
		window.addEvent('resize', this.onResize.bind(this));
		
		// add click events (u sould not close the layer)
		//this.mask.addEvent('click',    this.close.bindWithEvent(this));
		this.mask.addEvent('click',    function(event) { event.stop(); });
		this.content.addEvent('click', function(event) { event.stop(); });
		
		// add flash if possible
		var params = {
			'wmode':   'transparent',
			'scale':   'noscale',
			'quality': 'high'
		};
		
		var flashVars = {
			'vidSrc': '/data/Content/Gewinnen/video.flv',
            'autoClose': true
		}

		swfobject.embedSWF('/inc/swf/videolayer.swf', 'winvideo_flash', '711', '500', '9.0.112', false, flashVars, params, {}, this.fallbackSWF.bind(this));
		
		// fade in
		this.show.bind(this).delay(500); // we hav to wait
	},
	
	setMaskHeight: function()
	{
		this.mask.setStyle('height', $('wrapper').getDimensions().y + 20);
	},
	getContentPosition: function(offsetY)
	{
		var left = parseInt(this.body.getDimensions().x / 2, 10) - parseInt(this.content.getDimensions().x / 2, 10);
		var top  = parseInt(this.body.getDimensions().y / 2, 10) - parseInt(this.content.getDimensions().y / 2, 10) + offsetY;
		
		return {'left': left, 'top': top};
	},
	setContentPosition: function(offsetY)
	{
		var pos = this.getContentPosition(offsetY);
		this.content.setStyle('left', pos.left);
		this.content.setStyle('top', pos.top);
	},
	tweenContentPosition: function(offsetY)
	{
		var pos = this.getContentPosition(offsetY);
		new Fx.Elements(this.content).start({
			'0': {
				'left': pos.left,
				'top': pos.top
			}
		});
	},
	checkScroll: function()
	{
		var y = 0;
		
		if (window.pageYOffset) {
			y = window.pageYOffset;
		} else if(document.body && document.body.scrollTop) {
			y = document.body.scrollTop;
		}
		
		if (this.scrollY != y) {
			this.scrollY = y;
			this.tweenContentPosition(this.scrollY);
		}

	},
	onResize: function()
	{
		this.tweenContentPosition(this.scrollY);
	},
	close: function(event)
	{
		event.stop();
		this.hide();
	},
	hide: function()
	{
		new Fx.Tween(this.mask, {onComplete: function() {
			this.element.setStyle('visibiliy', 'hidden');
			this.element.setStyle('display', 'none');
		}}).start('opacity', 0.9, 0);

		new Fx.Tween(this.content, {onComplete: function() {
			this.element.setStyle('visibiliy', 'hidden');
			this.element.setStyle('display', 'none');
		}}).start('opacity', 1, 0);
	},
	show: function()
	{
		this.mask.setStyle('opacity', 0);
		this.mask.tween('opacity', 0, 0.9);
		this.content.setStyle('opacity', 1);
	},
	fallbackSWF: function(response)
	{
		if (!response.success) {
			this.content.innerHTML+= ' Bitte aktualisieren Sie die Version Ihres Flashplayers. <a href="javascript:void(0);" onclick="WeisserRiese.VideoLayer.hide();">schliessen</a>';
		}
	}
	
	
});

window.addEvent('domready', function() {
	WeisserRiese = {}
	WeisserRiese.VideoLayer = new MooTools.NB.Custom.Winvideo();
});



