/* Webchat
-------------------------------------------------------- */
function MDM_openWebchat(theURL,winName,features) {
        var _W=window.open(theURL,winName,features);
        _W.focus();
        _W.moveTo(0,0);
}

/* Grise le bouton de soumission
-------------------------------------------------------- */
function soumission(formulaire) 
	{
	if (formulaire.elements['submit']  != null) 
		{
		if (formulaire.elements['submit'].disabled) 
			{
			return false;
			}
		formulaire.elements['submit'].disabled = true;
		formulaire.elements['submit'].value = 'Patientez';
		}
	return true;
	}
/* ---------------------------------------------------- */

<!-------- test ------->

function addEvent(source, type, callback) {
  // fonction d'abstraction pour enregistrer un gestionnaire d'evenement
  // comprend le DOM standard, la syntaxe prorietaire MSIE, l'ancien modele HTML
  // source : objet sur lequel ajouter le gestionnaire d'evenement
  // type : type d'evenement
  // callback : fonction qui traitera l'evenement
  if (source.addEventListener){		// code standard DOM
    source.addEventListener(type, callback, false);
    return true;
  } else if (source.attachEvent){ 	// code propriétaire MSIE
    var r = source.attachEvent("on"+type, callback);
    return r;
  } else {        	// code navigateur sans support DOM-event
    eval('source.on' + type + '= callback') ;
  }
}
function getStandardEvent(e) {
 // abstraction pour recuperer un objet standard pour l'evenement en cours 
 // comprend le modele DOM standard et le modele proprietaire de MSIE
 // e : parametre recu lors de l'appel du gestionnaire d'evenement 
 // retour : objet d'evenement standard
 if (e == null && window.event) {
   // cas particulier de MSIE pour recuperer l'evenement en cours
   e = window.event ;
 }
 if (e.target == null && e.srcElement) {
   // cas particulier de MSIE pour recuperer la balise DOM cible
   e.target = e.srcElement ;
 }
 if (! e.preventDefault ){
   // cas particulier de MSIE pour empecher l'action par defaut du navigateur
   e.preventDefault = function () { this.returnValue = false ; } ;
 }
 return e ;
}

function openLinkInPopupWhenClick(e) {
  // gestionnaire d'evenement actif lors d'un clic sur les liens
  // ouvre le lien dans une popup et pas dans une page normale
  // e : evenement de clic
  e = getStandardEvent(e)  ;
  var link =  e.target  ;
  var addr = link.getAttribute('href') ; 
  window.open(addr, '_blank', 'toolbar=1,directories=1,menubar=1,status=1,location=1,scrollbars=1,resizable=1,width=865,height=580')  ;
  e.preventDefault()  ;
  return false ;
}
function prepareHelpLinks() {
 // à chaque lien, on verifie s'il a "lien_ext" dans la liste de ses classes
 // si oui, on enregistre un gestionnaire d'evenement pour le clic de ce lien
 var link, list, i ;
 list = document.getElementsByTagName('a') ;
 for(i=0; i<list.length; i++) {
   link = list.item(i) ;
   if (link.getAttribute('href') && link.className) {
     if ((' '+link.className+' ').indexOf(' lien_ext ') != -1) {
       addEvent(link, 'click', openLinkInPopupWhenClick) ;
     }
   }
 }
}

if (document.getElementById) {
  addEvent(window, 'load', prepareHelpLinks) ;
}
<!-------- test ------->

/* Alerte Box
-------------------------------------------------------- */
var xhr = null;
 
// Fonction de creation de l'objet XMLHttpRequest qui resservira pour chaques fonctions AJAX
function getXhr()
 {
  if(window.XMLHttpRequest) 
	  {
	  xhr = new XMLHttpRequest(); 
	  }
  else if(window.ActiveXObject)
   {  
    try
     {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
     }
    catch (e)
     {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
   }
  else 
   { 
    alert("Your browser does not support XMLHttpRequest objects, please update it"); 
    xhr = false; 
   } 
 }

// fonction makeRequest à appeler avant le tag </body>
function makeRequest()
 {
  getXhr();
  xhr.onreadystatechange = function()
   {
    if(xhr.readyState == 4 && xhr.status == 200)
     {
		if (xhr.responseText != 0)
			{
			document.getElementById('alerte_messages').innerHTML = xhr.responseText;         		   
			initbox();
			}
     }
   }
   var url = '/www/messages/alerte_box.php';
  xhr.open("POST", url ,true);
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xhr.send("type="+url);
 }
 
// fonction blink_title afin de modifier la balise <title>
var titre_origine = document.title;
var titre = 'NEW MESSAGES';
function blink_title(etape) 
	{
	switch(etape)
    	{
		case 1 :
		document.title = titre;
		//setTimeout("blink_title(2)", 1000);
		break;
		
		case 2 :
		document.title = titre_origine;
		setTimeout("blink_title(1)", 400);
		break;
    	}
	}