function ShowHide(elt)
{
  var element = document.getElementById(elt);
  if(element.style.display == "none")
  {
    element.style.display = "block";
  }
  else
  {
    element.style.display = "none";
  }
}

function CleanSearch()
{
  var elements = document.getElementsByTagName("input");
  for(i=0; i<elements.length; i++)
  {
    if(elements[i].name.substring(0, 7) == "search_")
    {
      elements[i].value = "";
    }
  }

  var elements = document.getElementsByTagName("select");
  for(i=0; i<elements.length; i++)
  {
    if(elements[i].name.substring(0, 7) == "search_")
    {
      elements[i].value = "";
    }
  }

  ChangeField('act', 'value', 'list', 1);
}

function ConfirmDeleteEnreg(valeur)
{
  if(confirm("Etes vous sûr de vouloir supprimer cet enregistrement ?"))
  {
    ChangeField('id', 'value', valeur);
    ChangeField('act', 'value', 'del', 1);
  }
}

function ConfirmDeleteData(champ, valeur, actionoption)
{
  if(confirm("Etes vous sûr de vouloir supprimer cette donnée ?"))
  {
    if(actionoption != null && actionoption != "")
    {
      ChangeField('formulaire', 'action', actionoption);
    }
    ChangeField(champ, 'value', valeur);
    ChangeField('act', 'value', 'edit', 1);
  }
}

function ConfirmEnvoiEmail(valeur)
{
  if(confirm("Etes vous sûr de vouloir envoyer les messages aux destinataires ?"))
  {
    ChangeField('id', 'value', valeur);
    ChangeField('act', 'value', 'envoi', 1);
  }
}

function ConfirmPerteModif(valeur)
{
  if(confirm("Attention, vous allez perdre les éventuelles\nmodifications si vous ne validez pas le formulaire.\nVoulez-vous continuer ?"))
  {
    ChangeField('act', 'value', valeur, 1);
  }
}

function ChangeField(champ, attribut, valeur, soumettre)
{
  eval("document.getElementById('" + champ + "')." + attribut + " = valeur");

  if(soumettre != null && soumettre != "")
  {
    document.formulaire.submit();
  }
}

function ajax(adresse)
{
  var xhr = getXMLHTTP();

  // Définit l'appel de la fonction au retour serveur
  xhr.onreadystatechange = function() { retour_ajax(xhr); };

  // Affiche le message d'attente
  document.getElementById('message_ajax').innerHTML = "Mise à jour en cours...";

  // Appel serveur
  xhr.open("GET", adresse, true);
  xhr.send(null);
}

function retour_ajax(xhr)
{
  if(xhr.readyState == 4)
  {
    document.getElementById('message_ajax').innerHTML = xhr.responseText;
  }
}

// Retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP()
{
  var xhr = null;

  // Firefox et autres
  if(window.XMLHttpRequest)
  {
    xhr = new XMLHttpRequest();
  }
  // Internet Explorer
  else if(window.ActiveXObject)
  {
    try
    {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e1)
      {
        xhr = null;
      }
    }
  }
  // XMLHttpRequest non supporté par le navigateur
  else
  {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  }
  return xhr;
}

function popup_color_picker(base_url)
{
  window.open(base_url + 'js/color_picker.html', 'cp', 'resizable=no, location=no, width=400, height=300, menubar=no, status=yes, scrollbars=no, menubar=no');
}
