var location_new, creator_new, title_new, extension_new, artist_id_new;
var removed_media;

function setGlobalVars(location, creator, title, extension, artist_id, song_id)
{
	
	location_new = location;
	creator_new = creator;
	title_new = title;
	extension_new = extension;
	artist_id_new = artist_id;
	song_id_new = song_id;
}

// reda melodia in pop-up
function playSong_new(location, creator, title, extension, artist_id, song_id)
{
	if(extension != 'embed')
	{
		setGlobalVars(location, creator, title, extension, artist_id, song_id);
		var url = baseURL + 'index.php';
		var params = 'module=music&action=writeTempPlaylist&url='+location+'&creator='+ unescape(creator)+'&title='+unescape(title) + '&extension=' + extension + '&artist_id=' + artist_id + '&song_id=' + song_id;
		
		new Ajax.Request
		(
			url,
			{
				method:'get',
				parameters:params,
				onComplete:refreshPlaylist
							
			}
		)
	}
	else
	{
		if(popup_is_opened == 1)
		{
			$('popupDetector').playEmbed(location, creator, title, artist_id);
			$('popupDetector').focusWindow();
		}
		else
		{
			playlistWindow = window.open(baseURL + 'index.php?module=music&action=myPlaylist&play_embed=' + location + '&creator=' + creator + '&title=' + title  + '&artist_id=' + artist_id,'Playlist','menubar=no,width=870,height=530,toolbar=no,status=no,location=yes,resizable=no');
			if(!playlistWindow)
			{
				if(!is_form)
				{
					var form = document.createElement('form');
					form.id = 'emergency';
					form.target = '_blank';
					form.action = baseURL + 'open_window.html';
					form.innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="myPlaylist" /><input type="hidden" name="play_embed" value="' + location + '" /><input type="hidden" name="creator" value="' + creator + '" /><input type="hidden" name="title" value="' + title + '" /><input type="hidden" name="artist_id" value="' + artist_id + '" />'
					form.style.display = 'none';
					document.body.appendChild(form);
					is_form = true;
				}
				else
				{
					$('emergency').innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="myPlaylist" /><input type="hidden" name="play_embed" value="' + location + '" /><input type="hidden" name="creator" value="' + creator + '" /><input type="hidden" name="title" value="' + title + '" /><input type="hidden" name="artist_id" value="' + artist_id + '" />'
				}
				$('emergency').submit();
			}
		}
	}
	return false;
}

var is_form = false;

// afiseaza noile trackuri din popup
function refreshPlaylist()
{
	if(popup_is_opened == 1)
	{
		$('popupDetector').refreshPlaylistPopup();
	}
	else
	{
		playlistWindow = window.open(baseURL + 'index.php?module=music&action=myPlaylist&play_url=' + location_new + '&play_title=' + creator_new + ' - ' + title_new + '&extension=' + extension_new + '&artist_id=' + artist_id_new,'Playlist','menubar=no,width=870,height=530,toolbar=no,status=no,location=yes,resizable=no');
		if(!playlistWindow)
		{
			if(!is_form)
			{
				var form = document.createElement('form');
				form.id = 'emergency';
				form.target = '_blank';
				form.action = baseURL + 'open_window.html';
				form.innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="myPlaylist" /><input type="hidden" name="play_url" value="' + location_new + '" /><input type="hidden" name="play_title" value="' + creator_new + ' - ' + title_new + '" /><input type="hidden" name="extension" value="' + extension_new + '" /><input type="hidden" name="artist_id" value="' + artist_id_new + '" />'
				form.style.display = 'none';
				document.body.appendChild(form);
				is_form = true;
			}
			else
			{
				$('emergency').innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="myPlaylist" /><input type="hidden" name="play_url" value="' + location_new + '" /><input type="hidden" name="play_title" value="' + creator_new + ' - ' + title_new + '" /><input type="hidden" name="extension" value="' + extension_new + '" /><input type="hidden" name="artist_id" value="' + artist_id_new + '" />'
			}
			$('emergency').submit();
		}
	}
}

// afiseaza trackurile din popup
function refreshPopupPlaylist()
{
	var url = baseURL + 'index.php';
	var params = 'module=music&action=getTempPlaylist&popup=1';
	var playlistDiv = 'songlist';

	new Ajax.Updater
	(
		playlistDiv, url,
		{
			method:'get',
			parameters:params,
			onComplete: reinitPlayer
		}
	)
}

