var nbaVideoPlaylist= {
	/* struct of playlists, in form {'key': [array of video IDs]} */
	playlists: {
		'main': []
	},
	selectedPlaylist: '',
	// reference to nbaVideoPlayer
	videoPlayer: {},


	setSelectedPlaylist: function(strPlaylist) {
		if (this.playlists[strPlaylist]) {
			this.selectedPlaylist = strPlaylist;	
			this.videoPlayer.playlist = this.playlists[strPlaylist];
			this.videoPlayer.log('nbaVideoPlaylist: set playlist to: ' + strPlaylist);
		}
	},
	getSelectedPlaylist: function() {
		return this.selectedPlaylist;	
	},


	setPlaylist: function(playlist_key, arrVideoIDs) {
		this.playlists[playlist_key] = arrVideoIDs;
	},

	// will take an array or an indiviual value as videoID parameter
	appendPlaylist: function(strPlaylist, videoID) {
		if (!this.playlists[strPlaylist]) {
			this.playlists[strPlaylist] = [];
		}
		if (Object.isArray(videoID)) {
			var ct = videoID.length;
			for (var i=0; i < ct; i++) {
				this.playlists[strPlaylist].push(videoID[i]);
			}			
		} else {
			this.playlists[strPlaylist].push(videoID);
		}
	},
	
	// will take an array or an indiviual value as videoID parameter
	replaceInPlaylist: function(strPlaylist, videoID) {
		if (!this.playlists[strPlaylist]) {
			this.playlists[strPlaylist] = [];
		}
		if (Object.isArray(videoID)) {
			var ct = videoID.length;
			for (var i=0; i < ct; i++) {
				var currVideoId = videoID[i];
				if (this.playlists[strPlaylist].indexOf(currVideoId) > -1) {
					this.playlists[strPlaylist].splice(this.playlists[strPlaylist].indexOf(currVideoId), 1);
				}
				this.playlists[strPlaylist].push(videoID[i]);
			}			
		} else {
			if (this.playlists[strPlaylist].indexOf(videoID) > -1) {
				this.playlists[strPlaylist].splice(this.playlists[strPlaylist].indexOf(videoID), 1);
			}
			this.playlists[strPlaylist].push(videoID);
		}
	},	
	
	
	clearPlaylist: function(strPlaylist) {
		this.playlists[strPlaylist] = [];	
	},
	
	getPlaylist: function(strPlaylist) {
		return (this.playlists[strPlaylist]) ?  this.playlists[strPlaylist]: [];
	}	
}
