var Semto_Blackout = 
{
	factory: function()
	{
		/* Set the global variables */
		Semto_Blackout.VideoContainer 	= $('embed-code');
		Semto_Blackout.Body 			= document.getElementsByTagName('body')[0];
		Semto_Blackout.Player 			= document.getElementsByClassName('content')[0].down('center').down('embed');
		
		/* Begin */
		Semto_Blackout.init();
	},
	
	init: function()
	{
		/* Initiate */
		
		if (!$('BlackoutAnchor'))
		{
			return;
		}
		
		$('BlackoutAnchor').onclick = function()
		{
			this.disable();
			Semto_Blackout.start();
		}
	},
	
	start: function()
	{
		/* Make it work with Captain Ad */
		var pCaptainAd = $('cid__0');
		
		if (pCaptainAd)
		{
			var pStyles = 
			{
				zIndex: 1,
				position: 'relative'
			}
			
			pCaptainAd.setStyle(pStyles);
		}
		
		/* Begin */
		Semto_Blackout.makeOverlayBackground();
	},
	
	makeOverlayBackground: function()
	{
		var pBackground = document.createElement('div');
		pBackground.setAttribute('id', 'Blackout');
		
		var pStyles =
		{
			background: '#2c2c2c',
			width: 		'100%',
			height: 	Semto_Blackout.Body.getHeight() + 'px',
			position:	'absolute',
			top:		0,
			left:		0
		}
		
		Semto_Blackout.Body.appendChild(pBackground);
		Semto_Blackout.Background = $('Blackout');
		Semto_Blackout.Background.setOpacity(0);
		Semto_Blackout.Background.setStyle(pStyles);
		
		var pOptions =
		{
			duration: 		3.0,
			from: 			0,
			to: 			0.95,
			afterFinish: 	function()
			{
				Semto_Blackout.makeMessageContainer();
				Semto_Blackout.setEmbedVideoBorder();
			}
		}
		
		Semto_Blackout.Background.fade(pOptions);
		Semto_Blackout.setObjectToCloseInitiator(Semto_Blackout.Background);
	},
	
	makeMessageContainer: function()
	{
		var pMessage = document.createElement('div');
		pMessage.setAttribute('id', 'Message');
		
		var pOffset = Semto_Blackout.getPlayerOffset();
		var pStyles =
		{
			background: '#2d2d2d',
			color:		'white',
			padding:	'10px 0 5px 0',
			textAlign:	'center',
			fontFamily:	'Georgia',
			fontSize:	'11px',
			width: 		($('embed-code').getWidth() + 20) + 'px',
			height: 	'30px',
			position:	'absolute',
			cursor:		'pointer',
			top:		(+pOffset.top - 40) + 'px',
			left: 		(+pOffset.left - 10) + 'px'
		}
		
		Semto_Blackout.Body.appendChild(pMessage);
		Semto_Blackout.Message = $('Message');
		Semto_Blackout.Message.setStyle(pStyles);
		Semto_Blackout.Message.update("<strong>The lights have been turned down. It's almost like being at the cinema!</strong><br />To switch the lights back on, please click here.");
		
		Semto_Blackout.setObjectToCloseInitiator(Semto_Blackout.Message);
	},
	
	getPlayerOffset: function()
	{
		return Semto_Blackout.VideoContainer.cumulativeOffset();
	},
	
	setEmbedVideoBorder: function()
	{
		Semto_Blackout.VideoContainer.setStyle({ border: '10px solid #2d2d2d' });
	},
	
	setNoEmbedVideoBorder: function()
	{
		Semto_Blackout.VideoContainer.setStyle({ border: '0' });
	},
	
	setMessageLeftPosition: function()
	{
		if (!Semto_Blackout.Message)
		{
			return;
		}
		
		var pOffset = Semto_Blackout.getPlayerOffset();
		var pStyles = 
		{
			left: (pOffset.left) + 'px'
		}
		
		Semto_Blackout.Message.setStyle(pStyles);
	},
	
	setObjectToCloseInitiator: function(pObject)
	{
		pObject.onclick = function()
		{
			Semto_Blackout.setBlackoutToOff();
		}
	},
	
	setBlackoutToOff: function()
	{
		Semto_Blackout.setNoEmbedVideoBorder();
		Semto_Blackout.Message.remove();
		
		var pOptions =
		{
			duration: 		3.0,
			from: 			0.95,
			to: 			0,
			afterFinish:	function()
			{
				$('BlackoutAnchor').enable();
				Semto_Blackout.Background.remove();	
			}
		}
		
		Semto_Blackout.Background.fade(pOptions);
	}
}

Event.observe(window, 'load', Semto_Blackout.factory);
Event.observe(window, 'resize', Semto_Blackout.setMessageLeftPosition);