
Site = {
	
	elements: {},
	
	init: function()
	{
	
		new SmoothScroll();
		
		// Site.initCounter();
		
		Site.initPressButtons();
		Site.initFadeButtons();
		
	},
	
	initFadeButtons: function()
	{
		
		var buttonContainers = $$( '.fadeButtons' );
		
		$$( '.fadeButtons a' ).each( Site.initFadeButton );
		
		buttonContainers.each( function( container ) { container.removeClass( 'fadeButtons' ); } );
		
	},
	
	initFadeButton: function( el )
	{
		
		var elSize = el.getSize().size;
		
		var hoverEl = new Element( 'span' )
			.addClass( 'hover' )
			.setStyles( { position: 'absolute', width: elSize.x + 'px', height: elSize.y + 'px', display: 'block' } )
			.injectBefore( el.getFirst() )
			.setOpacity( 0 );
		
		var fadeEffect = hoverEl.effect( 'opacity', { duration: 150, wait: false, transition: Fx.Transitions.linear } );
		
		el.addEvent( 'mouseover', function() {
			
			fadeEffect.start( 1 );
			
		} );
		
		el.addEvent( 'mouseout', function() {
			
			fadeEffect.start( 0 );
			
		} );
			
		
	},
	
	initPressButtons: function()
	{
		
		var buttonContainers = $$( '.pressButtons' );
		
		$$( '.pressButtons a' ).each( Site.initPressButton );
		
		buttonContainers.each( function( container ) { container.removeClass( 'pressButtons' ); } );
		
	},
	
	initPressButton: function( el )
	{
		
		var elSize = el.getSize().size;
		
		var pressedEl = new Element( 'span' )
			.addClass( 'pressed' )
			.setStyles( { position: 'absolute', width: elSize.x + 'px', height: elSize.y + 'px', display: 'block' } )
			.injectBefore( el.getFirst() )
			.setOpacity( 0.01 );
		
		var pressEffect = pressedEl.effect( 'opacity', { duration: 150, wait: false, transition: Fx.Transitions.linear } );
		
		el.addEvent( 'click', function() {
			pressEffect.set( 1 );
			
			(function() {
				pressEffect.start( 0.01 )
			}).delay( 350 );
			
		} );
			
		
	},
	
	initCounter: function()
	{
		
		var container = new Element( 'div' )
			.injectInside( $('contentArea') )
			.setStyles( { position: 'absolute', top: '18px', 'margin-left': '650px', color: 'white', 'font-weight': 'bold' } );
		
		var daysEl = new Element( 'div' )
			.injectInside( container )
			.setStyles( { position: 'absolute', 'margin-left': '116px' } );
		
		var hoursEl = new Element( 'div' )
			.injectInside( container )
			.setStyles( { position: 'absolute', 'margin-left': '158px' } );
		
		var minsEl = new Element( 'div' )
			.injectInside( container )
			.setStyles( { position: 'absolute', 'margin-left': '220px' } );
		
		var updateFn = function()
		{
			var now = new Date();
			var launch = new Date( 2007, 3, 20, 9 );
			
			var mins = { inMins: 1 };
			var hours = { inMins: mins.inMins * 60 };
			var days = { inMins: hours.inMins * 24 };
			
			
			mins.total = Math.round( 
				( launch.getTime() / 1000 / 60 ) -
				( now.getTime()    / 1000 / 60 )
			);
			
			days.totalInMins = mins.total - ( mins.total % days.inMins );
			days.actual = days.totalInMins / days.inMins;
			
			hours.totalInMins = ( mins.total - days.totalInMins );
			hours.totalInMins = hours.totalInMins - ( hours.totalInMins % hours.inMins );
			hours.actual = hours.totalInMins / hours.inMins;
			
			mins.actual = mins.total - days.totalInMins - hours.totalInMins;
			
			daysEl.setHTML( days.actual );
			hoursEl.setHTML( hours.actual );
			minsEl.setHTML( mins.actual );
			
		}
		
		updateFn();
		
		updateFn.periodical( 60000 );
		
	}
	
}

window.addEvent( 'domready', Site.init );

