var l = 1;
var youtubeInit = new Array();
var timer;
var i =0;
var youtubediv = new Array();
var normalplayer = false;

function playVideo(id,loader,title,clearer){
	loadNewVideo(id);
}

function loadNewVideo(id) {
	if (normalplayer) {
		currentid = id;
		normalplayer.loadVideoById(id);
		$('.top_10_songs').removeClass('top_10_selected');
		$('#'+ id +' .top_10_songs').addClass('top_10_selected');
	}
}
// this are functions for the normal player
function onYouTubePlayerReady(playerId) {
	normalplayer = document.getElementById("playerid");
	setInterval(updateNormalPlayerInfo, 100);
	getFirstPlaylist();
	normalplayer.addEventListener("onStateChange", "checkbutton");
	normalplayer.addEventListener("onStateChange", "update_info");
}

function cueNewVideo(id) {
	if (normalplayer) {
  		normalplayer.cueVideoById(id);
	}
}
function checkbutton() {
	var e = normalplayer.getPlayerState();
	if (e=='2') {
		$('#play_button').removeClass('active'); 
		$('#play_button').addClass('active_paused'); 
	}
	if (e=='1') {
		$('#play_button').removeClass('active_paused'); 
		$('#play_button').addClass('active'); 
	}
}

function updateNormalPlayerInfo() {
  	time= getCurrentTime();
  	min_time = pad2(Math.floor(time/60));
	sec_time = pad2(time % 60); 
	$('#ptime').html(min_time+":"+sec_time);
  	dur = getDuration();
  	min_dur = pad2(Math.floor(dur/60));
	sec_dur = pad2(dur % 60); 
  	$('#ttime').html(min_dur+":"+sec_dur);
  	var percentage= parseInt(100*time/dur);
	$('#player_progress_play_bar').css('width',((percentage*2.5)+7) +'px');
  	dur = dur - 1;
  	if((time > dur) && dur> 1 && time > 1){
		stop();
		getNextPlaylist();
		if(document.title)
			document.title = "Next in playlist...";
  	}
}
function pad2(number) {
     var num=parseInt((number < 10 ? '0' : '') + number);
     if (num<10) num="0"+ num;
     return num;
}
function getFirstPlaylist(){
	var playlistplay = 0;
	var ul = document.getElementById("ul3");
	var items = ul.getElementsByTagName("li");
	loadNewVideo(items[0].id);
}

function play() {
  if (normalplayer) {
	normalplayer.playVideo();
  }
}

function pause() {
  if (normalplayer) {
	normalplayer.pauseVideo();
  }
}

function stop() {
  if (normalplayer) {
	normalplayer.stopVideo();
  }
}

function getDuration() {
  if (normalplayer) {
	return normalplayer.getDuration();
  }
}

