var MAG = Object.extend({}, MAG || {});
MAG.Programme = {
	Init: function(options)
	{
		this.options = {};
		Object.extend(this.options, options || {});
		
		$$('ul.tabs a').each(function(el){
		el.observe('click', function(e){
			var el = Event.element(e);
			switch($$('ul.tabs a').indexOf(el))
			{
				case 1:
					$(el.parentNode.parentNode).addClassName('second');
				break;
				default:
					$(el.parentNode.parentNode).removeClassName('second');
				break;
			}
			});
		});

		if ($$('a.programme_day_changer')) {
			$$('a.programme_day_changer').each(function(e,i){
				e.observe('click', MAG.Programme.showForDate.bind(MAG.Programme, e.id));
			});
		}

		/**
		 *  show/hide the "programme download" and "about the channel" containers
		 * in the right_block of the programme page
		 */
		if($('programme_download') && $('about_the_channel'))
		{
			Event.observe('programme_download', 'click', function(){
				$('about_the_channel_block').addClassName('hidden');
				$('programme_download_block').removeClassName('hidden');
			});

			Event.observe('about_the_channel', 'click', function(){
				$('programme_download_block').addClassName('hidden')
				$('about_the_channel_block').removeClassName('hidden');
			});
		}

	},

	showForDate: function(id) {
		this.options.date = id.toString().replace(/programme_/, '');
		date = this.options[this.options.date];
		new Ajax.Updater('programme_container', this.options.url, {
			method: 'get',
			onComplete: this.changedOption.bind(this),
			parameters: { method: 'ajax_get', date: date, channel_id: $('channel_changer').options[$('channel_changer').selectedIndex].value}
		});
	},

	changedOption: function() {
		$$('table.program tbody > tr:nth-child(odd)').invoke('addClassName', 'even');
		if($('scrollbar_content') && $('scrollbar_track')) {
			var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track', {proportional: true});
		}
		new Effect.Fade('channel_changer_loader',{duration: 1});
	},

	changeChannel: function() {
		if (typeof this.options.date == 'undefined') {
			this.options.date = 'today';
		}
		date = this.options[this.options.date];
		new Effect.Appear('channel_changer_loader');
		new Ajax.Updater('programme_container', this.options.url, {
			method: 'get',
			onComplete: this.changedOption.bind(this),
			parameters: { method: 'ajax_get', date: date, channel_id: $('channel_changer').options[$('channel_changer').selectedIndex].value}
		});

	}
}



