// JavaScript pour FAQ sécurité

// Variables statiques
// -gestion des témoins
var DejaVu, NbVisites, accepte;
// -transition graduelle de l'image
var Monter=false, Descendre=false, Chronolibre=true, Niveau=0, liens = new Array(11);
// -rafraîchissement en continu de la longueur dispo du message
var delaiFocu, actifDispo, maxDispo=500;
// -barre de défilement
var CoulBarre = new Array("#FFFFFF","#F8F0FF","#F0E0FF","#E8D0FF","#E0C0FF","#D8B0FF","#D0A0FF","#C890FF","#C080FF","#B870FF","#B060FF","#A850FF","#A040FF","#9830FF","#9020FF","#8810FF","#8000FF");
var NivBarre, DansBarre;
var TicTac, MonBleu = "#8000FF", BleuClair="#E0FFFF";

for (i=0; i<12; i++)
{
 liens[i]=new Image;
 liens[i].src="lien-"+i+".gif";
}
var titre=new Image;
titre.src="securite.gif";
// -image ©
var copynet=new Image;
copynet.src="copy.gif";
var copyflou=new Image;
copyflou.src="copyflou.gif";
// -barres de défilement
NivBarre = 0;
DansBarre = false;
document.onmousemove=BougeMulot;

actifDispo=false;

// Fonctions
function ressources()
// Traduire ITTOOLBOX
{
 for (row=0; row<Docs.length; row++)
  {
   Docs[row] = Docs[row].replace(/\(Academic Articles\)/,"(Recherche)").replace(/\(Research\)/,"(Enqu&ecirc;te)");
   Docs[row] = Docs[row].replace(/\(Tutorials\)/,"(Initiation)").replace(/\(White Papers\)/,"(Livre blanc)");
   Docs[row] = Docs[row].replace(/\(Podcasts\)/,"(Baladodiffusion)").replace(/\(Downloads\)/,"(T&eacute;l&eacute;chargements)");
   Docs[row] = Docs[row].replace(/\(Industry Articles\)/,"(Article sp&eacute;cialis&eacute;)").replace(/\(Surveys\)/,"(Enqu&ecirc;tes)");
   Docs[row] = Docs[row].replace(/\(Peer Publishing\)/,"(Lettre ouverte)").replace(/\(Popular Q\&A\)/,"(R&eacute;ponses &agrave; vos questions)");
   document.write("<tr><td><FONT SIZE=-2>" + Docs[row].replace(/Powered by/,'Fourni par') + "</FONT></td></tr>");
  }
 return;
}

function tic()
// Fait clignoter les flèches
{
 document.body.style.scrollbarArrowColor=MonBleu;
 TicTac=setTimeout("tac()",500);
 return;
}

function tac()
{
 document.body.style.scrollbarArrowColor=BleuClair;
 TicTac=setTimeout("tic()",500);
 return;
}

function TicBarre()
// Fait varier la couleur des barres de défilement
{
 if (DansBarre)
 {
  if (NivBarre < (CoulBarre.length-1))
  {
   NivBarre += 1;
   setTimeout("TicBarre()",99);
  }
 }
 else
 {
  if (NivBarre > 0)
  {
   NivBarre -= 1;
   setTimeout("TicBarre()",99);
  }
 }
 document.body.style.scrollbarFaceColor=CoulBarre[NivBarre];
 return;
}

function BougeMulot()
// Événement de la souris
{
 clearTimeout(TicTac);
 if (event.clientX > document.body.clientWidth || event.clientY > document.body.clientHeight)
 {
  tic();
  DansBarre = true;
 }
 else
 {
  document.body.style.scrollbarArrowColor="#FFFFFF";
  DansBarre = false;
 }
 TicBarre();
 return;
}

function Dedans(Sens)
// Événements sur le lien: entrée/sortie de la souris
{
 Monter=Sens;
 Descendre=!Sens;
 if (Chronolibre) Chrono();
}

function Chrono()
// Modifie graduellement la teinte du lien
{
 Chronolibre=true;
 if (Monter)
 {
  Monter=false;
  Suivant=1;
 }
 if (Descendre)
 {
  Descendre=false;
  Suivant=-1;
 }
 Niveau += Suivant;
 document.Lien.src = liens[Niveau].src;
 if ((Niveau == 0) || (Niveau == 11)) return;
 setTimeout("Chrono()", 44);
 Chronolibre=false;
}

function nettoie(sale)
// Supprime les espaces
{
 sale = sale.replace(/^\s+/,"");
 return sale.replace(/\s+$/,"");
}

function trop_court(a)
// Vérifie la longueur des éléments d'une adresse de courriel
{
 for (i=0; i<a.length; i++)
 {
  if (a[i].length==0) return true;
 }
return false;
}

