/* 
	YT2HD v0.1 <http://www.youtube2hd.com/>
	Copyright (c) 2009 Roland Chanishvily
*/

function getCookie( name ) {
	var start = document.cookie.indexOf( name + '=' );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return decodeURI( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+encodeURI( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) +
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}
	
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function _ga(path){
	pageTracker._trackPageview(path);
}

function setLng(lng){
	var lngstr; var str;
	if(getCookie('lng')==lng){
		if(lng=='ru') lngstr = 'Русский'; else if(lng=='de') lngstr = 'Deutsch'; else lngstr = 'English';
		str='<button title="" class="master-sprite" id="slogan"></button><span class="util-item first"><a class="hLink" href="#" onclick="changeLanguage(); return false;">'+lngstr+'</a></span>';
		$('#region-and-language-picker-links-wrapper').html(str);
	}else{
		if(lng=='ru'){
			lngstr = 'Русский';
			setCookie('lng','ru',3650,'/');
			setCookie('lngLNG','ru-RU',3650,'/');
		}else if(lng=='de'){
			lngstr = 'Deutsch';
			setCookie('lng','de',3650,'/');
			setCookie('lngLNG','de-DE',3650,'/');
		}else{
			lngstr = 'English';
			setCookie('lng','en',3650,'/');
			setCookie('lngLNG','en-US',3650,'/');
		}
		str='<button title="" class="master-sprite" id="slogan"></button><span class="util-item first"><a class="hLink" href="#"><img src="/img/progress_point.gif">  '+lngstr+'</a></span>';
		$('#region-and-language-picker-links-wrapper').html(str);
		setTimeout("window.location.reload(true);",500);
	}
}

function changeLanguage(){
	var str='<button title="" class="master-sprite" id="slogan"></button>'+
	'<span class="util-item first"><a class="hLink" href="#" onclick="setLng(\'en\'); return false;">English</a></span>'+
	'<span class="util-item"><a class="hLink" href="#" onclick="setLng(\'ru\'); return false;">Русский</a></span>'+
	'<span class="util-item"><a class="hLink" href="#" onclick="setLng(\'de\'); return false;">Deutsch</a></span>';
	$('#region-and-language-picker-links-wrapper').html(str);
}

function logout(){
	$('#util-links').html($('span:first','#util-links').html()); 
	deleteCookie('ytAuthToken','/');
	$("#add_comment_button").attr("disabled","disabled");
	_ga('/logOut');
	return false;
}

function noAuth(videoid){
	var lng = getCookie('lng');
	var l1,l2,l3,l4;
	if(lng=='ru'){
		l1='Присоединитесь к YouTube'; l2=', или '; l3='войдите'; l4=', если вы уже зарегистрированы';
	}else if(lng=='de'){
		l1='Erstelle ein kostenloses YouTube-Konto'; l2=' oder '; l3='melde dich an'; l4=', wenn du bereits Mitglied bist';
	}else{
		l1='Join YouTube'; l2=' for a free account, or '; l3='sign in';	l4=' if you are already a member';
	}

	$("#watch-tab-body").html('<div class="watch-more-action" id="addToPlaylistDiv"><div class="close"><a onclick="$(\'#watch-tab-body\').hide(); return false;" title="закрыть этот слой" class="eLink" href="#">Закрыть</a></div><div id="boxBlue" class="bold"><a href="http://www.youtube.com/signup" target="_blank" onClick="_ga(\'/yt-signup\');">'+l1+'</a>'+l2+'<a href="/login/'+videoid+'" onClick="_ga(\'/logIn\');">'+l3+'</a>'+l4+'.</div>').show();
}

function getPlaylists(videoid){
	if(getCookie('ytAuthToken')!=null){
		var lng = getCookie('lng');
		if(lng=='ru') var str = 'Загружается список плейлистов';
		else if(lng=='de') var str = 'Laden einer Liste von Wiedergabelisten';
		else var str = 'Loading a list of playlists';
		$("#watch-tab-body").html('<img src="/img/progress_point.gif"> '+str+'...');
		$("#watch-tab-body").show().load("/ajax.php", {func: 'showPlaylists', p0: getCookie('ytAuthToken'), p1: videoid});
	}else noAuth(videoid);
	return false;
}

function makePlName(name){
	var myregexp = /(.*)\s\(\d+\)$/;
	var match = myregexp.exec(name);
	if (match != null) name = match[1];
	return name;
}

function makeNewPlaylist(videoid){
	var title = $('#pl_title').val();
	var  desc = $('#pl_desc').val();
	if(title=='') $('span:eq(0)','#addplform').addClass("formerror");
	else $('span:eq(0)','#addplform').removeClass("formerror");
	if(desc=='') $('span:eq(1)','#addplform').addClass("formerror");
	else $('span:eq(1)','#addplform').removeClass("formerror");
	if(title!='' && desc!=''){
		var lng = getCookie('lng');
		if(lng=='ru') var str = 'Создаем плейлист и добавляем видео';
		else if(lng=='de') var str = 'Erstellen Sie eine Abspielliste und Video';
		else var str = 'Create a playlist and add video';
		$("#watch-tab-body").html('<img src="/img/progress_point.gif"> '+str+'...');
		$("#watch-tab-body").load("/ajax.php", {func: 'makeNewPlaylist', p0: getCookie('ytAuthToken'), p1: videoid, p2: title, p3: desc}, function(){$('#watch-action-selplaylist').attr("title",title);});
		_ga('/makeNewPlaylist');
	}
}

function addToSelPlaylist(videoid){
	var lng = getCookie('lng');
	if(lng=='ru') var add='Добавляем'; else if(lng=='de') var add='Hinzufügen'; else var add='Add';
	$("#watch-tab-body").html('<img src="/img/progress_point.gif"> '+add+'...').show();
	$("#watch-tab-body").load("/ajax.php", {func: 'submitToPlaylist', p0: getCookie('ytAuthToken'), p1: videoid, p2: getCookie('plID')});
	_ga('/addToSelPlaylist');
}

function submitToPlaylist(videoid){
	var lng = getCookie('lng');
	if(lng=='ru'){ var s0 = 'Название'; var s1='Описание'; var s2 = 'Создать'; var s3='Отменить';  var add='Добавляем';
	}else if(lng=='de'){ var s0 = 'Titel'; var s1='Beschreibung'; var s2 = 'Erstellen'; var s3='Abbrechen';  var add='Hinzufügen';
	}else{ var s0 = 'Title'; var s1='Description'; var s2 = 'Create'; var s3='Cancel';  var add='Add'; }
	if($('#playlist_selector').val()=='N'){
		$("#watch-tab-body").html('<form id="addplform" action="ajax" method="post"><span>'+s0+': </span><input type="text" id="pl_title" style="width: 100%;"/><br/><span>'+s1+': </span><input type="text" id="pl_desc" style="width: 100%;"/><br/><br/><div style="text-align: right;"><a onclick="makeNewPlaylist(\''+videoid+'\');return false;" href="#" id="add_button" class="yt-button yt-button-urgent"><span>'+s2+'</span></a><a onclick="$(\'#watch-tab-body\').hide();return false;" href="#" id="cancel_button" class="yt-button yt-button-primary"><span>'+s3+'</span></a></div></form>');
	}else{
		var name = makePlName($('#playlist_selector option:selected').text());	
		setCookie('plName', name, 356,'/');
		setCookie('plID', $('#playlist_selector').val(), 356, '/');

		$('#add_button').before('<img src="/img/progress_point.gif"> '+add+'...').hide().empty();
		$("#watch-action-selplaylist-link").show();
		$('#watch-action-selplaylist').attr("title",name);
		$("#watch-tab-body").load("/ajax.php", {func: 'submitToPlaylist', p0: getCookie('ytAuthToken'), p1: videoid, p2: $('#playlist_selector').val()});
		_ga('/addToPlaylist');
	}
	return false;
}

function addToFavorite(videoid){
	if(getCookie('ytAuthToken')!=null){
		var lng = getCookie('lng');
		if(lng=='ru'){ var add='Добавляем';}else if(lng=='de'){ var add='Hinzufügen';}else{ var add='Add'; }
		$("#watch-tab-body").html('<img src="/img/progress_point.gif"> '+add+'...').show();
		$("#watch-tab-body").load("/ajax.php", {func: 'addToFavorite', p0: getCookie('ytAuthToken'), p1: videoid});
		_ga('/addToFavorite');
	}else noAuth(videoid);
	return false;
}

function removeFromFavorite(videoid){
	var lng = getCookie('lng');
	if(lng=='ru'){ var add='Удаляем';}else if(lng=='de'){ var add='Entfernen';}else{ var add='Remove'; }
	$("#watch-tab-body").html('<img src="/img/progress_point.gif"> '+add+'...').show();
	$("#watch-tab-body").load("/ajax.php", {func: 'removeFromFavorite', p0: getCookie('ytAuthToken'), p1: videoid});
	_ga('/removeFromFavorite');
	return false;
}

// Свернуть\Развернуть панель 
function togglePanel(p){
	var it = $(p).parent();
	it.toggleClass("expanded")
	p.blur();
	if(it.hasClass("expanded")) setCookie(it.attr("id"), true, 365,'/');
	else setCookie(it.attr("id"), false, 365, '/');
}  

function postComment(form){
	$('#comment_form').submit();
}

function updateCharCount(control) {
	var lng = getCookie('lng');
	if(lng=='ru'){var s0='Осталось символов:'; var s1='Количество "лишних" символов:';}
	else if(lng=='de'){ var s0='Verbleibende Zeichen:'; var s1='Zeichen über dem Limit:';}
	else{ var s0='Remaining character count:'; var s1='Number of characters over the limit:'; }
	if(control.value.length>500){
		$('#maxCharLabel').text(s1);
		$('#charCountLabel').val(control.value.length-500);
	}else{
		$('#maxCharLabel').text(s0);
		$('#charCountLabel').val(500-control.value.length);
	}
 }