// JavaScript Ajax httprequest

/* -------------- AJAX  ------------------------------------------------------------------------- */
	/* -------------- ------------ ------------------------------------------------------------------------- */
	
	function getHttp_Request(){
		
		var http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/html; charset=utf-8');
                // Voir la note ci-dessous à propos de cette ligne
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Abandon :( Impossible de cr&eacute;er une instance XMLHTTP');
            return false;
        }else{
			return http_request;
		}
		
	}
	
	
	
    function objectDetailsRecept(http_request, obj) {
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    //debugeWrite("objectDetailsRecept : " + http_request.responseText);
					obj.dataReceive(http_request.responseText, obj);
					
                } else {
                    debugeWrite('Un problème est survenu au cours de la requête.');
                }
            }
        }
        catch( e ) {
            debugeWrite("objectDetailsRecept: Une exception s'est produite : " + e.description);
        }

    }
	
	
	/*-----------------------------   fonctions de reception des donn&eacute;es après modification  -----------------*/
	
	
	
	function updateDetailsRecept(http_request, obj) {
		//debugeWrite("updateDetailsRecept :  on recoit les donn&eacute;es");
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
		switch(http_request.readyState){
					case 1 : //ouverture du transfert
						//on change le contenu du div
						pointeurMaster.changeDivContent("Ouverture de la connection....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 2 : // envoi des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("Transfert des donn&eacute;es....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 3 : // reception des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("R&eacute;ception des donn&eacute;es...","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					
					
		}
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    //debugeWrite(http_request.responseText);
					obj.dataReceiveFromServer(http_request.responseText, obj);
                } else {
                    
					debugeWrite('updateDetailsRecept : \nUn problème est survenu au cours de la reception des donn&eacute;es en retour du serveur.');
                }
            }
        }
        catch( e ) {
            debugeWrite("updateDetailsRecept : \nUne exception s'est produite : " + e.description);
        }

    }
	
	
	/*---------------------------------------------------------------- suppression d'un object -------------------------------------------------------------- */
	
	
	 function objectDeleteRecept(http_request, obj) {
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite("objectDeleteRecept : " + http_request.responseText);
					obj.dataReceiveDeleteOrder(http_request.responseText, obj);
					
                } else {
					//on change le contenu du div
					obj.changeDivContent("Un problème est survenu au cours lors de la tentative de suppression...","popStatus");
					//on transforme l'ombre dessous le div
					obj.changeDivOmbre("popObject", "tblPopObject");
                    debugeWrite('Un problème est survenu au cours lors de la tentade la requête.');
                }
            }
        }
        catch( e ) {
				//on change le contenu du div
					obj.changeDivContent("Une exception s'est produite : " + e.description ,"popStatus");
					//on transforme l'ombre dessous le div
					obj.changeDivOmbre("popObject", "tblPopObject");
           			debugeWrite("objectDeleteRecept: Une exception s\'est produite : " + e.description);
        }

    }
	
	
	/*---------------------------------- r&eacute;ception des donn&eacute;es suites à l'insertion de la nouvelle notification ---------------------------------- */
	
	
	
	
	function addNotificationsRecept(http_request, obj) {
		
		debugeWrite("addNotificationsRecept :  on recoit les donn&eacute;es");
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
		switch(http_request.readyState){
					case 1 : //ouverture du transfert
						//on change le contenu du div
						pointeurMaster.changeDivContent("Ouverture de la connection....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 2 : // envoi des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("Transfert des donn&eacute;es....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 3 : // reception des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("R&eacute;ception des donn&eacute;es...","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					
					
		}
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite(http_request.responseText);
					obj.dataReceiveNotificationFromServer(http_request.responseText, obj);
                } else {
                    
					debugeWrite("addNotificationsRecept : \nProblème lors de l\'insertion de votre notification.");
                }
            }
        }
        catch( e ) {
            debugeWrite("addNotificationsRecept : \nUne exception s\'est produite : " + e.description);
        }

    }
	
	
	
	/*---------------------------------- r&eacute;ception des donn&eacute;es suites à la demande d'information sur une notifications ---------------------------------- */
	
	
	
	
	function getNotificationsRecept(http_request, obj) {
		debugeWrite("getNotificationsRecept :  on recoit les donn&eacute;es");
		
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
		switch(http_request.readyState){
					case 1 : //ouverture du transfert
						//on change le contenu du div
						pointeurMaster.changeDivContent("Ouverture de la connection....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 2 : // envoi des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("Transfert des donn&eacute;es....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 3 : // reception des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("R&eacute;ception des donn&eacute;es...","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					
					
		}
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite(http_request.responseText);
					obj.dataReceiveNotificationsValue(http_request.responseText, obj);
                } else {
                    
					debugeWrite("getNotificationsRecept : \nProblème lors de la r&eacute;cup&eacute;ration d'information notification.");
                }
            }
        }
        catch( e ) {
            debugeWrite("getNotificationsRecept : \nUne exception s\'est produite : " + e.description);
        }

    }
	
	/*---------------------------------------------------------------- changement de l'ordre d'affichage d'un object  -------------------------------------------------------------- */
	
	
	 function objectChangeOrderRecept(http_request, obj) {
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite("objectChangeOrderRecept : " + http_request.responseText);
					obj.receiveUpdateOrder(http_request.responseText, obj);
					
                } else {
					//on change le contenu du div
					obj.changeDivContent("Un problème est survenu au cours lors de la tentative de modification d'ordre...","popStatus");
					//on transforme l'ombre dessous le div
					obj.changeDivOmbre("popObject", "tblPopObject");
                    debugeWrite("Un problème est survenu au cours lors de la tentative de modification d'ordre...");
                }
            }
        }
        catch( e ) {
				//on change le contenu du div
					obj.changeDivContent("Une exception s'est produite : " + e.description ,"popStatus");
					//on transforme l'ombre dessous le div
					obj.changeDivOmbre("popObject", "tblPopObject");
           			debugeWrite("objectChangeOrderRecept: Une exception s\'est produite : " + e.description);
        }

    }
    
    /*------------------------------------------ supression d'une notification --------------------------------------------------------------*/
    
    
    
	function objectDeleteNotificationRecept(http_request, obj) {
		
		debugeWrite("objectDeleteNotificationRecept :  on recoit les donn&eacute;es");
		
		//on affiche la barre de progression
		obj.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
		
		switch(http_request.readyState){
					case 1 : //ouverture du transfert
						//on change le contenu du div
						pointeurMaster.changeDivContent("Ouverture de la connection....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 2 : // envoi des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("Transfert des donn&eacute;es....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 3 : // reception des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("R&eacute;ception des donn&eacute;es...","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					
					
		}
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite(http_request.responseText);
					obj.dataReceiveDeleteNotificationFromServer(http_request.responseText, obj);
                } else {
                    
					debugeWrite("objectDeleteNotificationRecept : \nProblème lors de la supression de votre notification.");
                }
            }
        }
        catch( e ) {
            debugeWrite("objectDeleteNotificationRecept : \nUne exception s\'est produite : " + e.description);
        }

    }
    
    
    
    /*------------------------------------------ Reception de la liste des objects --------------------------------------------------------------*/
    
    
    
	function getObjectListRecept(http_request, obj) {
		
		debugeWrite("getObjectListRecept :  on recoit les donn&eacute;es");
		
		//on affiche la barre de progression
		pointeurMaster.afficheProgression(http_request.readyState, "imgProgress", "popProgression");
		
		switch(http_request.readyState){
					case 1 : //ouverture du transfert
						//on change le contenu du div
						pointeurMaster.changeDivContent("Ouverture de la connection....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 2 : // envoi des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("Transfert des donn&eacute;es....","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					case 3 : // reception des donn&eacute;es
						//on change le contenu du div
						pointeurMaster.changeDivContent("R&eacute;ception des donn&eacute;es...","popStatus");
						//on transforme l'ombre dessous le div
						pointeurMaster.changeDivOmbre("popObject", "tblPopObject");
						break;
					
					
		}
		
        try {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    debugeWrite(http_request.responseText);
					obj.getObjectListFromServer(http_request.responseText, obj);
                } else {
                    //erreur script serveur
					debugeWrite("getObjectListRecept : \nProblème lors de la recuperation de la list d'object.");
                }
            }
        }
        catch( e ) {
            //erreur script client
            debugeWrite("getObjectListRecept : \nUne exception s\'est produite : " + e.description);
        }

    }
    
    
    