
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/***   AJAX   ****************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/




function getXmlHttpRequest()
{
	if(window.XMLHttpRequest) // Firefox et autres
    {
		return new XMLHttpRequest(); 
    }
	else if(window.ActiveXObject) // Internet Explorer 
	{ 
    	try
		{
        	return new ActiveXObject("Msxml2.XMLHTTP");
        }
		catch (e)
		{
        	return new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    else // XMLHttpRequest non supporté par le navigateur 
    {
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
        return false; 
    } 
}
   
function ajaxRequestWithLoading(url,element,asynchrone)
{
	
	
	var xhr = getXmlHttpRequest()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		document.getElementById("AjaxLoading").style.display="block";
		
		if(xhr.readyState == 4 && xhr.status == 200)
		{	if (element != null)
			{
				element.innerHTML = xhr.responseText;
				document.getElementById("AjaxLoading").style.display="none";
				//element.innerHTML = xhr.responseXML;    
			}
		}
	}
	xhr.open('GET', url, asynchrone);
	xhr.send(null);

} 


function ajaxRequestSynchrone(url,element,msgAttente,asynchrone)
{

if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
// ON APPELLE LA PAGE
xhr_object.open("GET",url, asynchrone);
xhr_object.send(null);

res = xhr_object.responseText;
element.innerHTML = res;
}
   
            
function ajaxRequest(url,element,msgAttente,asynchrone)
{
	if (element != null)
	{
		if (msgAttente != null)
		{
			element.innerHTML = msgAttente;
		}
	}
	
	var xhr = getXmlHttpRequest()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{	if (element != null)
			{
				element.innerHTML = xhr.responseText;
				//element.innerHTML = xhr.responseXML;    
			}
		}
	}
	xhr.open('GET', url, asynchrone);
	xhr.send(null);
} 


function ajaxRequestAvecRetour(url)
{
	var xhr = getXmlHttpRequest()
	// On défini ce qu'on va faire quand on aura la réponse
	
	var retour;
	
	xhr.open('GET', url, false);
	xhr.setRequestHeader('Accept','message/x-jl-formresult')
	xhr.send(null);

if (xhr.status == 200) {
	retour = xhr.responseText;
}
else {
// handle different response status here
}
	return retour;
} 


function eval_ajaxRequest(url,asynchrone)
{
	var xhr = getXmlHttpRequest()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{	if (element != null)
			{
				eval( xhr.responseText);
				//element.innerHTML = xhr.responseXML;    
			}
		}
	}
	xhr.open('GET', url, asynchrone);
	xhr.send(null);
} 


function ajaxRequestForCombo(url,elementname,asynchrone)
{
	var xhr = getXmlHttpRequest();
	var element=document.getElementById(elementname);
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{	
			if (element != null)
			{
            	xmlResult = xhr.responseXML;    
	           
				var value; //variable de traitement contenant la valeur courante de la combo
                var id; // variable de traitement contenant la valeur courante de l'indice
                                
                //vidons la combo 
                element.options.length = 0;
                                
                // pour toutes les options  
                for(i=0;i<xmlResult.getElementsByTagName("option").length;i++)
                {
                	curNoeud = xmlResult.getElementsByTagName("option")[i];
                    //recuperons les valeurs de l'elements courant.
                    value = curNoeud.firstChild.nodeValue;
                   // alert(value);
                    id = curNoeud.attributes.getNamedItem("value").value;    
                    selected = curNoeud.attributes.getNamedItem("selected");
					//nous pouvons l'option courante
                    element.options[i] = new Option(value,id);
                    //il faut peut etre selectionner l'option courante
                    if(selected != null)
                    {
                    	element.options[i].selected = selected.value;
                    }
                }
			}
		}
	}
	xhr.open('GET', url, asynchrone);
	xhr.send(null);
}

function aaa(noeud)
{
	for(i=0; i<xmlResult.getElementsByTagName("input").length; i++)
                {
                	//alert (i);
                	curNoeud = xmlResult.getElementsByTagName("input")[i];
                    
                    //recuperons les valeurs de l'elements courant.
                    label = curNoeud.firstChild.nodeValue;
                   	value = curNoeud.attributes.getNamedItem("value").value;
                   	type = curNoeud.attributes.getNamedItem("type").value; 
                   	id = curNoeud.attributes.getNamedItem("id").value;
                   	name = curNoeud.attributes.getNamedItem("name").value; 
                    checked = curNoeud.attributes.getNamedItem("checked");

					//cree l'élément
                    radio = document.createElement("input");
                    radiolabel = document.createTextNode(label);
                    radio.name = name;
                    radio.value = value;
                    radio.type = type;
                    
                    
                    //ajoute l'élément
                    parentElement.appendChild(radio);
                    radio.appendChild(radiolabel);
                    
                    //il faut peut etre selectionner l'option courante
                    if(checked != null)
                    {
                    	radio.checked = true;
                    }
                }
}


function ajaxRequestForRadio(url,parentElement,grpRadioName,asynchrone)
{
	var xhr = getXmlHttpRequest()
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{	
			if (parentElement != null)
			{
            	parentElement.innerHTML = xhr.responseText;
            	
            	
            	xmlResult = xhr.responseXML;   
            	
                //vidons le contenu de l'élément parent
                //parentElement.innerHTML = "";
                                                          
                
			}
		}
	}
	xhr.open('GET', url, asynchrone);
	xhr.send(null);
}

/*****************************************************************************************************************/
/*****************************************************************************************************************/
/***   TRIM  *****************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/

var regExpBeginning = /^\s+/;
var regExpEnd       = /\s+$/;
 
// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.
function trim(aString) 
{
    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}
 
// Supprime les espaces inutiles en début de la chaîne passée en paramètre.
function ltrim(aString) 
{
    return aString.replace(regExpBeginning, "");
}
 
// Supprime les espaces inutiles en fin de la chaîne passée en paramètre.
function rtrim(aString) 
{
    return aString.replace(regExpEnd, "");
} 

/*****************************************************************************************************************/
/*****************************************************************************************************************/
/***   VALIDATION  ***********************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/

function ValideAdresseEmail(Adresse)
{
	verif = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-.]{2,}[.][a-zA-Z.]{2,3}$/
   	if (verif.exec(Adresse) == null)
	{
		return false;
	}
	else
	{
		return true;
	}	
}

function ValideInteger(Nombre)
{
	if (Nombre != '')
	{
		if (isNaN(Nombre) == false)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

function TailleCompriseEntre (Chaine, min, max)
{
	if (min != 0)
	{
		if (Chaine.length < min)
		{
			return false;
		}
	}
	
	if (max != 0)
	{
		if (Chaine.length > max)
		{
			return false;
		}
	}
	
	return true;
}

/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*   AUTRES   ****************************************************************************************************/
/*****************************************************************************************************************/








