
	/*
	JS
	--------------------------------------------------------------------------------------------
	@site			sho.com/site
	@project		970
	@package		movies
	@file			MoviesPage.js
	@author			dpaul
	@author			ncavanagh
	@modified		10.02.09	
	@desc			Sets up features glider and tabbed content for /movies.do
	@depend			prototype, scriptaculous, glider
	
	/* =:MoviesPage
	--------------------------------------------------------------------------------------------*/
	ns('sho.movies');
	sho.movies.MoviesPage = function()
	{	 
		var _glider;
		var _atoz;
		var _airingCnt;
		var AIRINGS_URL = '/site/schedules/product-airings-json.do';
		
		var featuredMovies;
		
		function init()
		{ 
			//if (!$('featured-movies') || !$('all-movies')) return;
			//initGlider();
			initAToZList();
			//initInfoBox();
			getNextAiringForQuotes();
			getFeaturedMovies();
		}
		
		function getFeaturedMovies()
		{	
			if (!$('featured-movies')) return;
			featuredMovies = $('featured-movies');
			
			var modules = $w(featuredMovies.className);
			modules = modules.without('mod'); 

			var idx = Math.floor( Math.random() * modules.length );
			$(modules[idx]).show();  
			featuredMovies.show();
		}
		
		function initGlider()
		{	
			_glider = new sho.components.Glider($('featured-movies'), {
				duration:0.3,
				autoGlide: false,
				classNames:{
					tabs:{ on:'tab-on', off:'tab' },
					section: 'section'
				}
			});
		}
		
		function initAToZList()
		{	
			if (!$('all-movies')) return;
			_atoz = new sho.movies.AToZList($('all-movies'));
		}
		
		function initInfoBox()
		{
			sho.movies.InfoBox.init({
				duration:0.3,
				classNames: {
					set: '.movie-set',
					container:'.c8.primary'
				}
			});
		}
		
		function getNextAiringForQuotes()
		{
			_airingCnt = $$('#movie-quotes .airing')[0];
			var q = $$('#movie-quotes a'); if(q.length)
			{
				_airingCnt.update('Loading...');
				_airingCnt.addClassName('loading');
				
				var params = q[0].href.split('?')[1];
				var req = new Ajax.Request( AIRINGS_URL +'?'+ params, {
					onSuccess:onAiringReady,
					onFailure:function(){
						log('a connection error has occured');
					}
				});
			}
		}
		
		function onAiringReady(r)
		{
			var data = r.responseText.evalJSON() || []; 
			if(data.length > 1 && data[0].channelName !== 'null')
			{
				_airingCnt.removeClassName('loading');
				_airingCnt.update([
					'<b>Next Airing:</b><br />',
					data[0].channelName,
					data[0].airDate,
					data[0].airTime
				].join(' '));
			}
		}
		
		/* =:Reveal as Public
		----------------------------------------------------------------------------------------*/   
		return {
			init:init
		}
	
	}();
	
	// Add to onload stack
	document.observe("dom:loaded", sho.movies.MoviesPage.init );	