function getCurrentTime() {
  if (normalplayer) {
	return normalplayer.getCurrentTime();
  }
}
function seekTo(seconds) {
  if (normalplayer) {
	normalplayer.seekTo(seconds, true);
  }
}
function fullscreen() {
  if (normalplayer) {
	normalplayer.fullscreen();
  }
  alert('Click on the video player');
}

	$('.top_10.ytlist').live('click', function() {
		$('.top_10').removeClass('top_10_selected');
		$(this).addClass('top_10_selected');
		var link = $(this).attr('id');
		var name=$(this).text();
		makeRequest_pl('1',link,name);
	});
	$('.top_10.mylist').live('click', function() {
		$('.top_10').removeClass('top_10_selected');
		$(this).addClass('top_10_selected');
		var link = $(this).attr('id');
		loadContent_music('#ul3','p='+link);
	});
	$('.top_10.trlist').live('click', function() {
		$('.top_10').removeClass('top_10_selected');
		$(this).addClass('top_10_selected');
		var link = $(this).attr('id');
		loadContent_music('#ul3','q='+link);
	});
	
	function getVideoId(url){
		var match_start = url.indexOf('=');
		var match_end = url.indexOf('&');
		if (match_start) {
		  id = url.substring(match_start+1,match_end);
		  return id;
		}
	}
	function addslashes(str) {
		str=str.replace(/\'/g,'\\\'');
		str=str.replace(/\"/g,'');
		return str;
	}
	function clearList(ul){
		var list = document.getElementById(ul);
		while (list.firstChild) 
	 	{
	    list.removeChild(list.firstChild);
		}
	}
	function makeRequest_pl(page,list,name){
		//document.getElementById('playlist_name_show').innerHTML="Now playing: <b>top 10 of "+ name +"</b>";
		clearList('ul3');
		insertVideos('ul3','playlist',list,'15','0');
	}
	function insertVideos(div,typ,q,results,start){
		if (start=='0') start = 1;
		var script = document.createElement('script');
		if(typ == "playlist") script.setAttribute('src', 'http://gdata.youtube.com/feeds/api/playlists/'+q+'/?&alt=json-in-script&callback=youtubeInit['+l+']');
		youtubeInit[l] = function(root) { listVideos(root,div,start,q);  };
		script.setAttribute('id', 'jsonScript');
		script.setAttribute('type', 'text/javascript');
		document.documentElement.firstChild.appendChild(script);
	}
	function listVideos(json,divid,start,q) {
	//alert ('list videos');
  	var ul = document.createElement('ul');
  	//alert ('json feed length: '+ json.feed.entry.length);
  	ul.setAttribute('id', 'youtubelist');

  	if (divid=="ul3")  var amount=50;
  	if (divid!=="ul3")  var amount=10;
  	if(json.feed.entry){
	  //for (var i = 0; i < json.feed.entry.length; i++) {
	   for (var i = 0; i < amount; i++) {
	   var entry = json.feed.entry[i];
		//alert (entry);
	    for (var k = 0; k < entry.link.length; k++) {
	      if (entry.link[k].rel == 'alternate') {
	        url = entry.link[k].href;
	        break;
	      }
	    }
		 secVar =entry.media$group.media$content[0].duration;
		 minVar = Math.floor(secVar/60);  // The minutes
		 secVar = secVar % 60; 
		
		var thumb = entry['media$group']['media$thumbnail'][1].url;
		var media_title = entry['media$group']['media$title'];
		//appendOptionLast('<a href="javascript:playVideo(\''+getVideoId(url)+'\',false,\''+addslashes(entry.title.$t)+'\',true)"><img src="'+thumb+'" onmouseout="mouseOutImage(this)" onmouseover="mousOverImage(this,\''+getVideoId(url)+'\',1)" style="float:left;"></a><div style="float:left;line-height:13px;" class="title_in_list">'+entry.title.$t.substr(0,30)+" " + '</div>',getVideoId(url),'ul1');
		//alert (divid);
		if (divid  == 'ul3') appendOptionLast('<a href="javascript:playVideo(\''+getVideoId(url)+'\',false,\''+addslashes(entry.title.$t)+'\',true)"><div class="top_10_songs" id="l_'+getVideoId(url)+'">'+media_title.$t+'</div></a>',getVideoId(url),divid);
	
		//appendOptionLast('<a href="javascript:playVideo(\''+getVideoId(url)+'\',false,\''+addslashes(entry.title.$t)+'\',true)"><img src="_css/pics/yellow_70.png" style="background:url('+thumb+')" style="float:left;"></a><div style="float:left;line-height:13px;" class="title_in_list">'+entry.title.$t.substr(0,200)+" " + '</div>',getVideoId(url),divid);
		//reinitializs the serach results 
		if (divid  == 'ul3' && i==0) playVideo (getVideoId(url),false, '',true);
		}
		//alert (parseInt(start));
		if (parseInt(start)>10 && divid  == 'ul1') document.getElementById(divid).innerHTML = document.getElementById(divid).innerHTML + '<a href="#" onClick="makeRequest(\'0\',\''+ (parseInt(start)-15) + '\');">back</a> | ';
		if (divid  == 'ul1') document.getElementById(divid).innerHTML = document.getElementById(divid).innerHTML + '<a href="#" onClick="makeRequest(\'0\',\''+ (parseInt(start)+15) + '\');">more?</a>';
		}else{
		document.getElementById(divid).innerHTML = 'No Results Found';
  	}
  
	}
	
	function appendOptionLast(text,id,ul){
		try	{
			if(text && id && ul){
				var list = document.getElementById(ul);
				var newNode = document.createElement("li");
				newNode.setAttribute('id',id);
				newNode.innerHTML = text;
				list.appendChild(newNode);
				if(YAHOO.example && newNode != 'null')
					new YAHOO.example.DDList(newNode);
			}
		}
		catch(err)
		{
		//Handle errors here
		}
	}
// new functions Akiem
function getPrevPlaylist(){
	var playlistplay = 0;
	var ul = document.getElementById("ul3");
	var items = ul.getElementsByTagName("li");
	for (i=1;i<items.length;i=i+1) {
		if(items[i].id == currentid){
			var p=i-1;
			if(items[p]){
				playlistplay = 1;
				loadNewVideo(items[p].id);
				break;
			}
		}
	}
	if(playlistplay == 0 && items.length > 0)
		loadNewVideo(items[items.length-1].id);
}


function getNextPlaylist(){
		var playlistplay = 0;
		var ul = document.getElementById("ul3");
		var items = ul.getElementsByTagName("li");
		for (i=0;i<items.length;i=i+1) {
			if(items[i].id == currentid){
				var p=i+1;
				if(items[p]){
					playlistplay = 1;
					// make the playing movie different
					loadNewVideo(items[p].id);
					break;
				}
			}
		}
		
		if(playlistplay == 0 && items.length > 0)
			loadNewVideo(items[0].id);
}

function play() {
  if (normalplayer) {
	normalplayer.playVideo();
  }
}

function play_pause() {
  if (normalplayer) {
	var e = normalplayer.getPlayerState();
	if (e!=='1') {
		play();
		$("#play").css("display","inline");
		$("#pause").css("display","none");
		$("#player_progress_play_bar").css('background-image','url(http://www.typeradio.org/_version2/_media/_pics/loading_bar.gif)');
	}
	if (e=='1') {
		pause();
		$("#play").css("display","none");
		$("#pause").css("display","inline");
	}
  }
}

function pause() {
  if (normalplayer) {
	normalplayer.pauseVideo();
  }
}

