/* 
 * fonction de prÃ©paration de requÃ¨tes asynchrones
 * filename : url du fichier Ã  pointer
 * callBack id de l'element qui 
 */
var waiting = { 
    mask :null,
    wait :null,
   
    start: function(target) {
        alert(target.offsetWidth);
       
        var mask = document.createElement("div");
        mask.innerHTM="bonjour";
        mask.className='modal';
        mask.style.width= target.offsetWidth;
        mask.style.height= target.offsetHeight;
        
        document.body.appendChild(mask);
    //target.appendChild(waiting.mask);
    }
    
};
    
function  ajax (filename,content,type,method,data,callBack){
    var xhr_object = null;
   
    if(window.XMLHttpRequest) // Firefox
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // Internet Explorer
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else { // XMLHttpRequest non supportÃ© par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        return false;
    }
    xhr_object.open(method, filename, true);
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    
    // lancement de l'ecouteur de transaction
    xhr_object.onreadystatechange = function() {
        if(xhr_object.readyState == 2) {  
        // waiting.start(document.getElementById(callBack));
        }
        // si la transaction est fini on injecter le code html retournÃ©
        //  dans la div de l'onglet
        else if(xhr_object.readyState == 4) {  
            if (type == 'html' )
                content.innerHTML= xhr_object.responseText;
            if (callBack)
                eval(callBack);  
        } 
    }
    // on envoit la requÃ¨te
    xhr_object.send(data);   
    return true; 
};