// reseteaza ordinea trackurilor cand se modifica playlistul
function reinitPlayer()
{
	initPlayer();
	isPlaying(actual_track);
	if(removed_while_playing == 1)
	{
		if(actual_track == tracks && repeat == "off")
		{
			if(tracks > 1)
			{
				bw();
				next();
			}
			else
			{
				var location = $("play_1").innerHTML;
				var title = $("title_1").innerHTML;
				var extension = $('play_1').className;
				var artist_id = $('title_1').className;
				playMp3(location, title, tracks, extension, artist_id);
			}
		}
		else
		{
			next();
		}
	}
	if (navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)
	{
		enableAlphaImages();
	}
	
	if(removed_media != 1)
	{
		var location = $("play_" + tracks).innerHTML;
		var title = $("title_" + tracks).innerHTML;
		var extension = $('play_' + tracks).className;
		var artist_id = $('title_' + tracks).className;
		playMp3(location, title, tracks, extension, artist_id);
	}
	else
	{
		removed_media = 0;
	}
}

// sterge un track din popup
function removePopupMedia(id, position)
{
	removed_media = 1;
	if(position == actual_track)
	{
		removed_while_playing = 1;
	}
	
	if(position <= actual_track && actual_track > 0)
	{
		actual_track--;
	}
	
	url = baseURL + 'index.php';
	params = 'module=music&action=removeTempMedia&id='+id;
	new Ajax.Request
	(
		 url,
		{
			method:'get',
			parameters:params,
			onComplete:refreshPopupPlaylist
													
		}
	)
	return false;
}

var songToBeAdded;

function showPlaylistOptions(element)
{
	if( isArray(click_element) )
    {
        songToBeAdded = click_element;
        var left = 65;
        element = $('btnadd_'+click_element[0]);
    }
    else
    {
        songToBeAdded = parseInt(element.getElementsByTagName('img')[0].alt);
        var left = 15;
    }
	$('add_s').style.display = 'block';
	$('add_ok').style.display = 'none';
	$('add_submit').style.display = 'block';
	$('add_playlist').style.top = (getPos(element).topOff - 40) + 'px';
	$('add_playlist').style.left = (getPos(element).leftOff + 15) + 'px';
	var inputs = $('add_playlist').getElementsByTagName('input');
	for(i=0;i<inputs.length;i++)
	{
		if(inputs[i].type == 'checkbox')
		{
			inputs[i].checked = '';
		}
	}
	$('playlist_name2').value = '';
	$('create_new_playlist').style.display = 'none';
	Effect.Appear('add_playlist', {duration: 0.5});
    click_element = 0;
}

function showFirstPlaylist(element)
{
	$('first_playlist').style.top = (getPos(element).topOff + 5) + 'px';
	$('first_playlist').style.left = (getPos(element).leftOff - 20) + 'px';
	$('playlist_name').value = '';
	Effect.Appear('first_playlist', {duration: 0.5});
}

function closeBox(box)
{
	Effect.Fade(box, {duration: 0.5});
}

var click_element = 0;

function saveToPlaylist(element, url)
{
	if(url)
	{
		url_search = url;
	}
	else
	{
		url_search = false;
	}
	if( !isArray( click_element ) )
        click_element = element;
	$('loader').innerHTML = '';
	$('loader').style.display = 'block';
	$('my_playlists_to_save').style.display = 'block';
	$('playlists_saved').style.display = 'none';
	$('create_new_playlist').style.display = 'none';
	$('a_create_new_playlist').style.display = 'block';
	$('playlists_saved').innerHTML = '';
	$('loader').style.top = (getPos(element).topOff - 10) + 'px';
	$('loader').style.left = (getPos(element).leftOff + 30) + 'px';
	new Ajax.Updater('loader', baseURL + 'index.php?module=music&action=getUserPlaylists', {onComplete: showOptions});
	function showOptions()
	{
		$('loader').hide();
		if($('loader').innerHTML != '[]')
		{
			showPlaylistOptions(element);
		}
		else
		{
			showFirstPlaylist(element);
		}
	}
}

function saveALLToPlaylist()
{
    var idsarr = $('songlist').select('[class="btnadd"]');
    var i = 1;
    click_element = new Array();
    click_element[0] = 0;
    idsarr.each(function(id){
        click_element[i] = parseInt(id.alt);
        i++;
    });

    saveToPlaylist($('btnadd_'+click_element[0]));
    return false;
}

