/**
 * @author 		Yann Ponzoni
 * @copyright	Feerik
 * @date		Dec 2008
 */


	// Constantes
	//const 'ERR_UPDATENAV' = 'Abandon :(\rImpossible de créer une instance XMLHTTP\r\rVeuillez mettre votre navigateur à jour.';
	//const 'ERR_UNKNOW'	= 'Un problème est survenu...';

	/**
	 * AJAX : Permet de charger le retour d'un appel AJAX dans une division présente dans le code HTML
	 * @param	param : Liste des parametres à fournir
	 * @param	divId : Division ciblée qui contiendra le retour de l'appel AJAX
	 * @return	<none>
	 * @deprecated
	 */
	function AJAX(param, divId) {
	    var httpRequest = initAJAX();
	
	    if (!httpRequest) {
	        alert('ERR_UPDATENAV');
	        return false;
	    }
	
	    httpRequest.onreadystatechange = function() { loadTemplateIntoDiv(httpRequest, divId); };
	    httpRequest.open('GET', 'ajax.php?'+ param, true);
	    httpRequest.send(null);
	}
	
	
	/**
	 * AJAX : Permet de charger le retour d'un appel AJAX en POST à l'interieur d'un Alert();
	 * @param	module 	: Liste des parametres à fournir en GET	
	 * @param	param 	: Liste des parametres à fournir en POST
	 * @return	<none>
	 * @deprecated
	 */
	function AJAXpost(module, param) {
	    var httpRequest = initAJAX();
	
	    if (!httpRequest) {
	        alert('ERR_UPDATENAV');
	        return false;
	    }

	    httpRequest.onreadystatechange = function() { alertRequest(httpRequest); };
	    httpRequest.open('POST', 'ajax.php?'+ module, true);
	    httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	    httpRequest.send(param);
	}
	
	
	/**
	 * AJAX : Permet de charger le retour d'un appel AJAX en POST à l'interieur d'une div
	 * @param	module 	: Liste des parametres à fournir en GET	
	 * @param	param 	: Liste des parametres à fournir en POST
	 * @param	divId : Division ciblée qui contiendra le retour de l'appel AJAX
	 * @return	<none>
	 * @deprecated
	 */
	function AJAXpostInDiv(module, param, divId) {
	    var httpRequest = initAJAX();
	
	    if (!httpRequest) {
	        alert('ERR_UPDATENAV');
	        return false;
	    }

	    httpRequest.onreadystatechange = function() { loadTemplateIntoDiv(httpRequest, divId); };
	    httpRequest.open('POST', 'ajax.php?'+ module, true);
	    httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	    httpRequest.send(param);
	}

	
	/**
	 * AJAX : Permet de charger le retour d'un appel AJAX en POST à l'interieur d'un Alert();
	 * @param	module 	: Liste des parametres à fournir en GET	
	 * @param	param 	: Liste des parametres à fournir en POST
	 * @return	<none>
	 * @deprecated
	 */
	function SJAXpost(module, param) {
	    var httpRequest = initAJAX();
	
	    if (!httpRequest) {
	        alert('ERR_UPDATENAV');
	        return false;
	    }

	    httpRequest.onreadystatechange = function() { alertRequest(httpRequest); };
	    httpRequest.open('POST', 'ajax.php?'+ module, false);
	    httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	    httpRequest.send(param);
	}
	
    /**
     * AJAX (Debug) : Affiche le contenu du retour de l'appel AJAX dans un alert()
     * @param	param : Liste des parametres pour appeller la bonne fonction
     * @return	<none>
	 * @deprecated
     */
    function AJAX_debug(param) {
        var httpRequest = initAJAX();

        if (!httpRequest) {
            alert('ERR_UPDATENAV');
            return false;
        }

        httpRequest.onreadystatechange = function() { alertRequest(httpRequest); };
        httpRequest.open('GET', 'ajax.php?'+ param, true);
        httpRequest.send(null);
	}

    
    /** 
     * AJAX (Execution de javascript)
	 * @deprecated
     * @param param
     * @return
     */
    function AJAX_JS(param) {
        var httpRequest = initAJAX();

        if (!httpRequest) {
            alert('ERR_UPDATENAV');
            return false;
        }

       	httpRequest.onreadystatechange = function() { execJS(httpRequest); };
        httpRequest.open('GET', 'ajax.php?'+ param, true);
        httpRequest.send(null);
    }

    
    /** 
     * SJAX
	 * @deprecated
     * @param param
     * @return
     */
    function SJAX(param) {
        var httpRequest = initAJAX();

        if (!httpRequest) {
            alert('ERR_UPDATENAV');
            return false;
        }

        httpRequest.onreadystatechange = function() {
		    if (httpRequest.readyState == 4) {
	            if (httpRequest.status == 200) {
	            	;//alert(httpRequest.responseText);
	            } else {
	                alert('Un problème est survenu...');
	            }
	        }
	    };
        httpRequest.open('GET', 'ajax.php?'+ param, false);
        httpRequest.send(null);
    }

    
	/**
	 * SJAX : Permet de charger le retour d'un appel SJAX dans une division présente dans le code HTML
	 * @param	param : Liste des parametres à fournir
	 * @param	divId : Division ciblée qui contiendra le retour de l'appel AJAX
	 * @return	<none>
	 * @deprecated
	 */
	function SJAX_inDiv(param, divId) {
		
	    var httpRequest = initAJAX();
	
	    if (!httpRequest) {
	        alert('ERR_UPDATENAV');
	        return false;
	    }
	
	    httpRequest.onreadystatechange = function() { loadTemplateIntoDiv(httpRequest, divId); };
	    httpRequest.open('GET', 'ajax.php?'+ param, false);
	    httpRequest.send(null);
	}

    /** 
     * AJAX : Fonction d'initialisation
	 * @deprecated
     * @return
     */
    function initAJAX () {
    	
        var httpRequest = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
            }
        }
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {
                	;
                }
            }
        }

        return httpRequest;
    }

    
	/**
	 * AJAX : Charge le resultat dans la div passé en param
	 * @deprecated
	 * @param httpRequest
	 * @param Divid
	 * @return
	 */
    function loadTemplateIntoDiv (httpRequest, Divid) {
        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
            	document.getElementById(Divid).innerHTML = httpRequest.responseText;
            } else {
                alert('ERR_UNKNOW');
            }
        }
    }
    
    /** 
     * AJAX : Affiche le retour dans un alert()
	 * @deprecated
     * @param httpRequest
     * @return
     */
    function alertRequest (httpRequest) {
        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
            	alert(httpRequest.responseText);
            } else {
                alert('ERR_UNKNOW');
            }
        }
    }
    
    /** 
     * AJAX : Execute du code Javascript pour qu'il soit interprété par la page
	 * @deprecated
     * @param httpRequest
     * @return
     */
    function execJS(httpRequest) {
        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
            	window.eval(httpRequest.responseText);
            } else {
                alert('ERR_UNKNOW');
            }
        }
    }

    
    