var editPlaylistId = 'editing';

function addTrackToPlaylist(trackId) {
	var index = CPlayer.playlists.get(editPlaylistId).getLength();
	new Ajax.Updater('track_list','/playlist.php',{
		parameters: {
			action: 'track_add',
			track_id: trackId,
			index: index
		},
		evalScripts: true,
		insertion: 'bottom'
	});
	$('empty_track_list').hide();
	$('track_list_container').show();
}

function removeTrackFromPlaylist(index) {
	playlist = CPlayer.playlists.get(editPlaylistId);
	// remove track at index
	playlist.removeTrack(index);
	$(CPlaylist.getTrackContainerId(playlist.id,index)).remove();
	// now get length of playlist (should be 1 less)
	var length = playlist.getLength();
	// and start at index, changing id's and index's
	for (var i=index+1; i<length; ++i) {
		tmp = $(CPlaylist.getTrackContainerId(playlist.id,i));
		tmp.index -= 1;
		tmp.id = CPlaylist.getTrackContainerId(playlist.id,tmp.index);
	}
}

function onTrackOrderChange(trackList) {
	playlist = CPlayer.playlists.get(editPlaylistId);
	trackIds = new Array();	// the new track id order
	// iterate through each li, updating id's and index's
	lis = $A(trackList.getElementsByTagName('li'));
	lis.each(function(li, index) {
		trackIds.push(playlist.getTrackIdAt(li.index));
		li.index = index;
		li.id = CPlaylist.getTrackContainerId('editing',index);
	});
	playlist.setTrackIds(trackIds);
}

function checkForm() {
	playlist = CPlayer.playlists.get(editPlaylistId);
	if (playlist.getLength() < 2) {
		alert('Your playlist has to have at least 2 tracks.');
		return false;		
	}
	return true;
}

function crawlLoading() {
	$('crawl_results').innerHTML = '<p>Looking for music at the URL provided... <img src="/images/icons/spinner.gif" /></p>';
}

function crawlSubmit() {
	new Ajax.Updater('crawl_results','track.php',{evalScripts: true, parameters: Form.serialize('crawl_form'),onLoading: crawlLoading});
}

function trackSearch(mode, value, container) {
	new Ajax.Updater(container,'playlist.php',{
		evalScripts: true,
		parameters: {
			action: 'track_search',
			mode: mode,
			value: value
		},
		onLoading: function() {
			$(container).innerHTML = '<p>Searching... <img src=\'/images/icons/spinner.gif\' /></p>';
		}
	});
	return false;
}
function updateBookmarks() {
	return trackSearch('bookmarks','','bookmark_track_results');
}
function updateNewest() {
	return trackSearch('newest','','newest_track_results');
}
function updateRandom() {
	return trackSearch('random','','random_track_results');
}