function removeLi(id)
{
	$('myItems').removeChild($('item_' + id));
	var myItems = $('myItems').getElementsByTagName('li');
	for(var i=0;i<myItems.length;i++)
	{
		if(i%2 == 0)
		{
			myItems[i].className = 'patru';
		}
		else
		{
			myItems[i].className = '';
		}
	}
}

function removeRightLi(id)
{
	$('playlistDiv').getElementsByTagName('ul')[0].removeChild($('li_' + id))
}

function deletePlaylist(id)
{
	if(confirm('Esti sigur ca vrei sa stergi playlist-ul?'))
	{
		function removeElement()
		{
			removeLi(id);
			removeRightLi(id);
		}
		new Ajax.Request(baseURL + 'index.php?module=music&action=deletePlaylist&id=' + id, {onComplete: removeElement});
	}
}

function deleteTrack(id, key)
{
	if(confirm('Esti sigur ca vrei sa stergi track-ul?'))
	{
		function removeElement()
		{
			removeLi(key);
		}
		new Ajax.Request(baseURL + 'index.php?module=music&action=removeFromPlaylist', {method: 'post', parameters: {id: id, itemKey: key}, onComplete: removeElement});
	}
}

function createNewPlaylist(name)
{
	if(name != '')
	{
		new Ajax.Request(baseURL + 'index.php?module=music&action=createaEmptyPlaylist', {method: 'post', parameters: {title: name}, onSuccess: updatePlaylists});
	}
	else
	{
		alert('Playlistul trebuie sa aiba un nume!');
	}
}

function updatePlaylists()
{
	new Ajax.Updater('playlists_hidden', baseURL + 'index.php?module=music&action=getUserPlaylists', {onComplete: refreshPlaylists});
}

var myJson;

function refreshPlaylists()
{
	myJson = eval($('playlists_hidden').innerHTML);
	if($('playlistDiv'))
	{
		var last = $('playlistDiv').getElementsByTagName('li').length;
		var p_right = document.createElement('li');
		p_right.id = 'li_' + myJson[last].id;
		p_right.innerHTML = '<span class="title"><a href="' + baseURL + 'index.php?module=music&amp;action=viewPlaylist&amp;id=' + myJson[last].id + '">' + myJson[last].title + '</a></span><span class="add"><a href="#" onclick="playlistWindow = window.open(baseURL + \'index.php?module=music&amp;action=editMyPlaylist&amp;id=' + myJson[last].id + '\',\'Playlist\',\'menubar=no,width=850,height=530,toolbar=no,status=no,location=no,resizable=no\'); return false;"><img src="' + baseURL + 'external/templates/default/images/play1.gif" alt="Sterge" /></a></span>';
		$('playlistDiv').getElementsByTagName('ul')[0].appendChild(p_right);
	}
	else
	{
		var last = $('my_playlists_to_save').getElementsByTagName('input').length;
	}
	var i_popup = document.createElement('input');
	var span_popup = document.createElement('span');
	var br_popup = document.createElement('br');
	i_popup.type = 'checkbox';
	i_popup.id = 'check_playlist_' + myJson[last].id;
	i_popup.value = myJson[last].id;
	span_popup.id = 'pl_' + (last+1);
	span_popup.innerHTML = myJson[last].title;
	$('my_playlists_to_save').appendChild(i_popup);
	$('my_playlists_to_save').appendChild(span_popup);
	$('my_playlists_to_save').appendChild(br_popup);
	
	if($('add_playlist').style.display == 'none')
	{
		$('first_playlist').style.display = 'none';
		showPlaylistOptions(click_element);
	}
	
	$('create_new_playlist').style.display = 'none';
	$('playlist_name2').value = '';
	
}

