/*
Scripts by 2nice4u.net "Morgan" <its2nice4u@hotmail.fr>
Last modification: 02/01/07
*/

// Objet playList
function PlayList()
{
	this.clipsList=null;
	this.length=null;
	this.cookieName=null;
	this.MAX_LENGTH=25;
	
	// initialise la playlist en fonction de la chaîne d'id de reçus
	this.init=function (string, cookiePlayListName)
	{
		this.clipsList=new Array();
		this.cookieName=cookiePlayListName;
		this.length=0;
		
		var list=string.split(';');
		for (var i=0; i<(list.length-1); i++)
			this.add(list[i]);
	};
	
	//ajoute un clip dans la playlist
	this.add=function (idClip)
	{
		if (this.length<this.MAX_LENGTH)
		{
			if (!this.isInPlayList(idClip))
			{
				this.clipsList.push(idClip);
				this.length++;
				this.save();
			}
		}
	};
	
	// retire un clip de la playlist
	this.remove=function (idClip)
	{
		if (this.isInPlayList(idClip))
		{
			this.clipsList.splice(this.getIndex(idClip), 1);
			this.length--;
			this.save();
		}
	};
	
	// si le clip est dans la playlist retourne true sinon false
	this.isInPlayList=function(idClip)
	{
		var isin=this.clipsList.in_array(idClip);
		
		if (isin==-1)	
			return false;
		else
			return true;
	};
	
	// retourne la position du clip dans la playlist
	// considère que le clip est présent, effectuez les tests au préalable à l'aide de isInPlayList(idClip);
	this.getIndex=function (idClip)
	{
		return this.clipsList.in_array(idClip);
	};
	
	this.isEmpty=function ()
	{
		return this.clipsList.length==this.MAX_LENGTH;
	};
	
	// écrit la playlist dans un cookie
	this.save=function()
	{
		var string="";
		
		for (var i=0; i<this.length; i++)
			string+=this.clipsList[i]+";";
		
		createCookie(this.cookieName, string);
	};
}

// création de la playlist à partir du cookie
var playList=new PlayList();
var cookiePlayListName="playlist";
playList.init(readCookie(cookiePlayListName), cookiePlayListName);

// remplit le span sur la page du clip par ajouter ou retirer si le clip est ou n'est pas dans la playlist
function displayChoice(idClip)
{
	var choice=document.getElementById('playListChoice');
	
	if (playList.isInPlayList(idClip))
		choice.innerHTML='<span onclick="removeClipFromPlayList('+idClip+');" class="lienPlayList">Retirer ce Clip de ma PlayList</span>';
	else
	{
		if (playList.isEmpty())
			choice.innerHTML='Votre PlayList est pleine';
		else
			choice.innerHTML='<span onclick="addClipToPlayList('+idClip+');" class="lienPlayList">Ajouter ce Clip à ma PlayList</span>';
	}
}

function addClipToPlayList(idClip)
{
	playList.add(idClip);
	displayChoice(idClip);
}

function removeClipFromPlayList(idClip)
{
	playList.remove(idClip);
	displayChoice(idClip);
}
