//
// Réalisé par http://webthom.com
// WEBTHOM - création de site internet à Périgueux
//


// mettre un minimum de 4 images !!!
 
var coef = 0.05 ; // pas de l'opacité (def 0.05)
var temps = 50 ; // temps entre chaque changement d'opacité (def 50)
var temps_pause = 2000 ; // temps d'attente entre 2 changements d'images (def 2000)
var nombre_image = 36 ; // nombre d'images à faire bouger (def 5)
var prefix_image = 'img/dp/'; // chemin + prefix du nom des images
var suffix_image = '.jpg' ; // suffix + '.extension' du nom des images
var alea = true;
 
// pas touche
var indice = 2; // les 2 premières images sont déjà chargées dans le HTML, on commence à la 3eme
var isIE = navigator.userAgent.toLowerCase().indexOf('msie')!=-1 ;
var img1 = null;
var img2 = null ;
var sens = 1;
var tabImg; // tab contenant les images

function listalea(nb_item) {
	tab_alea=new Array();
	tab_alea[0]=(Math.round(Math.random()*nb_item-1))+1;
	// on remplit un tableau avec n nombres
	for (i=1; i<=nb_item-1;i++) {
		trouver=false;
//		cpt=0; // compteur
		while (! trouver) {
//			cpt++;
			nb=(Math.round(Math.random()*nb_item-1))+1;
			trouver=true;
			for (j=0;j<=(tab_alea.length) -1;j++) {
				if (nb==tab_alea[j]) {
				   trouver=false;
				}
			}
//			if (cpt>1000) break; // si le compteur est supérieur à 1000, on sort de la boucle pour éviter une boucle sans fin
		}
		tab_alea.push(nb);
	}
	// alert(tab_alea.join(","));
	return tab_alea;
}

 
function prechargerImg() {
  tabImg = new Array(nombre_image);
  tab=new Array(nombre_image);
  if (! alea){
	  for (i=0; i<=nombre_image -1; i++){
	    tabImg[i]=new Image();
	    tabImg[i].src = prefix_image+(i+1)+suffix_image;
	  }
  }
  else {
  	  tab=listalea(nombre_image); 
	  // alert(tab.join(","));
	  for (i=0; i<=nombre_image -1; i++){
	    tabImg[i]=new Image();
	    tabImg[i].src = prefix_image+tab[i]+suffix_image;
	  }
  }	
}
 
function init()
{
    img1 = document.getElementById("defilement1") ;
    img2 = document.getElementById("defilement2") ;
 
    prechargerImg();
    change_opacity();
}
 
function change_opacity()
{    
    var opacity1 = 0 ;
    var opacity2 = 0 ;
    if (isIE) // for IE
    {    opacity1 = parseFloat(img1.filters.alpha.opacity);
        opacity2 = parseFloat(img2.filters.alpha.opacity);
    }
    else // for mozilla
    {    opacity1 = parseFloat(img1.style.MozOpacity);
        opacity2 = parseFloat(img2.style.MozOpacity);
    }
 
    if (sens)
    {    if (isIE) // for IE
        {    img1.filters.alpha.opacity = opacity1 + coef * 100;
            img2.filters.alpha.opacity = opacity2 - coef * 100;
        }
        else // for Mozilla
        {    img1.style.MozOpacity = opacity1 + coef;
            img2.style.MozOpacity = opacity2 - coef;
        }
    }
    else
    {
        if (isIE) // for IE
        {    img1.filters.alpha.opacity = opacity1 - coef * 100;
            img2.filters.alpha.opacity = opacity2 + coef * 100;
        }
        else // for Mozilla
        {    img1.style.MozOpacity = opacity1 - coef;
            img2.style.MozOpacity = opacity2 + coef;
        }
    }
 
    if (isIE) // for IE
    {    opacity1 = parseFloat(img1.filters.alpha.opacity);
        opacity2 = parseFloat(img2.filters.alpha.opacity);
    }
    else // for mozilla
    {    opacity1 = parseFloat(img1.style.MozOpacity);
        opacity2 = parseFloat(img2.style.MozOpacity);
    }
 
    // on fait varier le sens d'opacité du bazar
    if (opacity2 <= 0)
    {    img2.src=tabImg[indice++].src;
        sens = 0;
        if (indice == (tabImg.length)) indice=0;
        window.setTimeout("change_opacity()",temps_pause) ; // attente
        return 0;
    }
    else if (opacity1 <= 0)
    {    img1.src=tabImg[indice++].src;
        sens = 1;
        if (indice == (tabImg.length)) indice=0;
        window.setTimeout("change_opacity()",temps_pause) ; // attente
         return 0;
     }
     window.setTimeout("change_opacity()",temps) ; // recursion toutes les x millisec
 }