function addToPlaylists(all)
{
	var playlistsToSaveIn = new Array();
	var ids = $('my_playlists_to_save').getElementsByTagName('input');
	for(var i=0;i<ids.length;i++)
	{
		if(ids[i].checked == true)
		{
			playlistsToSaveIn[playlistsToSaveIn.length] = ids[i].value;
			if(!all)
			{
				$('playlists_saved').innerHTML += '<a href="' + $('playlistDiv').getElementsByTagName('li')[i].getElementsByTagName('a')[0].href + '">' + $('pl_' + (i+1)).innerHTML + '</a><br />';
			}
			else
			{
				$('playlists_saved').innerHTML += '<a href="#" onclick="opener.location=\'' + $('playlistDiv').getElementsByTagName('li')[i].getElementsByTagName('a')[0].href + '\'">' + $('pl_' + (i+1)).innerHTML + '</a><br />';
			}
		}
	}
	
	var error = 0;
	
	function addedError()
	{
		alert('Piesa nu a putut fi adaugata in toate playlisturile!');
		error = 1;
	}
	
	function addedOk()
	{
		$('add_s').style.display = 'none';
		$('add_ok').style.display = 'block';
		$('my_playlists_to_save').style.display = 'none';
		$('playlists_saved').style.display = 'block';
		$('create_new_playlist').style.display = 'none';
		$('a_create_new_playlist').style.display = 'none';
		$('add_submit').style.display = 'none';
		$('playlists_saved').innerHTML += '<br />' + $('all_playlists').innerHTML;
	}

	if(!all)
	{
        if( !isArray(songToBeAdded) )
        {
            var temp = songToBeAdded;
            songToBeAdded = new Array();
            songToBeAdded[1] = temp;
        }

        for(k=1; k<=songToBeAdded.length-1; k++)
        {
		    var creator = $('creator_' + songToBeAdded[k]).innerHTML;
		    var title = $('title_' + songToBeAdded[k]).innerHTML;
		    var extension = $('play_' + songToBeAdded[k]).className;
		    if(!url_search)
		    {
			    var url = $('play_' + songToBeAdded[k]).innerHTML;
		    }
		    else
		    {
			    var url = url_search;
		    }
		    var artist_id = $('creator_' + songToBeAdded[k]).className;
		    var song_id = $('title_' + songToBeAdded[k]).className;
		    
		    for(i=0;i<playlistsToSaveIn.length;i++)
		    {
			    if(error == 1)
			    {
				    break;
			    }
			    
			    if(i < playlistsToSaveIn.length - 1)
			    {
				    new Ajax.Request(baseURL + 'index.php?module=music&action=addToPlaylist', {method: 'post', parameters: {id: playlistsToSaveIn[i], creator: creator, title: title, extension: extension, url: url, artist_id: artist_id, song_id: song_id}, onFailure: addedError});
			    }
			    else
			    {
				    //new Ajax.Request(baseURL + 'index.php?module=music&action=addToPlaylist', {method: 'post', parameters: {id: playlistsToSaveIn[i], creator: creator, title: title, extension: extension, url: url, artist_id: artist_id, song_id: song_id}, onSuccess: addedOk});
                    new Ajax.Request(baseURL + 'index.php?module=music&action=addToPlaylist', {method: 'post', parameters: {id: playlistsToSaveIn[i], creator: creator, title: title, extension: extension, url: url, artist_id: artist_id, song_id: song_id}, onFailure: addedError});
			    }
		    }
        }
        if( error == 0 )
            addedOk();
	}
	else
	{
		for(i=0;i<playlistsToSaveIn.length;i++)
		{
			if(i < playlistsToSaveIn.length - 1)
			{
				new Ajax.Request(baseURL + 'index.php?module=music&action=savePlaylist', {method: 'post', parameters: {id: playlistsToSaveIn[i]}, onFailure: addedError});
			}
			else
			{
				new Ajax.Request(baseURL + 'index.php?module=music&action=savePlaylist', {method: 'post', parameters: {id: playlistsToSaveIn[i]}, onSuccess: addedOk});
			}
		}
	}
		
	
}

var artist_id_search;
var add_search;
var add_id_search;
var url_search;

function findSongs()
{
	$('loader').hide();
	var mySongs = eval($('loader').innerHTML);
	if(mySongs[0])
	{
		$('alege_v').style.display = 'block';
		for(var i=0;i<5;i++)
		{
			if(mySongs[i])
			{
				if(!add_search)
				{
					$('song_results').innerHTML += '<a href="#" onclick="playSong_new(\'' + mySongs[i].location + '\', \'' + mySongs[i].creator + '\', \'' + mySongs[i].title + '\', \'\', \'' + artist_id_search + '\', \'\'); $(\'search_music\').style.display = \'none\'; return false;"><img src="' + baseURL + 'external/templates/default/images/play1.gif" alt="Asculta" />' + mySongs[i].title.substring(0, 20) + '</a><br clear="all" />';
				}
				else
				{
					$('song_results').innerHTML += '<a href="#" onclick="saveToPlaylist($(\'add_to_playlist_\' + ' + add_id_search + '), \'' + mySongs[i].location + '\'); $(\'search_music\').style.display = \'none\'; return false;"><img src="' + baseURL + 'external/templates/default/images/play1.gif" alt="Asculta" />' + mySongs[i].title.substring(0, 20) + '</a><br clear="all" />';
				}
			}
		}
	}
	else
	{
		$('alege_v').style.display = 'none';
		$('song_results').innerHTML = '<br /><b style="color: #ab3e3e;">Piesa nu a fost gasita pe web!</b>';
	}
	$('search_music').style.top = (getPos(click_element).topOff - 40) + 'px';
	$('search_music').style.left = (getPos(click_element).leftOff + 15) + 'px';
	
	Effect.Appear('search_music', {duration: 0.5});
}

