// ======= Standard =======

var isIE = false;
function TotalOffsetPos(object)
{
  var elementX = 0, elementY = 0;
  var element = object;
  do 
  {
    elementX += element.offsetLeft;
    elementY += element.offsetTop;
    element = element.offsetParent;
  } while(element && (element.style.position != 'absolute' || element.style.position != 'fixed'));
  return {x:elementX, y:elementY};
}
var Fenetre = function(titre, contenu)
{
  var conteneur = document.createElement("div");//Le conteneur de la fenêtre
  conteneur.className = "fenetre";
  conteneur.style.left = "10px";
  conteneur.style.top = "10px";
  
  var haut = document.createElement("h3");//Le haut de la fenêtre
  haut.className = "haut";
  
  //var icone = document.createElement("img");
  //icone.src = cheminIcone;
  //icone.alt = "";
  //icone.className = "icone";
  //haut.appendChild(icone);
  
  var titre = document.createTextNode(titre);//Le titre
  haut.appendChild(titre);
  
  
  conteneur.appendChild(haut);
  
  var corps = document.createElement("div");//Le corps
  corps.className = "corps";
  corps.appendChild(contenu);
  
  conteneur.appendChild(corps);
  
  var GWindow = new GBWindow(conteneur);
  var fond = document.getElementById("fenetreFond");
  GWindow.onOpen = function()
  {
    fond.className = "fenetreFond open";
  };
  
  GWindow.onClose = function()
  {
    fond.className = "fenetreFond";
  };
  this.ouvrir = function()
  {
    document.body.appendChild(conteneur);
    setTimeout(function()
    {
      GWindow.open();
    }, 20);
  };
  
  this.fermer = function()
  {
    GWindow.close();
    setTimeout(function()
    {
      if (conteneur) document.body.removeChild(conteneur);
    }, 700);
  };
  
  this.centrer = GWindow.center;
  var me = this;
  
  GWindow.onClose = function()
  {
    fond.className = "fenetreFond";
    setTimeout(function()
    {
      document.body.removeChild(conteneur);
    }, 700);
    me.onFermer();
  };
  
  this.onFermer = function(){};
  
  
};

function IsIE()
{
  return isIE;
}

function hsl2rgb(h, s, l)
{
  var r, g, b;
  var section = 1/6*255;
  
  if(h<=section) // 1/6
  {
    r=255;
    g=0;
    b=Math.round(h*6);
  }
  else if(h<=2*section) // 2/6
{
  r=Math.round(255-(h-section)*6);
  g=0;
  b=255;
}
else if(h<=3*section) // 3/6
{
  r=0;
  g=Math.round((h-2*section)*6);
  b=255;
}
else if(h<=4*section) // 4/6
{
  r=0;
  g=255;
  b=Math.round(255-(h-3*section)*6);
}
else if(h<=5*section) // 5/6
{
  r=Math.round((h-4*section)*6);
  g=255;
  b=0;
}
else if(h<=255) // 6/6
{
  r=255;
  g=Math.round(255-(h-5*section)*6);
  b=0;
}

var noir = l / 255;
var blanc = s / 255;


//on applique le blanc aux 3 couleurs :
r=Math.round((255-r)*blanc)+r;
g=Math.round((255-g)*blanc)+g;
b=Math.round((255-b)*blanc)+b;

// on applique le noir aux 3 couleurs :
r=Math.round(r*noir);
g=Math.round(g*noir);
b=Math.round(b*noir);

return{r:r, g:g, b:b}

}

function deci2hexa(nombre)
{
  return hexadecimal( Math.floor(nombre /16) ) + hexadecimal( nombre % 16 );
}

function hexadecimal(nombre)
{
  
  if(nombre < 10)
  {
    return nombre.toString(); // le nombre en chaîne de caractères.
  }
  else
  {
    
    switch (nombre)
    {
      case 10:
	return "A";
	break;
      case 11:
	return "B";
	break;
      case 12:
	return "C";
	break;
      case 13:
	return "D";
	break;
      case 14:
	return "E";
	break;
      case 15:
	return "F";
	break;
    }
  }
  
}
function GetSelection(fieldId)
{
  if(IsIE())
  {
    return document.selection.createRange().text;
  }
  else
  {
    var field = document.getElementById(fieldId);
    return field.value.substring(field.selectionStart, field.selectionEnd);
  }
}

