function ajaxError()
{
	this.number = 0;
	this.message = '';
}

function ajaxKeyText()
{
	this.id = 0;
	this.data = '';
}

function ajaxResult()
{
	this.error = new ajaxError;
	this.list = new Array;
}

function bldAjax_connexion()
{
	if (window.XMLHttpRequest)
	{
		xhr = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xhr;
}

function bldAjax_error(doc)
{
	var error = new ajaxError;
	
	var e;
	if(e = doc.getElementsByTagName('answerError').item(0))
	{
		for(var i=0; i < e.childNodes.length; i++)
		{
			if(e.childNodes[i].childNodes[0])
			{
				if(e.childNodes[i].nodeName == 'number')
				{
					error.number = parseInt(e.childNodes[i].childNodes[0].nodeValue);
				}
				if(e.childNodes[i].nodeName == 'message')
				{
					error.message = e.childNodes[i].childNodes[0].nodeValue;
				}
			}
		}
	}
	
	return error;
}

function bldAjax_connect(url,callback)
{
	var xhr = bldAjax_connexion();
	xhr.onreadystatechange = function()
	{
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200)
			{
				o.innerHTML = 'OK !';
				
				var doc = xhr.responseXML;
				var element = doc.getElementsByTagName('answerData').item(0);
				
				var result = new ajaxResult;
				result.error = bldAjax_error(doc);
				
				for(var i=0; i < element.childNodes.length; i++)
				{
					if(element.childNodes[i].nodeName == 'elementId')
					{
						rE = new ajaxKeyText;
					}
				}
			}
			else
			{
				o.innerHTML = 'Erreur';
			}
		}
		else
		{
			o.innerHTML = 'Chargement';
		}
	}

	xhr.open('GET',url,true);
	xhr.send(null);
}