function searchMusic(element, words, artist_id, add, add_id)
{
	if(add)
	{
		add_search = true;
		add_id_search = add_id;
	}
	else
	{
		add_search = false;
	}
	artist_id_search = artist_id;
	click_element = element;
	$('loader').show();
	$('loader').innerHTML = '';
	$('song_results').innerHTML = '';
	$('loader').style.top = (getPos(element).topOff - 10) + 'px';
	$('loader').style.left = (getPos(element).leftOff + 80) + 'px';
	words = words.replace(/^([0-9]+. )?/, '');
	new Ajax.Updater('loader', baseURL + 'index.php?module=music&action=searchp', {method: 'post', parameters: {ajx: 1, q: words}, onComplete: findSongs});
	
}

function listOnlineMusic()
{
	var myOnlineMusic = eval($('online_music').innerHTML);
	if(myOnlineMusic[0])
	{
		for(var i=0;i<20;i++)
		{
			if(myOnlineMusic[i])
			{
				var html = '<li class="' + (i%2?'':'patru') + '" id="track_' + (i+1) + '"><div style="display: none;" id="play_' + (i+1) + '" class="">' + myOnlineMusic[i].location + '</div><div style="display: none" id="title_' + (i+1) + '" class="">' + myOnlineMusic[i].creator + '</div><div style="display: none" id="creator_' + (i+1) + '" class="">' + myOnlineMusic[i].title + '</div><a class="play_song" href="#" onclick="playSong_new(\'' + escape(myOnlineMusic[i].location) + '\', \'' + escape(myOnlineMusic[i].creator) + '\', \'' + escape(myOnlineMusic[i].title) + '\', \'\', \'\', \'\'); return false;"><img src="' + baseURL + 'external/templates/default/images/play2.gif" alt="play" /></a><span class="song">&nbsp;' + myOnlineMusic[i].title + '</span><span class="singer">&nbsp;' + myOnlineMusic[i].creator + '</span><span class="lyrics">&nbsp;</span>';
				if(!$('login_popup'))
				{
					html += '<span class="playlist"><a href="#" onclick="saveToPlaylist(this); return false;">&nbsp;<img src="' + baseURL + 'external/templates/default/images/add1.gif" alt="' + (i+1) + '"/></a></span></li>';
				}
				else
				{
					html += '<span class="playlist"><a href="#" onclick="return loginUser(this);">&nbsp;<img src="' + baseURL + 'external/templates/default/images/add1.gif" alt="' + (i+1) + '"/></a></span></li>';
				}
				$('show_online_music').innerHTML += html;
			}
		}
		$('show_online_music').show();
		$('loading').hide();
	}
	else
	{
		$('loading').hide();
		$('no_songs').show();
	}
}

function showOnlineMusic(words)
{
	new Ajax.Updater('online_music', baseURL + 'index.php?module=music&action=searchp', {method: 'post', parameters: {ajx: 1, q: words, limit: 20}, onComplete: listOnlineMusic});
}

function openPlaylistById(id)
{
	playlistWindow = window.open(baseURL + 'index.php?module=music&action=editMyPlaylist&id=' + id ,'Playlist','menubar=no,width=850,height=530,toolbar=no,status=no,location=no,resizable=no');	
	if(!playlistWindow)
	{
		if(!is_form)
		{
			var form = document.createElement('form');
			form.id = 'emergency';
			form.target = '_blank';
			form.action = baseURL + 'open_window.html';
			form.innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="editMyPlaylist" /><input type="hidden" name="id" value="' + id + '" />'
			form.style.display = 'none';
			document.body.appendChild(form);
			is_form = true;
		}
		else
		{
			$('emergency').innerHTML = '<input type="hidden" name="module" value="music" /><input type="hidden" name="action" value="editMyPlaylist" /><input type="hidden" name="id" value="' + id + '" />'
		}
		$('emergency').submit();
	}
}