// JavaScript Document

function niceChannels()
{
	$('a.button_link').each(function(index,elem) {
		$(elem).click(function(e){
			window.location.hash = '/'+$(elem).data('channel')+'/';
			e.preventDefault();
			return;
		});
	});
}

function niceVideos()
{
	$('a.video_link').each(function(index,elem){
		$(elem).click(function(e){
			window.location.hash = '/'+$('#page').data('channel')+'/'+$(elem).data('video')+'/';
			e.preventDefault();
		});
	});
	$('#banner > a').click(function(e){
		window.location.hash = '/home/intro/';
		e.preventDefault();
	});

}

function switchChannel(name)
{
	if ($('div[name='+name+']') == undefined)
		return false;
	
	$('div.button_current').removeClass('button_current');
	$('div[name='+name+']').addClass('button_current');
	
	$('#page').data('channel',name);
	
	var url = '/'+$('#page').data('channel')+'/';
	
	$.meta('og:url','http://kinderfernsehen.net'+url);
	
	piwikTracker.setCustomUrl(url);
	piwikTracker.trackPageView();
	
	$.ajax({
		'async'			: true,
		'cache'			: false,
		'data'			: {
			'action'	: 'getChannel',
			'name'		: name
		},
		'dataType'		: 'json',
		'statusCode'	: {
			'200'	:	function(data, status, xhr) {
				$('#channel').empty();
				$.each(data,function(index,elem){
					var thumbnail = $('<img>').attr('src','/img/videos/'+elem.thumbnail);
					var vlink = $('<a>').attr('href','/'+name+'/'+elem.name+'/').addClass('video_link').data('video',elem.name);
					var video = $('<div>').addClass('folge');
					$('#channel').append($(video).append($(vlink).append(thumbnail)));
					var space = $('<img>').attr('src','/img/trenner.gif').addClass('trenner');
					$('#channel').append(space);
				});
				niceVideos();
			},
			'204'	:	function() {
				$('#channel').empty();
			}
		},
		'type'			: 'GET',
		'url'			: '/ajax.php'
	});
	
	return true;
}

function switchVideo(name)
{
	$('#page').data('video',name);
	
	var url = '/'+$('#page').data('channel')+'/'+name+'/';
	
	$.meta('og:url','http://kinderfernsehen.net'+url);
	
	var like = $('<fb:like>')
		.attr('href','http://kinderfernsehen.net'+url)
		.attr('send','false')
		.attr('layout','button_count')
		.attr('width','450')
		.attr('show_faces','false')
		.attr('colorscheme','dark');
	
	$('#like').empty().append(like);
	if (typeof(FB) != 'undefined')
		FB.XFBML.parse(document.getElementById('like'));

	piwikTracker.setCustomUrl(url);
	piwikTracker.trackPageView();


	$.ajax({
		'async'			: true,
		'cache'			: false,
		'data'			: {
			'action'	: 'getVideo',
			'name'		: name
		},
		'dataType'		: 'json',
		'statusCode'	: {
			'200'	:	function(data, status, xhr) {
				document.title = data.title+' - Kinderfernsehen.net';
				if (data.is_local == 1)
					playLocal(data.src);
				else if (data.is_playlist == 1)
					playPlaylist(data.src);
				else
					playNormal(data.src);
			}
		},
		'type'			: 'GET',
		'url'			: '/ajax.php'
	});
	
	return;
}

function playLocal(src)
{
	$('#page').data('playerActive',false)

	$('#player').empty();
	var player = new SWFObject('/player.swf','mpl','853','505','9');
	player.addParam('allowscriptaccess','always');
	player.addParam('allowfulscreen','true');
	player.addParam('wmode','transparent');
	player.addParam('flashvars','&file=/video/'+src+'&autostart=true&screencolor=000000');
	player.write('player');
}

function playPlaylist(src)
{
	if (!$('#page').data('playerReady'))
		console.warn('Player not ready...');
	
	$('#player').empty();

	buildPlayer(src);
}
function playNormal(src)
{
	if (!$('#page').data('playerReady'))
		console.warn('Player not ready...');
	
	if (!$('#page').data('playerActive') || $('#page').data('playlist'))
	{
		buildPlayer(src);
	}
	else
	{
		player.loadVideoById(src,0,'hd1080');
	}
}

function buildPlayer(src)
{
	var playlist
	$('#page').data('playlist',false);
	
	if (src.match(','))
	{
		playlist = src.substr(src.indexOf(','));
		src = src.substring(0,src.indexOf(','));
		$('#page').data('playlist',true);
	}
	$('#player').empty();
	player = new YT.Player('player', {
		height: '505',
		width: '853',
		videoId: src,
		playerVars: {
			autoplay: 1,
			autohide: 1,
			enablejsapi: true,
			fs: 1,
			hd: 1,
			iv_load_policy: 3,
			modestbranding: 1,
			rel: 0,
			showinfo: 0,
			playlist: (playlist==undefined) ? '' : playlist
		},
		events: {
			'onReady': function(e) {
				e.target.setPlaybackQuality('hd1080');
				e.target.playVideo();
			},
			'onStateChange': function(e) {
				if(e.data == 0)
					watched();
			}
		}
	});
	
	$('#page').data('playerActive',true);
	return;
}

function watched()
{
    FB.api('/me/video.watches' + 
                '?movie=http://kinderfernsehen.net/'+$('#page').data('channel')+'/'+$('#page').data('video')+'/','post',
                function(response) {
        if (!response || response.error) {
            console.log(response);
        } else {
            console.log('Action ID: ' + response.id);
        }
    });
}

