

var playlist_display_id			= null;

var	playlist_rename_id			= null;
var	playlist_rename_target		= null;
var	playlist_rename_origTitle	= null;

var reset_version_filter		= false;


function cds_drop_album(id) {
	if (dropTarget.getAttribute("dragclass")=="playlist_item") {
		add_album_to_playlist(id, dropTarget.getAttribute("playlist_id"));
	} else {
		if (playlist_display_id == null)
			CSI_load(songlist, "playlist_albumlist.php", "album=" + id);
		else
			add_album_to_playlist(id, playlist_display_id);
	}
}

/////////////////////////////////////////////////////////////
//	Playlist function
/////////////////////////////////////////////////////////////



function playlist_rename(playlist_id) {

	var item							= document.getElementById('playlist_item_' + playlist_id);
	item.dragDisable					= true;
	playlist_rename_id					= playlist_id;
	playlist_rename_target				= document.getElementById('playlist_title_' + playlist_id);
	playlist_rename_origTitle			= playlist_rename_target.innerHTML;
	playlist_rename_target.innerHTML	= "<input id='playlist_rename_input' type=text " +
						"value='" + playlist_rename_origTitle + "' size=10 " +
						"onblur='playlist_rename_done();' " +
						"onkeydown='if (event.keyCode==13) playlist_rename_done();'>";
	newTitle							= document.getElementById('playlist_rename_input');
	newTitle.focus();

}

function playlist_rename_done() {
	newTitle							= document.getElementById('playlist_rename_input');
	newTitle							= newTitle.value;
	
	playlist_rename_target.innerHTML	= newTitle;
	
	CSI_submit("update_playlist.php", "rename=" + playlist_rename_id + "&title=" + escape(newTitle));

	var item							= document.getElementById('playlist_item_' + playlist_rename_id);
	item.dragDisable					= false;
	
}


function playlist_delete(playlist_id) {
	var list_title						= document.getElementById('playlist_title_' + playlist_id);
	if (confirm('確定要刪除播放列表 `' + list_title.innerHTML + '`？')) {
		CSI_submit("update_playlist.php", "delete_playlist=" + playlist_id);
		CSI_load(collection, "playlist_collection.php");
	}
}

function playlist_create_new() {

	input			= "<input id='playlist_new_input' type=text " +
						"value='' size=10 " +
						"onblur='playlist_create_new_done();' " +
						"onkeydown='if (event.keyCode==13) playlist_create_new_done();'>";

	html			= "<table width=198 cellpadding=0 cellspacing=0 border=0 align=center>" +
						"<tr height=20>" +
						"	<td width=20></td>" +
						"	<td width=20><img src='images/playlist_icon_song.gif'></td>" +
						"	<td class='size12' style='padding-top:2px'>" + input
						"	</td>" +
						"</tr>" +
						"</table>";

	playlist_new_target				= document.createElement('DIV');
	playlist_new_target.innerHTML	= html;
	collection.appendChild(playlist_new_target);

	newTitle							= document.getElementById('playlist_new_input');
	newTitle.focus();
	
}

function playlist_create_new_done() {
	newTitle							= document.getElementById('playlist_new_input');
	newTitle							= newTitle.value;
	CSI_load(playing_list_div, "update_playlist.php?new_playlist=" + escape(newTitle));
}



function add_album_to_playlist(album, playlist_id) {
	CSI_submit("update_playlist.php", "add_album=" + album + "&playlist=" + playlist_id);
	if (playlist_id == playlist_display_id) {
		CSI_load(songlist, "playlist_songlist.php?playlist=" + playlist_id);
	}
	if (playlist_id == playing_list_id) {
		CSI_load(playing_list_div, "load_playlist.php?get_playlist=" + playlist_id);
	}
}


/////////////////////////////////////////////////////////////
//	Player to play function
/////////////////////////////////////////////////////////////

var playing_list_index		= 0;
var playing_list			= new Array();
var playing_list_title		= new Array();
var playing_list_album		= new Array();
var playing_list_lyric		= new Array();
var playing_list_record		= new Array();
var playing_list_song_id	= new Array();
var playing_list_ref_order	= new Array();
var playing_list_length		= null;
var playing_list_id			= null;
var playing_list_bkgnd		= null;
var playing_list_random		= false;
var playing_list_version_filter	= 'all';


