/* List Management */
var key = 'baltazar_selection';

function add_list(id, name, number, option)
{
	var contenu = '';
	
	//récupère le cookie de sauvegarde s'il existe
	if(Cookie.read(key)){
		contenu += Cookie.read(key);
	}
	
	// If cookie is empty
	if(contenu != '')
	{
		var new_cookie = '';
		var exists = false;
		// Clean informations
		content = contenu.substr(0, (contenu.length-1));
		var selection = content.split("|");
		
		for(i=0;i<selection.length;i++)
		{
			// Delete informations
			str_delete = selection[i]+'|';
			
			// Clean information
			selection[i] = selection[i].substr(0, (selection[i].length-1));
			selection_infos = selection[i].split(';');
			
			if(selection_infos[0] == id)
			{
				selection_infos[2] = selection_infos[2].toInt() + 1;
				new_cookie += selection_infos.join(";")+";|";
				exists = true;
			}
			else
				new_cookie += str_delete;
		}
		
		if(!exists)
			new_cookie += id + ';' + name + ';' + number + ';' + option + '|';
			
		// Writing modified cookie
		Cookie.write(key, new_cookie, { path:'/' });
		// Displaying list
		list_display();
	}
	else
	{
		contenu += id + ';' + name + ';' + number + ';' + option + '|';
		if(Cookie.write(key, contenu, { path:'/' })){
			list_display();
			return true;
		}
		return false;
	}
	
}

function del_selection(str)
{
	var contenu = Cookie.read(key);
	contenu = contenu.replace(str, '');
	Cookie.write(key, contenu, { path:'/' });
	list_display();
}

function list_display()
{
	var content = '';
	var content_display = '';
	
	if(Cookie.read(key)){
		content += Cookie.read(key);
	}
	
	if(content != '')
	{
		// Clean informations
		content = content.substr(0, (content.length-1));
		var selection = content.split("|");
		
		for(i=0;i<selection.length;i++)
		{
			// Delete informations
			str_delete = selection[i]+'|';
			
			// Clean information
			selection[i] = selection[i].substr(0, (selection[i].length-1));
			selection_infos = selection[i].split(';');
			content_display += '<div class="listing_element"><div class="desc_element">- ' + selection_infos[1] + '</div><div class="nb_element">x' + selection_infos[2] + '</div><div class="add-rem_element"><a href="javascript: void(0);" onclick="remove_element('+selection_infos[0]+');" class="rem_elem">&nbsp;</a><a href="javascript:void(0);" onclick="add_element('+selection_infos[0]+');" class="add_elem">&nbsp;</a></div><div class="cb"></div></div>';
		}
	}
	
	$('liste').set('html', content_display);
}

function add_element(id)
{
	var content = '';
	var new_cookie = '';
	
	if(Cookie.read(key)){
		content += Cookie.read(key);
	}
	
	if(content != '')
	{
		// Clean informations
		content = content.substr(0, (content.length-1));
		var selection = content.split("|");
		
		for(i=0;i<selection.length;i++)
		{
			// Delete informations
			str_delete = selection[i]+'|';
			
			// Clean information
			selection[i] = selection[i].substr(0, (selection[i].length-1));
			selection_infos = selection[i].split(';');
			
			if(selection_infos[0] == id)
			{
				selection_infos[2] = selection_infos[2].toInt() + 1;
				new_cookie += selection_infos.join(";")+";|";
			}
			else
				new_cookie += str_delete;
		}
	}
	
	// Writing modified cookie
	Cookie.write(key, new_cookie, { path:'/' });
	// Displaying list
	list_display();
}

function remove_element(id)
{
	var content = '';
	var new_cookie = '';
	
	if(Cookie.read(key)){
		content += Cookie.read(key);
	}
	
	if(content != '')
	{
		// Clean informations
		content = content.substr(0, (content.length-1));
		var selection = content.split("|");
		
		for(i=0;i<selection.length;i++)
		{
			// Delete informations
			str_delete = selection[i]+'|';
			
			// Clean information
			selection[i] = selection[i].substr(0, (selection[i].length-1));
			selection_infos = selection[i].split(';');
			
			if(selection_infos[0] == id)
			{
				if(selection_infos[2] > 1)
				{
					selection_infos[2] = selection_infos[2].toInt() - 1;
					new_cookie += selection_infos.join(";")+";|";
				}
			}
			else
				new_cookie += str_delete;
		}
	}
	
	// Writing modified cookie
	Cookie.write(key, new_cookie, { path:'/' });
	// Displaying list
	list_display();
}