﻿// Gestion asynchrone
var NomDuNavigateur = navigator.appName;


 function SetURI(url)
        {var d = new Date()
        if (url.indexOf("?")>-1)
            {url += "&date=" + encodeURI(d.toTimeString())}
         else
            {url += "?date=" + encodeURI(d.toTimeString())}
         return url
        }
 
 var curUpdateText=null;        
 function getHtmlFragmentWithFunction(url,NextStep)          
        {
        var objHttp = null;

        if (window.XMLHttpRequest)
            {objHttp = new XMLHttpRequest();
            }
        else if (window.ActiveXObject)
            {try {objHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
            catch (e)
                {
                try {objHttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                catch (e)
                {}
            }
        }
 
        
         if (objHttp != null)
             {objHttp.onreadystatechange = function() {SetHtmlFragmentWithFunction(objHttp,NextStep); }
             objHttp.open ("GET", SetURI(url), true) 
             objHttp.send(null)
                
             } 
        } 
            
 function SetHtmlFragmentWithFunction(objHttp,NextStep)
        {if (objHttp.readyState == 4) 
            {if (objHttp.status == 200)
                {curUpdateText = objHttp.responseText
                eval(NextStep)
                }
            else 
                {alert('Un problème est survenu avec la requête. (erreur ' + objHttp.status + ")");
                }
            }
        }         
           
          
          
           
           
                 
function getHtmlFragment(url,targetObjId)          
        {
        var objHttp = null;

        if (window.XMLHttpRequest)
            {objHttp = new XMLHttpRequest();
            if (objHttp.overrideMimeType)
                {objHttp.overrideMimeType('text/xml');
                }
            }
        else if (window.ActiveXObject)
            {try {objHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
            catch (e)
                {
                try {objHttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                catch (e)
                {}
            }
        }
 
        
         if (objHttp != null)
             {document.getElementById(targetObjId).innerHTML="<img src='../../inc/Images/wait.gif' style='margin:12px' />"
             objHttp.onreadystatechange = function() {SetHtmlFragment(objHttp,targetObjId); }
             objHttp.open ("GET", SetURI(url), true) 
             objHttp.send(null)
                
             } 
        }
            
 function SetHtmlFragment(objHttp,targetObjId)
        {if (objHttp.readyState == 4) 
            {if (objHttp.status == 200)
                {
                var strHTML = objHttp.responseText
                var obj=document.createElement("div")                     
                obj.innerHTML = strHTML
                if (obj.childNodes[0].tagName=="FORM")
                    {document.getElementById(targetObjId).innerHTML=obj.childNodes[0].innerHTML} // .childNodes[3] pour firefox !!!
                else
                    {document.getElementById(targetObjId).innerHTML=obj.innerHTML}    
                }
            else 
                {alert('Un problème est survenu avec la requête. (erreur ' + objHttp.status + ")");
                }
            }
        }         
                
function getAsyncXmlDocument(url, NextStep)          
    {
     if(window.XMLHttpRequest) 
        {objHttp = new XMLHttpRequest();
        if(NomDuNavigateur=="Netscape")
            {objHttp.overrideMimeType("text/xml");}
        }
     else
        {if(window.ActiveXObject) 
            {objHttp = new ActiveXObject("Microsoft.XMLHTTP");}
        else 
            {alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
            }
         }    
     
    if (objHttp != null)
         {objHttp.onreadystatechange = function() {SetXmlDocumentCompl(objHttp,NextStep); }
         objHttp.open ("GET", SetURI(url) , true) 
         objHttp.send(null)        
         } 
    } 
    
 var curUpdatedXmlDocument=null;
 function SetXmlDocumentCompl(objHttp, NextStep)
        {if (objHttp.readyState == 4) 
            {if (objHttp.status == 200)
                {curUpdatedXmlDocument = objHttp.responseXML.documentElement	
                eval(NextStep)}
            else 
                {alert('Un problème est survenu avec la requête. (erreur ' + objHttp.status + ")");
                }
            }
        }         
            
       
// Mises à jour synchrones
function updateParamWithReturn(url)          
    {var UpobjHttp=null
    if(window.XMLHttpRequest) 
        {UpobjHttp = new XMLHttpRequest();}
     else
        {if(window.ActiveXObject) 
            {UpobjHttp = new ActiveXObject("Microsoft.XMLHTTP");}
        else 
            {alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;}
         }    
    
     if (UpobjHttp != null)
         {document.body.style.cursor="wait"
         
         UpobjHttp.open ("GET",SetURI(url) , false) 
         UpobjHttp.send(null)
     
         var retString = new String
         retString = UpobjHttp.responseText	
         document.body.style.cursor="default"
         return retString
         } 
    }
 
 
 