function playlist_play(playlist_id) {
	if (playing_list_id != playlist_id) {
		eval('var pl_id	= "' + playlist_id + '";');
		if (pl_id.substr(0, 5) == "album") {
			CSI_load(songlist, "playlist_albumlist.php?album=" + pl_id.substring(6, 10) + "&version_filter=" + playing_list_version_filter);
		} else
			CSI_load(songlist, "playlist_songlist.php?playlist=" + playlist_id + "&version_filter=" + playing_list_version_filter);
	}
	playing_list_index		= -1;
	playing_list			= new Array();
	playing_list_title		= new Array();
	playing_list_record		= new Array();
	playing_list_album		= new Array();
	playing_list_lyric		= new Array();
	playing_list_song_id	= new Array();
	playing_list_id			= playlist_id;
	CSI_load(playing_list_div, "load_playlist.php?get_playlist=" + playlist_id + "&version_filter=" + playing_list_version_filter);
}


function playing_list_reload() {
	playlist_id		= playlist_display_id;
	eval('var pl_id	= "' + playlist_id + '";');
	if (pl_id.substr(0, 5) == "album") {
		CSI_load(songlist, "playlist_albumlist.php?album=" + pl_id.substring(6, 10) + "&version_filter=" + playing_list_version_filter);
	} else
		CSI_load(songlist, "playlist_songlist.php?playlist=" + playlist_id + "&version_filter=" + playing_list_version_filter);

	if (playing_list_id == playlist_id) {
		playing_list_index		= -1;
		playing_list			= new Array();
		playing_list_title		= new Array();
		playing_list_record		= new Array();
		playing_list_album		= new Array();
		playing_list_lyric		= new Array();
		playing_list_song_id	= new Array();
		playing_list_id			= playlist_id;
		CSI_load(playing_list_div, "load_playlist.php?get_playlist=" + playlist_id + "&version_filter=" + playing_list_version_filter);
	}
}

/////////////////////////////////////////////////////////////
//	Playlist item function
/////////////////////////////////////////////////////////////

function playlist_item_play(item) {
	if (playing_list_id == playlist_display_id) {
		playing_list_highlight(false);
		playing_list_index	= item.getAttribute('playlist_order');
		FlashMovie("MusicPlayer").LoadSound(playing_list[playing_list_index], playing_list_title[playing_list_index]);
		playing_list_highlight(true);
	} else {
		playlist_play(playlist_display_id);
	}
}

function playlist_item_delete(id_code, playlist) {
	playing_list_highlight(false);

	// Remove item from display first (prevent double click)
	var item					= document.getElementById('row_' + id_code);
	var playlist_order			= item.getAttribute('playlist_order');

	playing_list[playlist_order]	= null;
	playing_list_length--;
	item.removeNode(true);
	refill_row_color();
	playing_list_highlight(true);

	// Move to next song if currently playing
	if (playing_list_index == playlist_order)
		getSound();

	// Remove from database
	CSI_submit("update_playlist.php", "delete_item=" + playlist + "_" + id_code);

}

function add_song_to_playlist(song, version, playlist) {
	CSI_submit("update_playlist.php", "add_song=" + song + "&version=" + version + "&playlist=" + playlist);
}

function playing_list_highlight(highlight) {
	if (playing_list_id != playlist_display_id)		return;
	if (highlight) {
		var item				= document.getElementById(playing_list_ref_order[playing_list_index]);
		if (item == undefined)	return;
		playing_list_bkgnd		= item.bgColor;
		item.bgColor			= '#aaccFF';
	} else if (playing_list_bkgnd != null) {
		item					= document.getElementById(playing_list_ref_order[playing_list_index]);
		if (item == undefined)	return;
		item.bgColor			= playing_list_bkgnd;
		playing_list_bkgnd		= null;
	}
}



function refill_row_color() {
	
	for (i=0; i<songlist.children.length; i++) {
		if (i % 2 == 0)		bgcolor	= 'ffffff';
		else				bgcolor	= 'eff2f5';
		node				= songlist.children(i);
		node.bgColor		= bgcolor;
	}
	
}



/////////////////////////////////////////////////////////////
//	Song list function
/////////////////////////////////////////////////////////////


function songlist_default_version(vid) {
	CSI_load(playing_list_div, "update_playlist.php?default_version=" + vid);
	
}

function UrlEncode(str){
	var ret			= "";
	var strSpecial	= "!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
	
	for(var i=0;i<str.length;i++){
	
	var chr = str.charAt(i);
	var c=str2asc(chr);
	tt += chr+":"+c+"n";
	if(parseInt("0x"+c) > 0x7f){
	  ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
	}else{
	  if(chr==" ")
	    ret+="+";
	  else if(strSpecial.indexOf(chr)!=-1)
	    ret+="%"+c.toString(16);
	  else
	    ret+=chr;
	}
	
	}
	return ret;
}

