/*******************************************************************************
DROITS D'AUTEUR ET COPYRIGHT
============================

L'ensemble de ce site relève  de la législation française et  internationale sur
le droit d'auteur  et la propriété  intellectuelle. Tous droits  de reproduction
sont réservés, y compris pour les documents photographiques.

La reproduction de tout  ou partie de ce  site sur un support  électronique quel
qu'il soit est formellement interdite sauf autorisation expresse du directeur de
la publication.

La reproduction des textes de ce site sur un support papier est autorisée,  tout
particulièrement dans le  cadre pédagogique, sous  réserve du respect  des trois
conditions suivantes :
* Gratuité de la diffusion.
* Respect de l'intégrité  des documents  reproduits :  pas de  modification ni
altération d'aucune  sorte.
* Citation claire et lisible de la source.
Par exemple :
"Ce  document  provient   du  site  internet   MESOTECH.eu,  les  droits  de
reproduction sont réservés et strictement limités.".

L'adresse Internet du site doit impérativement figurer dans la référence.
*******************************************************************************/
/*******************************************************************************
script.js - Script JavaScript de gestion du site Web de Mesotech
Copyright © 2007 PLAIS Lionel
lionel.plais@ilp-web.net
*******************************************************************************/

function VerifFormulaire(formulaire) {
  with (formulaire) {
    // Nom
    if (nom.value == "") {
      alert("Veuillez entrer votre nom.");
      nom.focus();
      return false;
    }
    // Société / communauté
    if (societe.value == "") {
      alert("Veuillez entrer le nom de votre societe ou de votre communauté.");
      societe.focus();
      return false;
    }
    // Adresse
    if (adresse.value == "") {
      alert("Veuillez entrer votre adresse.");
      adresse.focus();
      return false;
    }
    // Code postal
    var Nombre = 1;
    for (var i = 0; i < 5; i++) {
      if (cp.value.charAt(i) < "0" || cp.value.charAt(i) > "9") {
        Nombre = -1;
      }
    }
    if (Nombre == -1) {
      alert("Le code postal saisie est incorrect.");
      cp.focus();
      return false;
    }
    // Ville
    if (ville.value == "") {
      alert("Veuillez entrer le nom de votre ville.");
      ville.focus();
      return false;
    }
    // Téléphone
    // Enlève tous les charactères non alphanumérique
    tel.value = tel.value.replace(/\s/g, "");
    tel.value = tel.value.replace(/\W/g, "");
    var Nombre = 1;
    for (var i = 0; i < tel.value.length; i++) {
      if (tel.value.charAt(i) < "0" || tel.value.charAt(i) > "9") {
        Nombre = -1;
      }
    }
    if (Nombre == -1 || tel.value.length < 10) {
      alert("Veuillez entrer un numéro de téléphone correct.");
      tel.focus();
      return false;
    }
    // Fax
    // Enlève tous les charactères non alphanumérique
    fax.value = fax.value.replace(/\s/g, "");
    fax.value = fax.value.replace(/\W/g, "");
    var Nombre = 1;
    for (var i = 0; i < fax.value.length; i++) {
      if (fax.value.charAt(i) < "0" || fax.value.charAt(i) > "9") {
        Nombre = -1;
      }
    }
    if (Nombre == -1) {
      alert("Veuillez entrer un numéro de fax correct.");
      fax.focus();
      return false;
    }
    // E-mail
    if (email.value.indexOf("@") == -1) {
      alert("Veuillez entrer votre adresse e-mail.");
      email.focus();
      return false;
    }
    // Cryptogramme visuel
    if (cryptogramme.value.length < 6) {
      alert("Vous n'avez pas recopié le cryptogramme visuel.");
      cryptogramme.focus();
      return false;
    }
    Desactiver(formulaire.elements["submit"]);
  }
}

function Confirmation() {
  // Demande confirmation pour supprimer les contacts sélectionnés
  return confirm("Voulez-vous vraiment supprimer les contacts sélectionnées ?");
}

function ConfirmationTout() {
  // Demande confirmation pour vider la liste des contact
  var Reponse = confirm("Voulez-vous vider la liste des contacts ?");
  if (Reponse) {
    document.location = "?vider=oui";
  }
}

// Désactive un bouton
function Desactiver(bouton) {
  bouton.value = "Veuillez patienter...";
  bouton.disabled = true;
}

// Active le bouton envoyer
function Confirme(CaseACocher) {
  with (document.getElementsByName('submit')[0]) {
    if (CaseACocher.checked) {
      disabled = false;
      style.color = "#0F7FD0";
    }
    else {
      disabled = true;
      style.color = "gray";
    }
  }
}