nav = navigator.appName.substring(0,3);
ver = navigator.appVersion.substring(0,1); 

function fenetre(img,l,h)
{			   
	l=l+40;
	h=h+50;

	window.open (img, "Image", 'height=' + h + ', width=' + l + ', menubar=no, resizable=no, left=30, top=50, dependent=yes, status=no, toolbar=no, scrollbars=no') ;
}

   function vemail(ch){
        var email = ch.value;
        var modele = new RegExp("^[a-z0-9\\-_\\.]+@[a-z0-9]+\\.[a-z]{2,5}$", "i");;
        if (email.match(modele))
          return true
        else
        return false;
    }


function valider (){
  var tabchamp=new Array ("nom", "email", "message"); //liste des champs à vérifier 
  // le champ email doit toujours s'appeler "email"
  // le code postal bénéficie d'un traitement particulier, il doit toujours s'appeler "codepostal"
  var msg="";
  var ok=true;
  var frm=document.forms['contact'];
//  alert(tabchamp.length);
  for (i=0;i<=tabchamp.length-1;++i) {
  	  ch=tabchamp[i];
	  //alert(frm.elements[ch].name);
	  if(frm.elements[ch].value == "" && ok) {
		  msg=msg+"Le champ "+frm.elements[ch].name+" n'est pas rempli!\n";
		  ok= false;
	  }
  }
  
  if(! vemail(frm.elements['email']))
  {
    msg=msg+"Adresse Email invalide!\n";
    frm.elements['email'].focus();
    ok= false;
  }
  
//  if(frm.elements['email'].value.indexOf('@') == -1 || frm.elements[tabchamp[0]].value.length <7)
//  {
//    msg=msg+"Adresse Email invalide!\n";
//    frm.elements['email'].focus();
//    ok= false;
//  }
 if(frm.elements['codepostal']) {
   if (IsCP(frm.elements['codepostal'].value)==false)
	  {
	    msg=msg+"Code postal invalide!\n";
		ok=  false;
	  }
  }
 if(! ok)   {
     alert(msg);
	 return ok;
 }
 else { 
 
     //frm.submit("mailto:moi@ici.fr?subject=Cours JavaScript");
	  return ok;	  }

}
function IsCP(chaine) // test la validité du code postal = nombre à 5 chiffres
{
	var s = String(chaine);
	var i,lg,car;
	var ok=true;
	if (s.length == 0 || s.length > 5) ok= false;
	lg = s.length;
	for(i=0 ; i<lg ; ++i)
	{
		car = s.charAt(i);
		if (car < '0' || car > '9') ok=false;
	}
	return(ok);
}

function ver_champ_vide(form,champ,caption)
{alert("on verifie:"+form+"/"+champ+"/"+caption);
  if(document.forms[form].elements[champ].value == "")
  {
     alert("Le champ "+caption+" est vide.\nVeuillez remplir les champs obligatoires.");
    document.forms[form].elements[champ].focus();
    return false;
  }
}

function CheckDate(d) {
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
      var amin=1999; // année mini
      var amax=2005; // année maxi
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour n'est pas correct."); ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois n'est pas correct."); ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année n'est pas correcte."); ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur); ok=0;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=0;
         }
      }
      return ok;
}

