Basket = function() {
	this.media = [];
}

Basket.prototype.addMedia = function(media_id) {
	var args = {
		id: media_id,
		action: 'add'
	};
	
	var basket = this;
	$.getJSON(MEDIASERVER_URL + 'api/basket/?callback=?', args, function(data) {
		checkForError(data);
		
		basket.update();
		flashmessage('Added to My Selections', 'The media was added to <a href="#/basket/" onclick="closeflashmessage();">My Selections</a>.');
	});
}

Basket.prototype.removeMedia = function(ids) {
	var args = {
		id: ids.join(","),
		action: 'remove'
	};
	
	if(ids.length > 0) {
		var basket = this;
		$.getJSON(MEDIASERVER_URL + 'api/basket/?callback=?', args, function(data) {
			checkForError(data);
			
			loadBasket();
			basket.update();
			flashmessage('Removed', 'The media was removed from <a href="#/basket/" onclick="closeflashmessage();">My Selections</a>.');
		});
	} else {
		flashmessage('Select items', 'Please select the items you wish to remove first.');
	}
}

Basket.prototype.update = function() {
	var basket = this;
	$.getJSON(MEDIASERVER_URL + 'api/basket/?action=get&callback=?', {}, function(data) {
		checkForError(data);
		
		basket.media = data.ids;
		$("#show_basket_link").text('My selections ('+basket.media.length+' item'+(basket.media.length != 1 ? 's' : '')+')');
	});
}
