document.observe('dom:loaded', function() {
	$$('a[rel=external]').each(function (el, index) {
		el.onclick = function() {
			window.open($(el).readAttribute('href'));
			return false;
		}
	});

	Event.observe($('screens'), 'mouseover', tooltipShow);
	Event.observe($('screens'), 'mouseout', tooltipHide);
	Event.observe($('tooltip'), 'mouseout', tooltipHide);
	Event.observe($('next'), 'click', nextPrev);
	Event.observe($('previous'), 'click', nextPrev);
});

function tooltipShow(event) {
	var el = event.element();

	if (el.nodeName.toLowerCase() != 'img')
		return;

	var id = $(el).readAttribute('id').split(/_/)[1];

	new Ajax.Request('/get-description/' + id, {
		method: 'get',
		onSuccess: function (transport) {
			var obj = transport.responseJSON;
			if(obj)  {
				$('tooltip').update(obj);

				var offset = $(el).cumulativeOffset();
				var x = offset.left + 0;
				var y = offset.top + 60;

				$('tooltip').setStyle({top: y + 'px', left: x + 'px'});
				//$('tooltip').show();
				new Effect.Appear($('tooltip'), {
					duration: 0.3
				});
			}
		},
		onFailure: function () { }
	});

}

function tooltipHide(event) {
	var el = event.element();
	var hide = false;
	var id = $(el).readAttribute('id');

	var offset = $('tooltip').cumulativeOffset();
	var xBegin = offset.left;
	var yBegin = offset.top;
	var xEnd = xBegin + $('tooltip').getWidth();
	var yEnd = yBegin + $('tooltip').getHeight();

	var x = $(event).pointerX();
	var y = $(event).pointerY();

	if (id == 'tooltip') {
		if (x >= xBegin+40 || y >= yBegin+40)
			hide = true;
	} else {
		var offset = $(el).cumulativeOffset();
		var xBegin = offset.left;
		var yBegin = offset.top;
		var xEnd = xBegin + $(el).getWidth();
		var yEnd = yBegin + $(el).getHeight();

		if (x <= xBegin || x >= xEnd || y <= yBegin || y >= yEnd)
			hide = true;
	}

	if (hide === true) {
		$('tooltip').hide();
	}
}

function nextPrev(event) {
	var el = event.element();

	if (el.nodeName.toLowerCase() != 'img')
		return false;

	var href = $(el).up('a').readAttribute('href').replace(/^\//, '');
	var data = href.split(/\//);

	if (!data[1])
		data[1] = 0;

	updateList(data[0], data[1]);

	return false;
}

function updateList(channel, page) {
	//alert(channel+', page: '+page);
	new Ajax.Request('/get-channels/'+channel+'/'+page, {
	method: 'get',
	onSuccess: function (transport) {
		var obj = transport.responseJSON;
		if(obj)  {
			new Effect.Fade($('screens'), {
				duration: 0.3,
				afterFinish: function (effect) {
					$('screens').select('a').each(function(el, index) { 
						$(el).remove();
					});
					
					/*$('tooltips').select('div').each(function(el, index) { 
						$(el).remove();
					});*/

					page = parseInt(page);
					channel = parseInt(channel);
					
					var previouspage = (page > 1) ? (page-1) : 1;
					var nextpage = page+1;
					
					/*$('previous').down('a').writeAttribute('onclick', 'updateList(\''+channel+'\', '+previouspage+'); return false;');
					$('previous').down('a').writeAttribute('href', 'javascript:updateList(\''+channel+'\', '+previouspage+');');
					$('next').down('a').writeAttribute('onclick', 'updateList(\''+channel+'\', '+(page+1)+'); return false;');
					$('next').down('a').writeAttribute('href', 'javascript:updateList(\''+channel+'\', '+(page+1)+');');*/
					
					$('previous').down('a').writeAttribute('href', '/'+channel+'/'+previouspage);
					$('next').down('a').writeAttribute('href', '/'+channel+'/'+nextpage);

					var data = obj.data;

					for(i = 0; i < data.length; i++) {
						$('screens').insert(
							new Element('a', {
								/*'onmouseover': "popUp(event, 't" + data[i].id + "')",
								'onmouseout': "popUp(event, 't" + data[i].id + "')",*/
								'id': 'screen_link_' + data[i].id,
								'href': '/film/' + data[i].id
							}).update(
								new Element('img', {
									'id': 'screen_' + data[i].id,
									'src': "/getBild.php?id=" + data[i].id
								})
							)
						);
						
						/*$('tooltips').insert(
							new Element('div', {
								'id': 't' + data[i].id
							}).update(data[i].descr)
						);*/
					}
					
					new Effect.Appear($('screens'), { duration: 0.3 });
				}
			});

			if (obj.from == 0)
				$('previous').down('a').hide();
			else
				$('previous').down('a').show();

			if (obj.more == false)
				$('next').down('a').hide();
			else
				$('next').down('a').show();
		}
	},
	onFailure: function () { }
	});
}

function registerStartOfPlay(film_id) {
	new Ajax.Request('/register-play/'+film_id+'/start',
	{
	  method: 'get'
	});
}

function registerEndOfPlay(film_id) {
	new Ajax.Request('/register-play/'+film_id+'/end',
	{
	  method: 'get'
	});
}

// divven "byt_kategori" ska bara visas för användare som har javascript avstängt.
function hideBytKategori() {
	//document.getElementById('byt_kategori').style.display='none';
	//document.getElementById('flashversion').style.display='none';
	if ($('byt_kategori')) $('byt_kategori').hide();
	if ($('flashversion')) $('flashversion').hide();
}

function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) { 
			c_start = c_start + c_name.length+1; 
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1)
				c_end = document.cookie.length;

			return unescape(document.cookie.substring(c_start, c_end));
		} 
	}
	return 100;
}

function setCookie(c_name, value) {
	var expiredays = 1;
	var exdate = new Date();

	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie = c_name + "=" + escape(value) +
		((expiredays==null) ? "" : ";expires=" + exdate.toGMTString());
}

function setPlaying(id) {

}

/*************************************************************************/
/*************************************************************************/


