PCascade.prototype.addSelect = function(arr)
{
	if (typeof arr != "object" || !isset(arr))
		return ErreurObj("Donnée Invalide");

	this.select.push(arr);
}

PCascade.prototype.getAjaxData = function(index)
{
	var c1;
	var data = '';
	
	for (c1 = 0; c1 < index; c1++)
	{
		var select_id = 'select_' + this.select[c1]['id'];
		var select_value = document.getElementById(select_id).value;
		if (c1)
			data += '&';
		data += this.select[c1]['id'] + '=' + select_value;
	}
	
	if (data != '')
		data += '&';

	var select_id = 'select_' + this.select[index]['id'];
	
	data += 'index='+ index + '&select_id=' + select_id + '&sql='+escape(this.select[index]['sql']);
	
	return (data);
}

PCascade.prototype.display_select = function(txt)
{
	var info = txt.split(':');
	
	var index = info[0];
	var html = info[1];

	var id_conteneur = 'conteneur_'+this.select[index].id;
	var id_select = 'select_'+this.select[index].id;
	
	document.getElementById(id_conteneur).innerHTML = html;
	
	if (isset(this.select[index]['default_val']))
	{
		document.getElementById(id_select).value = this.select[index]['default_val'];
		
		if ((parseInt(index)+1) < this.select.length)
			this.execute(parseInt(index)+1);
	}
}

PCascade.prototype.execute = function(index)
{
	if (parseInt(index) >= this.select.length)
		return;

	if (this.select.length)
	{
		var data = this.getAjaxData(index);
		ObjAJAX = new PAjax();
		ObjAJAX.setParam ({
							url          : '/E-learning/v3/scripts/Popeye.lib/ajax.cascade.php',
							returnFormat : 'txt',
							method       : 'POST',
							data         : data, //'value=1&id=12',
							asynchronus  : true,
							onComplete   : this.call_back,
							debug		 : false});
		ObjAJAX.execute();
	}
}

function PCascade(call_back)
{
	this.call_back = call_back;
	this.select = new Array();
}