function getXMLHttpRequest() {
  var xhr = null;
  
  if (window.XMLHttpRequest || window.ActiveXObject) {
    if (window.ActiveXObject) {
      try {
	xhr = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
	xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
    } else {
      xhr = new XMLHttpRequest();
    }
  } else {
    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
	return null;
  }
  
  return xhr;
}

// ======= Général =======

addEvent(window, "load", function(){
  var fond = document.createElement("div");
  document.body.appendChild(fond);
  fond.id = "fenetreFond";
  
  for(var win in GBWindows)
  {
    GBWindows[win].onOpen = function()
    {
      fond.className = "fenetreFond open";
    };
    
    GBWindows[win].onClose = function()
    {
      fond.className = "fenetreFond";
    };
  }
  
  if(GBWindows['fenConnexion'])
  {
    GBWindows['fenConnexion'].onOpen = function()
    {
      fond.className = "fenetreFond open";
      document.getElementById("pseudo").select();
      document.getElementById("pseudo").focus();
      
    };
  }
  
});

// ======= GForm =======

function insertTag(startTag, endTag, textareaId) 
{
  var field  = document.getElementById(textareaId);
  var scroll = field.scrollTop;
  field.focus(); 
  
  if(IsIE())
  {
    var currentSelection = document.selection.createRange().text;
    textRange.text = startTag + currentSelection + endTag;
    textRange.moveStart("character", -endTag.length - currentSelection.length);
    textRange.moveEnd("character", -endTag.length);
    textRange.select();
  }
  else
  {
    var startSelection   = field.value.substring(0, field.selectionStart);
    var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
    var endSelection     = field.value.substring(field.selectionEnd);
    field.value = startSelection + startTag + currentSelection + endTag + endSelection;
    field.focus(); // On remet le focus sur la zone de texte
    field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
  }        
  
  field.scrollTop = scroll; // et on redéfinit le scroll.
  
}

function insererLien(textareaId)
{
  var contenu = document.createElement("form");
  var selection = GetSelection(textareaId);
  
  var labelDestination = document.createElement("label");
  labelDestination.appendChild(document.createTextNode("Destination du lien : "));
  labelDestination.htmlFor = "destination";
  contenu.appendChild(labelDestination);
  var inputDestination = document.createElement("input");
  inputDestination.type = "text";
  inputDestination.id = "destination";
  contenu.appendChild(inputDestination);
  
  contenu.appendChild(document.createElement("br"));
  
  if(selection == "")
  {
    var labelTexte = document.createElement("label");
    labelTexte.appendChild(document.createTextNode("Texte du lien : "));
    labelTexte.htmlFor = "destination";
    contenu.appendChild(labelTexte);
    var inputTexte = document.createElement("input");
    inputTexte.type = "text";
    inputTexte.id = "destination";
    contenu.appendChild(inputTexte);
  }
  
  
  contenu.appendChild(document.createElement("br"));
  
  var boutonValider = document.createElement("button");
  boutonValider.setAttribute("type", "button");
  boutonValider.className = "boutonValider";
  boutonValider.appendChild(document.createTextNode("Valider"));
  contenu.appendChild(boutonValider);
  
  addEvent(boutonValider, "click", function()
  {
    fenetreLien.fermer();
    if(selection == "")
    {
      insertTag("[url=" + inputDestination.value + "]" + inputTexte.value + "[/url]", "", textareaId); 
    }
    else
    {
      insertTag("[url=" + inputDestination.value + "]", "[/url]", textareaId); 
    }
    
  });
  
  addEvent(contenu, "keypress", function()
  {
    if(event.keyCode != 13 && window.event.keyCode != 13) return false;
	   boutonValider.click();
    
    
  });
  
  var fenetreLien = new Fenetre("Insérer un lien", contenu);
  
  fenetreLien.ouvrir();
  fenetreLien.centrer();
  
  inputDestination.focus();
  
}

function insererCouleurPerso(textareaId)
{
  var contenu = document.createElement("div");
  var r,g,b;
  var h,s,l;
  h = 0;s=0;l=0;
  
  var barreTeinte = document.createElement("div");
  barreTeinte.className = "barreTeinte";
  contenu.appendChild(barreTeinte);
  var curseurTeinte = document.createElement("div");
  curseurTeinte.className = "curseurTeinte";
  barreTeinte.appendChild(curseurTeinte);
  
  var carreCouleur = document.createElement("div");
  carreCouleur.className = "carreCouleur";
  contenu.appendChild(carreCouleur);
  var curseurCouleur = document.createElement("div");
  curseurCouleur.className = "curseurCouleur";
  carreCouleur.appendChild(curseurCouleur);
  
  var separateur = document.createElement("hr");
  separateur.className = "clearer";
  contenu.appendChild(separateur);
  
  var apercu = document.createElement("div");
  apercu.className = "apercuCouleur";
  contenu.appendChild(apercu);
  
  var apercuhexa = document.createElement("p");
  apercuhexa.className = "apercuCouleurHexa";
  contenu.appendChild(apercuhexa);
  var hexa = document.createTextNode("#000000");
  apercuhexa.appendChild(hexa);
  
  var boutonValider = document.createElement("button");
  boutonValider.setAttribute("type", "button");
  boutonValider.className = "boutonValider";
  boutonValider.appendChild(document.createTextNode("Valider"));
  contenu.appendChild(boutonValider);
  
  var fenetreCouleur = new Fenetre("Sélectionner une couleur", contenu);
  
  //Barre Teinte
  
  var changerTeinte = function(event)
  {
    var pos = TotalOffsetPos(barreTeinte)
    var y = (event.clientY - pos.y - 2);
    if(y<0) y=0;
				if(y>300) y=300;
				var teinte = hsl2rgb(y/300*255, 0, 255);
    carreCouleur.style.backgroundColor="rgb("+teinte.r+","+teinte.g+","+teinte.b+")";
    curseurTeinte.style.top = y+"px";
    h = y/300*255;
    var couleur = hsl2rgb(h, s, l);
    r = couleur.r;g = couleur.g;b = couleur.b;
    apercu.style.backgroundColor="rgb("+r+","+g+","+b+")";
    hexa.nodeValue = "#" + deci2hexa(r) + deci2hexa(g) + deci2hexa(b);
  };
  
  addEvent(barreTeinte, "mousedown", function(event)
  {
    decalage = (event.clientY);// - event.offsetY) || 44;
    changerTeinte(event);
    //Anti-séléction
    event.returnValue = false; //Pour Internet Explorer
    if( event.preventDefault ) event.preventDefault();
	   addEvent(document.body, "mousemove", changerTeinte);
  }
  );
  addEvent(document.body, "mouseup", function(){removeEvent(document.body, "mousemove", changerTeinte);});
  
  //Carré couleur
  
  var changerCouleur = function(event)
  {
    var pos = TotalOffsetPos(carreCouleur);
    var x = (event.clientX - pos.x - 2);
    var y = (event.clientY - pos.y - 2);
    if(x<0) x=0;
    if(x>300) x=300;
    if(y<0) y=0;
    if(y>300) y=300;
    curseurCouleur.style.top = (y- 10)+"px";
    s = y/300*255;
    curseurCouleur.style.left = (x- 10)+"px";
    l = x/300*255; 
    
    var couleur = hsl2rgb(h, s, l);
    r = couleur.r;g = couleur.g;b = couleur.b;
    apercu.style.backgroundColor="rgb("+r+","+g+","+b+")";
    hexa.nodeValue = "#" + deci2hexa(r) + deci2hexa(g) + deci2hexa(b);
    
  };
  
  addEvent(carreCouleur, "mousedown", function(event)
  {
    decalageX = (event.clientX - event.offsetX) || 390;
    decalageY = (event.clientY - event.offsetY) || 44;
    //Anti-séléction
    event.returnValue = false; //Pour Internet Explorer
    if( event.preventDefault ) event.preventDefault();
	   addEvent(document.body, "mousemove", changerCouleur);
    changerCouleur(event);
  }
  );
  addEvent(document.body, "mouseup", function(){removeEvent(document.body, "mousemove", changerCouleur);});
  
  var couleur = hsl2rgb(h, s, l);
  r = couleur.r;g = couleur.g;b = couleur.b;
  apercu.style.backgroundColor="rgb("+r+","+g+","+b+")";
  
  
  addEvent(boutonValider, "click", function()
  {
    insertTag("[color=#"+deci2hexa(r) + deci2hexa(g) + deci2hexa(b)+"]", "[/color]", textareaId);
    fenetreCouleur.fermer();
  });
  
  
  addEvent(contenu, "keypress", function()
  {
    if(event.keyCode != 13 && window.event.keyCode != 13) return;
	   insertTag("[color="+deci2hexa(r) + deci2hexa(g) + deci2hexa(b)+"]", "[/color]", textareaId);
    fenetreCouleur.fermer();
    
  });
  
  fenetreCouleur.ouvrir();
}

function getFirstChildrenByClassName(className, parent)
{
  var childElmt, elmt;
  for(var i = 0, c = parent.childNodes.length; i < c; i++)
  {
    elmt = parent.childNodes[i];
    if(elmt.className == className) return elmt;
    childElmt = getFirstChildrenByClassName(className, elmt);
    if(childElmt) return childElmt;
  }
}

function insertAfter(parent, child, newchild)
{
  var elmt = child.nextSibling;
  if(!elmt)
  {
    parent.appendChild(newchild);
  }
  else
  {
    parent.insertBefore(newchild, elmt);
  }
}

var InsertionImage_inserters = {};

var ImageInserter = function(textAreaId)
{
  var element = 0;
  var nbFiles = 0;
  var files = {};
  var fields = [];
  var txtAreaId = textAreaId;

  var addFileField;
  
  element = document.createElement("form");
  element.className = "envoiImages";
  element.action = "upload.html";
  element.enctype = "multipart/form-data";
  element.method = "post";
  
  element.onsubmit = function(){return false;};
  
    var fieldset = document.createElement("fieldset");
    fieldset.innerHTML = "<legend>Envoi d'images</legend>";
    
    var buttonAjoutFichier = document.createElement("button");
    buttonAjoutFichier.className = "ajoutFichier";
    buttonAjoutFichier.innerHTML = "Ajouter un fichier";
    addEvent(buttonAjoutFichier, "click", function(){addFileField(); return false;});
    fieldset.appendChild(buttonAjoutFichier);
    
    
  this.onInsert = function(){};
  var me = this;
  
  element.appendChild(fieldset);
  
  var insererTag = function(e)
  {
    insertTag('','[img]' + files[e.target.id] + '[/img]', txtAreaId);
    me.onInsert();
  }
  
  var chargementFichier = function(fileInput)
  {
    //On crée l'iframe
    var iframe = document.createElement("iframe");
  
    var imgLoader = document.createElement("img");
    imgLoader.src = "images/icones/ajax-loader.gif";
    
    iframe.name = "frame" + fileInput.name;
    iframe.id = iframe.name;
    element.target = iframe.id;
    
    //On désactive les autres champs
    for(var i = 0, c = fields.length; i < c; i++)
    {
      if(fields[i] != fileInput) fields[i].disabled = "disabled";
    }
    
    var btnElmt = document.getElementById("B" + fileInput.id);
    
    //On affiche le loader
    if(btnElmt) {fileInput.parentNode.replaceChild(imgLoader, btnElmt);}
    else {insertAfter(fileInput.parentNode, fileInput, imgLoader);}
    
    element.appendChild(iframe);
    
    addEvent(iframe, "load", function()
    {
      var doc = iframe.contentDocument || iframe.document;
      var data = doc.body.innerText;
      
      
      //On réactive les autres champs
      for(var i = 0, c = fields.length; i < c; i++)
      {
	if(fields[i] != fileInput) fields[i].disabled = "";
      }
      
      if(data.substring(0, 5) == "ERROR") {
	alert("Une erreur est survenue : \n" + data.substring(5)); 
	return; 
	fileInput.parentNode.removeChild(imgLoader);
	element.removeChild(iframe);
      }
      
      var buttonInserer = document.createElement("button");
      buttonInserer.innerHTML = "Insérer";
      buttonInserer.className = "insertImage";
      buttonInserer.id = "B" + fileInput.id;
      buttonInserer.onclick = insererTag;
      files[buttonInserer.id] = data;
      fileInput.parentNode.replaceChild(buttonInserer, imgLoader);
      element.removeChild(iframe);
    });
    
    
    element.submit();
      
    
    
  }
  
  addFileField = function()
  {
    var input = document.createElement("input")
    input.type = "file";
    input.name = "uploadFile" + nbFiles;
    input.id = input.name;
    input.onchange = function(){chargementFichier(input);};
    nbFiles++;
    fieldset.insertBefore(input, buttonAjoutFichier);
    fieldset.insertBefore(document.createElement("br"), buttonAjoutFichier);
    fields.push(input);
  };
  
  addFileField();
  
  this.conteneur = element;

}



function insererImage(textareaId)
{
  var selection = GetSelection(textareaId);
  if(selection != "")
  {
    insertTag('[img]', '[/img]', textareaId);
    return;
  }
  
  if(!InsertionImage_inserters[textareaId]) InsertionImage_inserters[textareaId] = new ImageInserter(textareaId);
  
  var win = new Fenetre("Ajouter une image", InsertionImage_inserters[textareaId].conteneur);
  InsertionImage_inserters[textareaId].onInsert = function(){win.fermer();};
  win.ouvrir()
  win.centrer();
  
}

function view(textareaId, viewDiv){
  var content = encodeURIComponent(document.getElementById(textareaId).value);
  var xhr = getXMLHttpRequest();
  var imgLoader = document.getElementById("loader"+textareaId);
    if (xhr && xhr.readyState != 0) {
      xhr.abort();
      delete xhr;
    }
    var count = 0;
    
    
    xhr.open("POST", "apercuform.html", true);
    xhr.onreadystatechange = function(){
      if (xhr.readyState == 4)
      {
	document.getElementById(viewDiv).innerHTML = xhr.responseText;
	imgLoader.style.display = "none";
      } 
      else 
      {
	imgLoader.style.display = "inline";
      }
    };
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    var idSelect = "SyntaxList" + textareaId.substring(5);
    var select = document.getElementById(idSelect);
    if(select)
    {
      if(select.value == "gbdoc")
      {
	content = encodeURIComponent("[gambasdoc]") + content;
      }
    }
    xhr.send("chaine=" + content);
    imgLoader.style.display = "inline";
}

function apercu(image)
{
  var lien = document.createElement("a");
  var imageApercu = document.createElement("img");
  lien.appendChild(imageApercu);
  lien.href = image;
  var fenetreApercu = new Fenetre("Aperçu de l'image", lien);
  imageApercu.src = image;
  imageApercu.style.maxWidth = document.body.clientWidth - 100 + "px";
  imageApercu.style.maxHeight = document.body.clientHeight - 100 + "px";
  fenetreApercu.centrer();
  fenetreApercu.ouvrir();
  addEvent(imageApercu, "load", fenetreApercu.centrer);
}


function getcomments(codeid, page)
{
  var xhr = getXMLHttpRequest();
  xhr.open("POST", "commentaires.html", true);
  xhr.onreadystatechange = function(){
    if (xhr.readyState == 4  && xhr.status == 200)
    {
      document.getElementById('code_commentaires').innerHTML = xhr.responseText;
      //imgLoader.style.display = "none";
    }};
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("codeid=" + codeid + "&page=" + page);
    
}

function sendcomment(codeid)
{
  var xhr = getXMLHttpRequest();
  xhr.open("POST", "commentaires.html", true);
  xhr.onreadystatechange = function(){
    if (xhr.readyState == 4  && xhr.status == 200)
    {
      document.getElementById('code_commentaires').innerHTML = xhr.responseText;
      //imgLoader.style.display = "none";
    }};
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("codeid=" + codeid + "&comment=" + document.getElementById('commentaire').value);
}

function changercapture(codeid)
{
  var xhr = getXMLHttpRequest();
  xhr.open("POST", "changercapture.html", true);
  xhr.onreadystatechange = function(){
    if (xhr.readyState == 4  && xhr.status == 200)
    {
      document.getElementById('forms_place').innerHTML = xhr.responseText;
      //imgLoader.style.display = "none";
    }};
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("codeid=" + codeid + "&fichier=" + document.getElementById('fichiercapture').value);
}

function lastChildByTag(parent, tagName)
{
  for(var i = parent.childNodes.length - 1; i >= 0; i--)
  {
    if(parent.childNodes[i].tagName == tagName) return parent.childNodes[i];
  }
}


//Complétiteur de pseudos
addEvent(window, "load", function(){
  
  var completerTimeout;
  var curElmt = 0;
  var liste = 0;
  var dessus = 0;
  var elmt = document.getElementById("pseudosCompleter");
  if(!elmt) return;
	 var input = firstChildByTag(elmt, "INPUT");
  var imgLoader = document.createElement("img");
  imgLoader.style.display = "none";
  imgLoader.src = "images/icones/ajax-loader.gif";
  elmt.insertBefore(imgLoader, input.nextSibling);
  if(!input) return;
	 addEvent(window, "mouseup", function(){
	   var tab = document.getElementsByClassName("Completerliste");
	   for(var i = 0, c = tab.length; i < c; i++)
	   {
	     tab[i].parentNode.removeChild(tab[i]);
	   }
	     liste = 0; dessus = 0;
	 });
  addEvent(input, "keypress", checkPseudosCompleter);
  addEvent(input, "keydown", function(event){if(!liste) return; if(dessus) return;
    if(event.keyCode == 40)//Bas
    {
      if(curElmt) {curElmt.className = "";}
      if(!curElmt) {curElmt = firstChildByTag(liste, "LI");}
      else if(!curElmt.nextSibling){curElmt = firstChildByTag(liste, "LI");}
      else {curElmt = curElmt.nextSibling;}
      curElmt.className = "selectionne";
      event.preventDefault();
    }
    else if(event.keyCode == 38)//Haut
    {
      if(curElmt) {curElmt.className = "";}
      if(!curElmt) {curElmt = lastChildByTag(liste, "LI");}
      else if(!curElmt.previousSibling){curElmt = lastChildByTag(liste, "LI");}
      else {curElmt = curElmt.previousSibling;}
      curElmt.className = "selectionne";
      event.preventDefault();
    }
    else if(event.keyCode == 13)//Enter
    {
      copyTextInput(curElmt, input);
	var tab = document.getElementsByClassName("Completerliste");
	for(var i = 0, c = tab.length; i < c; i++)
	{
	  tab[i].parentNode.removeChild(tab[i]);
	}
	liste = 0; dessus = 0;
      event.preventDefault();
    }
    else if(event.keyCode == 8 || event.keyCode == 46)//Effacer - suppr
    {
      checkPseudosCompleter();
    }
  });
  
  function checkPseudosCompleter()
  {
    clearTimeout(completerTimeout);
    completerTimeout = setTimeout(function(){
      
      var xhr = getXMLHttpRequest();
      xhr.onreadystatechange = function(){
	if (xhr.readyState == 4  && xhr.status == 200)
	{
	  callBackPseudosCompleter(elmt, xhr.responseXML, input);
	  imgLoader.style.display = "none";
	}
	else
	{
	  imgLoader.style.display = "inline";
	}
      };
      xhr.open("POST", "listemembres.xml", true);
      xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("filtre=" + input.value);
    }, 700);
  }
  
  function callBackPseudosCompleter(elmt, doc, input)
  {
    var elmts = doc.getElementsByTagName("pseudo");
    var cElmt;
    var listElmt;
    
    var tab = document.getElementsByClassName("Completerliste");
    for(var i = 0, c = tab.length; i < c; i++)
    {
      tab[i].parentNode.removeChild(tab[i]);
    }
    
    if(!elmts.length) return;
	 
    liste = document.createElement("ul");
    addEvent(liste, "mouseover", function(){dessus = 1;});
    addEvent(liste, "mouseout", function(){dessus = 0;});
    addEvent(liste, "mousemove", function(){
      if(curElmt) curElmt.className = "";
      curElmt = 0;
    });
    liste.className = "Completerliste";
    var pos = TotalOffsetPos(input)
    liste.style.left = pos.x+"px";
    for(var i = 0, c = elmts.length; i < c; i++)
    {
      listElmt = document.createElement("li");
      if(i == 0) {curElmt = listElmt; curElmt.className = "selectionne";}
      listElmt.textContent = elmts[i].textContent;
      addEvent(listElmt, "mousedown",function(){
	copyTextInput(this, input);
	var tab = document.getElementsByClassName("Completerliste");
	for(var i = 0, c = tab.length; i < c; i++)
	{
	  tab[i].parentNode.removeChild(tab[i]);
	}
	liste = 0; dessus = 0;
      });
      liste.appendChild(listElmt);
    }
    elmt.appendChild(liste);
  }
  
  
  
});
	
	
	function copyTextInput(elmt, input)
	{
	  input.value = elmt.textContent;
	}
	
addEvent(window, "load", function(){
  var liensDelete = document.getElementsByClassName("msgdelete");
  
  for(var i = 0, c = liensDelete.length; i < c; i++)
  {
    liensDelete[i].onclick = function(){return confirm("Voulez-vous vraiment supprimer ce message ?\nAttention ! Cette action est irréversible !");};
  }
  
  //Verrouillage des boutons d'envoi
  var forms = document.getElementsByTagName("FORM");
  
  for(var i = 0, c = forms.length; i < c; i++)
  {
    addEvent(forms[i], "submit", function()
    {
      //On désactive tous les boutons
      var inputs = document.getElementsByTagName("INPUT");
      for(var i = 0, c = inputs.length; i < c; i++)
      {
	if(inputs[i].type == "submit")
	{
	  inputs[i].disabled = "disabled";
	  
	}
      }
    });
  }
  
});

