/*-------------------------------------------------------------------
Player javascript API
-------------------------------------------------------------------*/

// some variables to save
var currentPosition;
var currentRemaining;
var currentVolume;
var currentItem;
var currentState;
var currentLoad;
var currentXsize;
var currentYsize;

// this function is caught by the JavascriptView object of the player.

function sendEvent(swf,typ,prm) { 
	thisMovie(swf).sendEvent(typ,prm); 
};
function loadFile(swf,obj) {
	thisMovie(swf).loadFile(obj); 
};
function getLength(swf) { 
	var len = thisMovie(swf).getLength(); 
	return len;
};
function addItem(swf,obj,idx) {
	thisMovie(swf).addItem(obj,idx);
};
function removeItem(swf,idx) {
	thisMovie(swf).removeItem(idx);
};
function itemData(swf,idx) { 
	var obj = thisMovie(swf).itemData(idx);
	var txt = "";
	for(var i in obj) { 
		txt += i+": "+obj[i]+"\n";
	}
	alert(txt);
};

function setOpacity(vol,value) {
	var testObj = document.getElementById(vol);
	testObj.style.opacity = value/10;
	testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}
function setOpacity2() {
	setOpacity('vol25',10);
	setOpacity('vol50',5);
	setOpacity('vol75',5);
	setOpacity('vol100',5);
	sendEvent('abmusic','volume',25);
	sendEvent('abmusic2','volume',25);
}
function setOpacity3() {
	setOpacity('vol25',10);
	setOpacity('vol50',10);
	setOpacity('vol75',5);
	setOpacity('vol100',5);
	sendEvent('abmusic','volume',50);
	sendEvent('abmusic2','volume',50);
}
function setOpacity4() {
	setOpacity('vol25',10);
	setOpacity('vol50',10);
	setOpacity('vol75',10);
	setOpacity('vol100',5);
	sendEvent('abmusic','volume',75);
	sendEvent('abmusic2','volume',75);
}
function setOpacity5() {
	setOpacity('vol25',10);
	setOpacity('vol50',10);
	setOpacity('vol75',10);
	setOpacity('vol100',10);
	sendEvent('abmusic','volume',100);
	sendEvent('abmusic2','volume',100);
}

// these functions is called by the JavascriptView object of the player.
function getUpdate(typ,pr1,pr2,swf)
{ 
	var pcurrentPosition = 0;
	var pcurrentRemaining = 100;
	if(typ == "time") {
		currentPosition = pr1; pr2 == 0 ? null: currentRemaining = Math.round(pr2);
		var ttime = currentPosition + currentRemaining;
		var pcurrentPosition = (currentPosition/ttime)*100;
		var pcurrentRemaining = (currentRemaining/ttime)*100;
	}
	else if(typ == "volume") { currentVolume = pr1; } 
	else if(typ == "state") { currentState = pr1; }
	else if(typ == "load") { currentLoad = pr1; }
	//else if(typ == "size") { currentXsize = "X=" + pr1; pr2 == undefined ? null: currentYsize = "Y=" + Math.round(pr2); } 
	switch(currentState) {
	 case 0: var prstat = 'Stop'; break;
	 case 1: var prstat = 'Buffering'; break;
	 case 2: var prstat = 'Playing'; break;
	 case 3: var prstat = 'Finished'; break;
	 default: var prstat = ''; break;
	}
	//document.getElementById('stateshow').innerHTML = prstat;
	//var tmp = document.getElementById("pid"); if ((tmp)&&(swf != "null")) { tmp.innerHTML = "(received from the player with the id: <i><b>"+swf+"</b></i>)"; } 
		
	var tmp = document.getElementById("time");
	var tmp2 = document.getElementById("times");
	if (tmp) { 
		tmp.innerHTML = '<div id="remain"><ul><li class="current" style="width:' + pcurrentPosition + '%;">&nbsp;</li><li class="remain" style="width:' + pcurrentRemaining + '%;">&nbsp;</li><li class="currentload" style="width:' + currentLoad + '%;">&nbsp;</li></ul></div>';
	}
	if (tmp2) {
		if (currentPosition>59)
		{
			var minutes = parseInt(currentPosition/60);
			var second = currentPosition-(minutes*60);
		} else {
			var minutes = 0;
			var second = currentPosition;
		}
		if (minutes<10){
			minutes = '0'+minutes;
		}
		if (second<10){
			second = '0'+second;
		}
		
		var minutes2 = parseInt(ttime/60);
		var second2 = ttime-(minutes2*60);
		
		if (isNaN(minutes2)==true) { minutes2 =0; }
		if (isNaN(second2)==true) { second2 =0; }

		if (minutes2<10){
			minutes2 = '0'+minutes2;
		}
		if (second2<10){
			second2 = '0'+second2;
		}
		tmp2.innerHTML = minutes+'.'+second+' / '+minutes2+'.'+second2;
		//tmp2.innerHTML = currentPosition+' / '+minutes2+'.'+second2;
	}
	
	//<br>time:' + pcurrentPosition + ' remain:' + pcurrentRemaining; } 
	//var tmp = document.getElementById("volume"); if (tmp) { tmp.innerHTML = "<b>Volume:</b> " + currentVolume; } 
	//var tmp = document.getElementById("item"); if (tmp) { tmp.innerHTML = "<b>Item:</b> " + currentItem; } 
	//var tmp = document.getElementById("state"); if (tmp) { tmp.innerHTML = "<b>State:</b> " + currentState + "&nbsp;&nbsp; (0:ready/paused, 1:loading, 2:playing, 3:finished)"; } 
	//var tmp = document.getElementById("load"); if (tmp) { tmp.innerHTML = "<b>Load:</b> " + currentLoad + "%"; }
	//var tmp = document.getElementById("size"); if (tmp) { tmp.innerHTML = "<b>Size:</b> " + currentXsize + ", " + currentYsize; } 
};

