/**
 *  
 * @classDescription  Manage a playlist of medias
 * @author            Jordan Samouh
 * @version           0.1
 * @since             2008/02/08
 * 
 */




/** 
* Manage a playlist of medias
* 
* @param {String}  base_url base url of the website
* @param {Object} options  ajax_update_url - internal symfony uri to update media description, ajax_update_element - element to update
* @type {Class}
*/
var Playlist = function(base_url){
		
	this.options = Object.extend({
    	ajax_update_url:       '/bsMedia/details/media_id/',
    	ajax_update_element:   'media_detail'
	}, arguments[1] || {});

	this.tab_media = new Array();
	this.indice    = 1;
	this.active    = 1;
	this.base_url  = base_url;
}

Playlist.prototype =
{
	/** 
	* Add a media id at the end of the playlist
	* 
	* @param {Number} media_id
	*/
	addInPlaylist : function(media_id)
	{
		this.tab_media.push(media_id);
	},
	
	/** 
	* Launch the next media in playlist by an ajax request
	*/
	loadPlaylist : function()
	{
		//console.log(this.tabMedia);

		if (this.active == 0)
			return;

		if (this.indice == this.tab_media.length)
			this.indice = 0;

		var media = this.tab_media[this.indice++];
		if(media) refresh_media( this.base_url + this.options.ajax_update_url + media, this.base_url + '/bsComment/add', media, {asynchronous:true, evalScripts:true,  parameters:'playlist=1',method:'get'});
	}
}

var playlist = new Playlist('', { ajax_update_url: '/bsMedia/details/config_name/eztv/media_id/' , ajax_update_element: 'media_details_content' });
			
