var player;

var lCount 	= 0;
var limit		= 10;

$(document).ready(
	function()
	{

		$('div[class=nextRes] a').click(
			function()
			{
				getNextResponses();
				return false;
			}
		);

		$('div[class=prevRes] a').click(
			function()
			{
				getPrevResponses();
				return false;
			}
		);

		$('div[class=programMore] a[class=more]').click(
			function()
			{
				$('div[class=programMore] a[class=less]').show();
				$(this).toggle();
				getEpisodes( 0, 20 );
				return false;
			}
		);

		$('div[class=programMore] a[class=less]').click(
			function()
			{
				$('div[class=programMore] a[class=more]').show();
				$(this).toggle();
				getEpisodes( 0, 10 );
				return false;
			}
		);

		initHover();
		initPlayer();
	}
);


//////////////////////
// RESPONSE HANDLING

function getEpisodes( start, limit ) {
	var sUrl = '/transport/get.data.xml.php?mode=list&start=' + start + '&limit=' + limit;

	$.ajax({
	type: 'GET',
	url: sUrl,
	dataType: 'xml',
	success:
		function (xml)
		{
			var jData = $( xml );
			var html 	= jQuery.trim(jData.find( 'html' ).text());
			var count	= jQuery.trim(jData.find( 'count' ).text());
			var start	= jQuery.trim(jData.find( 'start' ).text());

			$('div[id=programItems]').html( html );

		}
	});

}

function getNextResponses() {
	lCount += limit;
	$('div[class=prevRes] a').show();
	getResponses();
}

function getPrevResponses() {
	lCount -= limit;
	if( lCount < 0 ) lCount = 0;
	getResponses();
}

function getResponses() {
	var sUrl = '/transport/get.data.xml.php?mode=episode&start=' + lCount + '&id=' + startEpisode;

	$.ajax({
	type: 'GET',
	url: sUrl,
	dataType: 'xml',
	success:
		function (xml)
		{
			var jData = $( xml );
			var html 	= jQuery.trim(jData.find( 'html' ).text());
			var count	= jQuery.trim(jData.find( 'count' ).text());
			var start	= jQuery.trim(jData.find( 'start' ).text());

			if( start == 0 ) $('div[class=prevRes] a').hide();
			else $('div[class=prevRes] a').show();
			if( count < limit ) $('div[class=nextRes] a').hide();
			else $('div[class=nextRes] a').show();

			$('div[class=programResponses]').html( html );
		}
	});
}

//////////////////////
// INITIALIZING PAGE

function initHover() {

	$('div[class^=programRow]').live( 'mouseover',
		function() {
			$(this).toggleClass( 'programRowA' );
		}
	);

	$('div[class^=programRow]').live( 'mouseout',
		function() {
			$(this).toggleClass( 'programRowA' );
		}
	);

	$('div[class^=programRow]').live( 'click',
		function() {
			var identifier = $(this).attr('id');
			window.location = '?id=' + identifier;
		}
	);

	$('div[class^=responseRow]').live( 'click',
		function() {
			/*
			var time 	= $(this).children('div[class=responseTime]').text().split(':');
			if( time.length == 3 ) {
				time 			= time[0] * 3600 + time[1] * 60 + time[2] * 1;
				seek( time );
			}
			*/
			var time = $(this).children('div[class=responseTime]').text();
			seek(time);
		}
	)

	$('div[class^=responseRow]').live( 'mouseover',
		function() {
			$(this).toggleClass( 'responseRowA' );
		}
	);

	$('div[class^=responseRow]').live( 'mouseout',
		function() {
			$(this).toggleClass( 'responseRowA' );
		}
	);
}

function initPlayer() {
	var elm = document.getElementById("ugPlayer");
	var src = "http://u.omroep.nl/sl/ClientBin/ugslplayer.xap";
	var config = {
		width: 520,
		height: 293,
		playMode: 'play',
		episodeID: startEpisode
	};
	player = UGSLPlayer(elm, src, config);
}

//////////////////////
// UG PLAYER FUNCTIONS

function playEpisode(id) {
	player.setConfigProperty('episodeID', id );
	$('div[id^=tweet_]').hide();
	$('div[id=tweet_' + id + ']').show();
	return false;
}

function seek(time) {
	player.setConfigProperty('seekTime', time );
	return false;
}