function LoadPlayer(id,titles){
	
	sendEvent('abmusic','stop');
	loadFile('abmusic2',{file:'http://asianbrainmusic.com/youtube-download.php?youtube='+id+'.flv',title:titles});
	//loadFile('abmusic2',{file:'http://localhost/abmusic/youtube-download.php?youtube='+id+'.flv',title:titles});
	var title2 = addslashes(titles);
	var playerhtml = '<div id="control">';
	playerhtml += '<a href="javascript:sendEvent(\'abmusic2\',\'stop\');"><img src="images/stop.gif" border="0" /></a> ';
	playerhtml += '<a href="javascript:sendEvent(\'abmusic2\',\'playpause\');"><img src="images/play.gif" border="0" /></a> ';
	playerhtml += '<a href="javascript:AddItem(\''+id+'\',\''+title2+'\')"><img src="images/addto.gif" border="0" /></a>';
	playerhtml += '</div>';
	playerhtml += '<div id="playerstat">';
	playerhtml += '<div id="title">'+titles+'</div>';
	playerhtml += '<div id="times"></div>';
	playerhtml += '<div id="time" style="clear:both;float:left;"></div>';
	playerhtml += '</div>';
	playerhtml += '<div id="volumecontrol">';
	playerhtml += '<a href="javascript:setOpacity2();"><img id="vol25" src="images/volume-25.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity3();"><img id="vol50" src="images/volume-50.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity4();"><img id="vol75" src="images/volume-75.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity5();"><img id="vol100" src="images/volume-100.gif" border="0" /></a>';
	playerhtml += '</div>';
	playerhtml += '</div>';
	//playerhtml += '<a href="javascript:sendEvent(\'abmusic2\',\'volume\',currentVolume + 10)">volume(+)</a>';
	//playerhtml += '<a href="javascript:sendEvent(\'abmusic2\',\'volume\',currentVolume - 10)">volume(-)</a>';
	//playerhtml += '<a href="javascript:sendEvent(\'abmusic2\',\'volume\',0)">mute</a> | ';
	var nowplayingstat = playerhtml;
	document.getElementById('divplayer').style.display = 'block';
	document.getElementById('divplayer').innerHTML = nowplayingstat;
	getLyrics(titles);
}