function refus_adr(adr)
// Vérifie une adresse de courriel
{
 if (/[\s\(\)\[\]\\"<>,;:]/.test(adr))
 {
  return true;
 }

 var arobace=adr.split("@");
 if ((trop_court(arobace)) || (arobace.length != 2)) return true;

 if (trop_court(arobace[0].split("."))) return true;
 var demi=arobace[1].split(".");
 if ((trop_court(demi)) || (demi.length < 2) || (demi[demi.length-1].length < 2)) return true;

 return false;
}

function RAZCour()
// Remise à zero du champ courriel
{
 if (document.Saisie.Adresse.value == "nom@domaine")
 {
  document.Saisie.Adresse.value="";
 }
 return;
}

function iniFiche()
// Initialise les champs de la fiche
{
 with (document.Saisie)
 {
  Nom.value=LireGateau("votreNom");
  Message.value="";
 }
 if (document.Saisie.Adresse.value == "")
 {
  document.Saisie.Adresse.value="nom@domaine";
 }
 iniDispo();
}

function Verifie()
// Valide l'e-mail avant envoi
{
 document.Saisie.Nom.value = nettoie(document.Saisie.Nom.value);
 if (document.Saisie.Nom.value.length < 2)
 {
  alert("Oups!\r\nVous avez oublié votre nom!");
  document.Saisie.Nom.focus();
  document.Saisie.Nom.select();
  return false;
 }

 document.Saisie.Adresse.value = nettoie(document.Saisie.Adresse.value);
 if (document.Saisie.Adresse.value.length == 0)
 {
  alert("Oups!\r\nVous avez oublié votre adresse de courriel!");
  document.Saisie.Adresse.focus();
  return false;
 }

 if (refus_adr(document.Saisie.Adresse.value))
 {
  alert("Oups!\r\n\"" + document.Saisie.Adresse.value + "\" n'est pas une adresse de courriel correcte!");
  document.Saisie.Adresse.focus();
  document.Saisie.Adresse.select();
  return false;
 }

 if (document.Saisie.Message.value.length < 2)
 {
  alert("Oups!\r\nVous avez oublié le message!");
  document.Saisie.Message.focus();
  document.Saisie.Message.select();
  return false;
 }

 IniGateau("votreNom",document.Saisie.Nom.value,(90*24*3600*1000));
 var Hui=new Date();

 var LeNom=document.Saisie.Nom.value;
 if (LeNom.indexOf(" ") != -1) LeNom = "\"" + LeNom + "\"";

 document.Envoi.VotreEnvoi.value = "\r\n-Réf. :\t" + unescape(document.referrer) + " .\r\n" +
	"-De :\t" + LeNom + " <" + document.Saisie.Adresse.value + ">\r\n" +
	"-Date :\t" + LaDate(Hui) + "\r\n\n" +
	filtre(document.Saisie.Message.value) + "\r\n\n";
 document.Envoi.to.value="michel.hoffmann"+"@swing.be";
 return true;
}

function filtre(texte)
// Supprime les <, > et &
{
 texte = texte.replace(/\&/g,"&amp;");
 return texte.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
}

function stopDispo()
// Fin du rafraîchissement de la longueur dispo
{
 actifDispo = false;
 clearTimeout(delaiFocu);
}

function topDispo()
// (re)lancer l'horloge de rafraîchissement de la longueur dispo
{
 iniDispo();
 actifDispo = true;
 delaiFocu = setTimeout("topDispo()", 400);
}

function iniDispo()
// Affiche la longueur dispo dans le message et limite à 500
{
 var i;
 i = maxDispo - document.Saisie.Message.value.length;
 if (i < 0)
 {
  if (document.Saisie.Message.value.substring(maxDispo-1,maxDispo+1) == "\r\n")
  {
   i = 1;
  }
  else
  {
   i = 0;
  }
  document.Saisie.Message.value = document.Saisie.Message.value.substring(0,maxDispo-i);
  alert("Stop!  Vous avez consommé toute la\r\n place disponible pour le message.");
 }
 document.Saisie.Dispo.value = i;
 return;
}

function LireGateau(NomParam)
{
var Gateaux = document.cookie.split(";");

for (i=0; i<Gateaux.length; i++)
 {
 j = Gateaux[i].split("=");
 if ((j.length > 1) & (j[0].indexOf(NomParam) != -1))
  {
  return unescape(j[1]);
  }
 }
return "";
}

function IniGateau(NomParam,Valeur,Expiration)
// Ajoute le témoin NomParam, non persistant si Expiration = -1
{
 var DateExp = "";
 if (Expiration != -1)
 {
  DateExp = new Date();
  DateExp.setTime(DateExp.getTime() + Expiration);
  DateExp = ";expires=" + DateExp.toGMTString();
 }
 document.cookie = NomParam + "=" + escape(Valeur) + DateExp;

 return (LireGateau(NomParam)==Valeur);
}

function LaDate(TheDate)
// Conversion de date
{
 var LesJours = new Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
 var LesMois = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");

 TheDate.setYear(Y2K(TheDate.getYear()));

 var Retour = LesJours[TheDate.getDay()] + " " + TheDate.getDate();
 if (TheDate.getDate()==1) Retour += "<FONT SIZE=-1><SUP>er</SUP></FONT>";

 Retour += " " + LesMois[TheDate.getMonth()] + " " + Y2K(TheDate.getYear());

 return Retour;
}

function Y2K(An)
// Correction de l'année avec pivot en 1990
{
 if (An < 90)
 {
  An += 2000;
 }
 else
 {
  if (An < 190)
  {
   An += 1900;
  }
 }
 return An;
}