var Site = new Class (
{
	initialize: function(browser)
	{		
		window.addEvent
		(
			'domready', 
			function() 
			{	
				this.setNav1();
				this.setNav2();
				var navlist = $('navlist');
				navlist.setStyle('display', 'block');
				if(browser == 'MSIE6')
				{
					this.setVideosOthers();
					this.setPrograms();
					this.setVideos();
				}
				//this.setNav3();
				//this.setVideosBackground();
			}.bind(this)
		);
	},
	
	setNav1: function(nav)
	{
		var nav = $('nav1');
		//this.setAlpha(nav, 0);
		if(nav != null) this.setNavSlideEvents(nav);
		
		/*
		var ul = nav.getElement('ul');
		
		$each
		(	
			ul.getElements('li'),
			function(li, index)
			{
				li.addEvent
				(
					'click',
					function(e)
					{
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
		*/
		
		//nav.fade('in');
	},
	
	setNav2: function()
	{
		var nav = $('nav2');
		//this.setAlpha(nav, 0);
		if(nav != null) this.setNavSlideEvents(nav);

		/*
		var ul = nav.getElement('ul');

		$each
		(	
			ul.getElements('li'),
			function(li, index)
			{
				li.addEvent
				(
					'click',
					function(e)
					{
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
		*/

		//nav.fade('in');
	},

	setNav3: function()
	{
		var nav = $('nav3');
		//this.setAlpha(nav, 0);
		if(nav != null) this.setNavSlideEvents(nav);

		/*
		var ul = nav.getElement('ul');

		$each
		(	
			ul.getElements('li'),
			function(li, index)
			{
				li.addEvent
				(
					'click',
					function(e)
					{
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
		*/

		//nav.fade('in');
	},
	
	setNavSlideEvents: function(element)
	{
		var ul = element.getElement('ul');
		
		if(ul != null)
		{
			var fx = new Fx.Slide
			(	
				ul, 
				{
					fps: 50,
					duration: 500,
					transition: 'quint:in:out',
					link: 'cancel'
				}
			);

			fx.hide();

			element.addEvent
			(
				'mouseenter', 
				function(e)
				{
					e.stop();
					this.slideIn();
				}.bind(fx)
			);

			element.addEvent
			(
				'mouseleave', 
				function(e)
				{
					this.slideOut();
				}.bind(fx)
			);
		}
	},
	
	setVideosBackground: function()
	{
		var backgrounds = $$('.video_info_background');
		
		$each
		(	
			backgrounds,
			function(background, index)
			{
				//this.setAlpha(background, .4);
			},
			this
		);
	},
	
	setAlpha: function(element, alpha)
	{
		element.setStyle('opacity', alpha);
	},
	
	getVideos: function(obj)
	{
		new Videos();
	},
	
	setVideosOthers: function()
	{
		var divs = $$('.video_info_wrapper .video_thumb');
		$each
		(	
			divs,
			function(div, index)
			{
				div.addEvent
				(
					'mouseover',
					function(e)
					{
						var more_info = div.getChildren('.more_info');
						more_info.setStyle('display', 'block');
						e.stop();
		        	}.bind(this)
				),
				div.addEvent
				(
					'mouseout',
					function(e)
					{
						var more_info = div.getChildren('.more_info');
						more_info.setStyle('display', 'none');
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
	},
	
	setPrograms: function()
	{
		var divs = $$('.logo');
		$each
		(	
			divs,
			function(div, index)
			{
				div.addEvent
				(
					'mouseover',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'block');
						e.stop();
		        	}.bind(this)
				),
				div.addEvent
				(
					'mouseout',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'none');
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
	},
	
	setVideos: function()
	{
		var divs = $$('.video');
		$each
		(	
			divs,
			function(div, index)
			{
				div.addEvent
				(
					'mouseover',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'block');
						e.stop();
		        	}.bind(this)
				),
				div.addEvent
				(
					'mouseout',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'none');
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
	}
}
);

var Videos = new Class (
{
	rank:null,
	maxvideos:null,
	data: null,
	div_videos_id: null,
	folder: null,
	type: null,
	order: null,
	program_id: null,
	video_yt_id: null,
	browser:null,
	
	initialize: function(obj)
	{		
		window.addEvent
		(
			'domready', 
			function() 
			{	
				rank = obj.rank;
				maxvideos = obj.maxvideos;
				div_videos_id = obj.div_videos_id;
				folder= obj.folder;
				type = obj.type;
				order = obj.order;
				program_id = obj.program_id;
				video_yt_id = obj.video_yt_id;
				browser = obj.browser;
				this.load();
			}.bind(this)
		);
	},
	
	load: function()
	{	
		var url = 'videos_json.php?min='+rank*maxvideos+'&maxvideos='+maxvideos+'&type='+type;
		if(order != null) url += '&o='+order;
		if(program_id != null) url += '&program_id='+program_id;
		if(video_yt_id != null) url += '&video_yt_id='+video_yt_id;
		
		//url = 'data.txt';
		
		//window.location = url;
		
		var request = new Request.JSON
		(
			{
				url: url,
				onComplete: function(jsonObj) 
				{
					this.data = jsonObj;
					this.display();
				}.bind(this)
			}
		).send();
	},
	
	display: function()
	{
		var videos = this.data.videos;
		
		var trad = this.data.trad;
	
		var j = 0;
		
		var html_videos = "";

		html_videos += '<ul>';

		var numvideos = videos.length;
		
		for(var i = 0; i < Math.min(numvideos, maxvideos); i++)
		{
			var video = videos[i];
			
			var video_yt_id = video['video_yt_id'];
			var video_name = video['video_name'];
			var video_number = video['video_number'];
			var video_new = video['video_new'];
			var video_most_viewed = video['video_most_viewed'];
			var video_thumb = video['video_thumb'];
			var video_yt_duration = video['video_yt_duration'];
			var program_name = video['program_name'];
			var program_category_id = video['program_category_id'];
			
			var class_video = '';

			if(j == 2)
			{
				class_video = ' class="last"';
				j = 0;
			} 
			else j++;

			html_videos += '<li' + class_video + '>';

			if(video_most_viewed == "1") html_videos += '<div class="sticker">MV</div>';
			if(video_new == "1") html_videos += '<div class="new">' + trad.video_new + '</div>';
			video_url = 'video.php?m='+ program_category_id;
			video_url += '&amp;v=' + video_yt_id;
			
			html_videos += '<div class="video">';
			
			html_videos += '<div class="thumb">';
			html_videos += '<a href="' + video_url + '"><img src="' + video_thumb + '" width="183" height="105" alt="" title="" /></a>';
			html_videos += '</div>';     
			
			html_videos += '<div class="info">';
			
			html_videos += '<a href="' + video_url + '"></a>';
			html_videos += '<div class="background">&nbsp;</div>';

			html_videos += '<div class="description">';
			html_videos += '<span class="name">' + video_name + '</span><br/>';
			html_videos += '<span class="program">' + program_name + ' / ' + video_number + '</span><br/>';
			html_videos += '<span class="duration">' + video_yt_duration + '</span><br/>';
			html_videos += '<span class="play">' + trad.play + '</span>';
			html_videos += '</div>';

			html_videos += '</div>';
			
			html_videos += '<div class="name">';
			html_videos += video_name;
			html_videos += '</div>';
			
			html_videos += '</div>';

			html_videos += '</li>';
			
		}
		
		html_videos += '</ul>';
		
		var div_videos = $('videos'+div_videos_id);
		div_videos.set('html', html_videos);
		
		var html_controls = '';
		
		var js_obj = 'div_videos_id: ' + div_videos_id + ', folder: \''+ folder +'\', maxvideos: '+maxvideos+', type: \''+type+'\'';
		
		if(order != null) js_obj += ', order: \''+order+'\'';
		if(program_id != null) js_obj += ', program_id: '+program_id;
		if(video_yt_id != null) js_obj += ', video_yt_id: \''+video_yt_id+'\'';
		
		//html_controls += '<a href="#"><img src="' + folder + 'previous.gif" width="15" height="15" alt="" title="" /></a>';
		if(rank > 0) html_controls += '<a href="javascript:getVideos({'+js_obj+', rank: '+(rank-1)+', browser: \'' + browser + '\'});"><img src="' + folder + 'previous.gif" width="15" height="15" alt="" title="" /></a>';

		if(numvideos > maxvideos) html_controls += '<a href="javascript:getVideos({'+js_obj+', rank: '+(rank+1)+', browser: \'' + browser + '\'});" class="next"><img src="' + folder + 'next.gif" width="15" height="15" alt="" title="" /></a>';
		
		var div_controls = $('controls'+div_videos_id);
		div_controls.set('html', html_controls);
		
		if(browser == 'MSIE6') this.setVideos();
	},
	
	setVideos: function()
	{	
		var divs = $$('#videos' + div_videos_id + ' .video');
		$each
		(	
			divs,
			function(div, index)
			{
				div.addEvent
				(
					'mouseover',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'block');
						e.stop();
		        	}.bind(this)
				),
				div.addEvent
				(
					'mouseout',
					function(e)
					{
						var info = div.getChildren('.info');
						info.setStyle('display', 'none');
						e.stop();
		        	}.bind(this)
				)
			},
			this
		);
	}
}
);

function getVideos(obj)
{
	var videos = new Videos(obj);
}

function search()
{
	var form = document.data;
	
	var q = form.q.value;
	
	if(q != '') form.submit();
}

function equalize() 
{	
	var div1, div2;
	
	if(document.getElementById('video_program') != null) var div1 = document.getElementById('video_program');
	if(document.getElementById('video') != null) var div2 = document.getElementById('video');
	
	if(div1 != null && div2 != null)
	{
		var h1 = div1.offsetHeight;
		var h2 = div2.offsetHeight;
		
		if(h1 > h2) div2.style.height = (h1 - 40) + "px";
		else div1.style.height = (h2 - 40) + "px";
	}
	
	var div3, div4;
	
	if(document.getElementById('column_left') != null) var div3 = document.getElementById('column_left');
	if(document.getElementById('column_right') != null) var div4 = document.getElementById('column_right');
	
	if(div3 != null && div4 != null)
	{
		var h3 = div3.offsetHeight;
		var h4 = div4.offsetHeight;
		
		//alert("h3 = "+ h3 + " vs h4 = "+h4);
		
		if(h3 > h4) div4.style.height = h3 + "px";
		else div3.style.height = h4 + "px";
		
		//alert(div4.offsetHeight);
	}
}