function thisMovie(movieName) {
	if(navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
};

function AddItem(id,titles)
{
	var last = getLength('abmusic');
	var addit = 0;
	for (a=0;a<last;a++)
	{
		var obj = thisMovie('abmusic').itemData(a);
		var file = obj['file'];
		var yid = file.replace('http://asianbrainmusic.com/youtube-download.php?youtube=','');
		//var yid = file.replace('http://localhost/abmusic/youtube-download.php?youtube=','');
		yid = yid.replace('.flv','');
		if (yid==id) {
			alert('Song is already in the playlist');
		} else {
			var addit = 1;
		}
	}
	if ( (addit==1) || (last==0) )
	{
		var title2 = addslashes(titles);
		createCookie(id,titles,7);
		addItem('abmusic',{file:'http://asianbrainmusic.com/youtube-download.php?youtube='+id+'.flv',title:titles},last);
		//addItem('abmusic',{file:'http://localhost/abmusic/youtube-download.php?youtube='+id+'.flv',title:titles},last);
		UpdatePlaylist();
	}
	//alert(last);
}

function RemoveItem(idx,yid){
	removeItem('abmusic',idx);
	eraseCookie(yid);
	UpdatePlaylist();
}

function myPlayer(idx,id,titles)
{
	sendEvent('abmusic2','stop');
	sendEvent('abmusic','playitem',idx);
	var title2 = addslashes(titles);
	var playerhtml = '<div id="control">';
	playerhtml += '<a href="javascript:sendEvent(\'abmusic\',\'stop\');"><img src="images/stop.gif" border="0" /></a> ';
	playerhtml += '<a href="javascript:sendEvent(\'abmusic\',\'playpause\');"><img src="images/play.gif" border="0" /></a> ';
	playerhtml += '<a href="javascript:AddItem(\''+id+'\',\''+title2+'\')"><img src="images/addto.gif" border="0" /></a>';
	playerhtml += '</div>';
	playerhtml += '<div id="playerstat" style="float:left;">';
	playerhtml += '<div id="title">'+titles+'</div>';
	playerhtml += '<div id="times"></div>';
	playerhtml += '<div id="time" style="clear:both;float:left;">&nbsp;</div>';
	playerhtml += '</div>';
	playerhtml += '<div id="volumecontrol">';
	playerhtml += '<div id="volume">';
	playerhtml += '<a href="javascript:setOpacity2();"><img id="vol25" src="images/volume-25.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity3();"><img id="vol50" src="images/volume-50.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity4();"><img id="vol75" src="images/volume-75.gif" border="0" /></a>';
	playerhtml += '<a href="javascript:setOpacity5();"><img id="vol100" src="images/volume-100.gif" border="0" /></a>';
	playerhtml += '</div>';
	playerhtml += '</div>';
	var nowplayingstat = playerhtml;
	document.getElementById('divplayer').style.display = 'block';
	document.getElementById('divplayer').innerHTML = nowplayingstat;
	getLyrics(titles);
}

function UpdatePlaylist() {
	var ca = readAllCookie();
	if (ca==0){
		// 
		//document.getElementById("left").style.width = '100%';
		//document.getElementById("right").style.display = 'none';
	} else {
		var html = new Array();
		
		for(var i=0;i < ca.length;i++) {
			var data = ca[i].split("=");
			var data1 = addslashes(data[1]);
			
			//html[i] = '<li><a href="javascript:LoadPlayer2(\''+data[0]+'\',\''+data1+'\');">'+data[1]+'</a></li>';
			html[i] = '<li><a href="javascript:RemoveItem('+i+',\''+data[0]+'\')"><img src="images/icon-delete.png" border=0></a> <a href="javascript:myPlayer('+i+',\''+data[0]+'\',\''+data[1]+'\');">'+data[1]+'</a></li>';
		}
	
		var html2 = html.join('');
		var tmp = document.getElementById("playlist");
		var tmp2 = document.getElementById("right");
		tmp2.style.display = 'block';
		tmp.style.display = 'block';
		if (tmp) { tmp.innerHTML = '<div id="plh">Playlist</div><ul>'+html2+'</ul>'; }
	}
}