function Appeler(ID) {
  // Retourne l'adresse de l'image pour le status du contact
  var Reponse = confirm("Voulez-vous changer de status d'appel pour ce contact ?");
  if (Reponse) {
    return "appeler.php?ID=" + ID + "&date=" + Date();
  }
  else {
    return "appeler.php?ID=" + ID + "&modifier=0" + "&date=" + Date();
  }
}

function CorrectMiseEnPage() {
  // Met la taille du contenu à plus de 750px
  var TailleMin = 750;
  if (document.getElementById("contenu").clientHeight < TailleMin) {
    document.getElementById("contenu").style.height = TailleMin;
    document.getElementById("pied").style.top += TailleMin;
  }

  // Si le navigateur est IE
  if (navigator.appName == "Microsoft Internet Explorer") {
    var NomVersion = navigator.userAgent;
    var Num = NomVersion.indexOf("MSIE");
    Version = NomVersion.substr((Num + 5), 1);
    // Si sa version est infèrieure à la version 6
    if (Version < 6) {
      // Correction des espaces entre les puces et les éléments du menu sous IE5-
      with (document.getElementById("menu").getElementsByTagName("ul")[0]) {
        for (var i = 0; i < getElementsByTagName("a").length; i++) {
          with (getElementsByTagName("a")[i]) {
            innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + innerHTML;
          }
        }
        for (var i = 0; i < getElementsByTagName("li").length; i++) {
          with (getElementsByTagName("li")[i].style) {
            marginLeft = "-8px";
          }
        }
        for (var i = 0; i < getElementsByTagName("ul").length; i++) {
          with (getElementsByTagName("ul")[i].style) {
            borderLeft = "solid 8px #CCE6FF";
            width = 173 + 8;
          }
        }
      }

      // Correction des espaces entre les barres verticales et les éléments du menu sous IE5-
      with (document.getElementById("barre")) {
        for (var i = 0; i < getElementsByTagName("a").length; i++) {
          with (getElementsByTagName("a")[i]) {
            innerHTML = "&nbsp;" + innerHTML + "&nbsp;&nbsp;";
          }
        }
      }

      // Correction des espaces entre les fleches et les liens des boîtes de liens sous IE5-
      for (Objet in document.getElementsByTagName("span")) {
        if (document.getElementsByTagName("span")[Objet].className == "boite_lien_gauche") {
          with (document.getElementsByTagName("span")[Objet]) {
            innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + innerHTML;
          }
        }
        if (document.getElementsByTagName("span")[Objet].className == "boite_lien_droite") {
          with (document.getElementsByTagName("span")[Objet]) {
            innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
          }
        }
      }
    }
  }
}

// Fonction permettant de remplir les div de chaques côtés
function RepetitionTexte(Couche, Parente) {
  // Récupère le texte de la DIV
  var TexteDiv = document.getElementById(Couche).innerHTML;

  // Récupère la taille de la section parente
  var HauteurContenu = document.getElementById(Parente).clientHeight;

  // Répete le contenu de la DIV tant que celle-ci n'a pas la taille de la parente
  while (document.getElementById(Couche).clientHeight < HauteurContenu) {
    document.getElementById(Couche).innerHTML += TexteDiv;
  }

  // Spécifie la taille de la DIV à celle de la parente + 20px et empêche l'affichage du texte qui dépasse
  with (document.getElementById(Couche).style) {
    height = HauteurContenu + 20;
    overflow = "hidden";
  }
}

// Fonction permettant de faire scintiller le texte d'une div
// Déclaration des variables
var hex = new Array("00", "14", "28", "3C", "50", "64", "78", "8C", "A0", "B4", "C8", "DC", "F0");
var r = 1;
var v = 1;
var b = 1;
var s = 1;
var Couleur = '';
var Objet;

function Scintiller(Couche) {
  // Récupère l'objet à partir de son nom
  if (!Objet) {
    Objet = document.getElementById(Couche);
  }

  // Créer la couleur
  Couleur = "#" + hex[r] + hex[v] + hex[b];

  // Fait varier la couleur
  if (s == 6) {
    b--;
    if (b == 0) {
      s = 1;
    }
  }
  if (s == 5) {
    r++;
    if (r == 12) {
      s = 6;
    }
  }
  if (s == 4) {
    v--;
    if (v == 0) {
      s = 5;
    }
  }
  if (s == 3) {
    b++;
    if (b == 12) {
      s = 4;
    }
  }
  if (s == 2) {
    r--;
    if (r == 0) {
      s = 3;
    }
  }
  if (s == 1) {
    v++;
    if (v == 12) {
      s = 2;
    }
  }

  // Affecte la couleur à l'objet
  Objet.style.color = Couleur;

  // Lance le timer
  setTimeout("Scintiller()", 20);
}

// Active les stats Google
// http://code.google.com/intl/fr/apis/analytics/docs/tracking/asyncTracking.html
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-142876-5']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script');
  ga.type = 'text/javascript';
  ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

  (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
}
)();
