// JavaScript Document
function verif(forme)
{
 var nom=forme.id;
 switch (nom)
 {
 /*===============================================================================
 				CONTACT
 ================================================================================*/
 case "formulaire_contact":
 //si les champs sont vides:
 if (forme.nom_contact)if (forme.nom_contact && forme.nom_contact.value==''){alert ('Remplissez le champ "nom" !');forme.nom_contact.focus();colore('nom_contact');return false;}else init('nom_contact');
 if (forme.prenom_contact)if (forme.prenom_contact && forme.prenom_contact.value==''){alert ('Remplissez le champ "prénom" !');forme.prenom_contact.focus();colore('prenom_contact');return false;}else init('prenom_contact');
 if (forme.email_contact)if (forme.email_contact && forme.email_contact.value==''){alert ('Remplissez le champ "email" !');forme.email_contact.focus();colore('email_contact');return false;}else init('email_contact');
 
 if (forme.email_contact)if (forme.email_contact && !(verifMail(forme.email_contact.value))){alert ("Votre email n'est pas valide!");forme.email_contact.focus();colore('email_contact');return false;}else init('email_contact');
 
 if (forme.sujet_contact)if (forme.sujet_contact && forme.sujet_contact.value==''){alert ('Remplissez le champ "sujet" !');forme.sujet_contact.focus();colore('sujet_contact');return false;}else init('sujet_contact');
 if (forme.message_contact)if (forme.message_contact && forme.message_contact.value==''){alert ('Remplissez le champ "message" !');forme.message_contact.focus();colore('message_contact');return false;}else init('message_contact');
 
 break;

 /*===============================================================================
 				COMMANDE CDROM
 ================================================================================*/
 case "formulaire_commande":
 //si les champs sont vides:
 if (forme.nom_bc_comptes)if (forme.nom_bc_comptes && forme.nom_bc_comptes.value==''){alert ('Remplissez le champ "nom" !');forme.nom_bc_comptes.focus();colore('nom_bc_comptes');return false;}else init('nom_bc_comptes');
 if (forme.prenom_bc_comptes)if (forme.prenom_bc_comptes && forme.prenom_bc_comptes.value==''){alert ('Remplissez le champ "prénom" !');forme.prenom_bc_comptes.focus();colore('prenom_bc_comptes');return false;}else init('prenom_bc_comptes');
 
 if (forme.adresse_bc_comptes)if (forme.adresse_bc_comptes && forme.adresse_bc_comptes.value==''){alert ('Remplissez le champ "Adresse" !');forme.adresse_bc_comptes.focus();colore('adresse_bc_comptes');return false;}else init('adresse_bc_comptes');
 if (forme.cp_bc_comptes)if (forme.cp_bc_comptes && forme.cp_bc_comptes.value==''){alert ('Remplissez le champ "Code Postal" !');forme.cp_bc_comptes.focus();colore('cp_bc_comptes');return false;}else init('cp_bc_comptes');
 if (forme.ville_bc_comptes)if (forme.ville_bc_comptes && forme.ville_bc_comptes.value==''){alert ('Remplissez le champ "Ville" !');forme.ville_bc_comptes.focus();colore('ville_bc_comptes');return false;}else init('ville_bc_comptes');
 if (forme.pays_bc_comptes)if (forme.pays_bc_comptes && forme.pays_bc_comptes.value==''){alert ('Remplissez le champ "Pays" !');forme.pays_bc_comptes.focus();colore('pays_bc_comptes');return false;}else init('pays_bc_comptes');
 
 if (forme.email_bc_comptes)if (forme.email_bc_comptes && forme.email_bc_comptes.value==''){alert ('Remplissez le champ "email" !');forme.email_bc_comptes.focus();colore('email_bc_comptes');return false;}else init('email_bc_comptes');
 if (forme.email_bc_comptes)if (forme.email_bc_comptes && !(verifMail(forme.email_bc_comptes.value))){alert ("Votre email n'est pas valide!");forme.email_bc_comptes.focus();colore('email_bc_comptes');return false;}else init('email_bc_comptes');
 
 if (forme.tel_bc_comptes)if (forme.tel_bc_comptes && forme.tel_bc_comptes.value==''){alert ('Remplissez le champ "Téléphone" !');forme.tel_bc_comptes.focus();colore('tel_bc_comptes');return false;}else init('tel_bc_comptes');


  /* REGLEMENT */
  if (forme.nb_medicale_NE && forme.nb_medicale_NE.value == "" && forme.nb_medicale_E.value == "" && forme.nb_voyage_NE.value == "" && forme.nb_voyage_E.value == "")
  {
    alert("Vous devez remplir un des champs :\n \"REGLEMENT\" .");forme.nb_medicale_NE.focus();colore('nb_medicale_NE');return (false);
  }
  // données numériques ?
  else if ((isNaN(forme.nb_medicale_NE.value)&& forme.nb_medicale_NE.value != "") || (isNaN(forme.nb_medicale_E.value) && forme.nb_medicale_E.value != "")  || 
  	  (isNaN(forme.nb_voyage_NE.value)  && forme.nb_voyage_NE.value != "" )  || (isNaN(forme.nb_voyage_E.value)  && forme.nb_voyage_E.value  != "" ) )
  {
  	alert("Les champs \"REGLEMENT\" doivent tous être numériques.");return (false);
  }
  //la somme > 0 ?
  else if (1*forme.nb_medicale_NE.value+1*forme.nb_medicale_E.value+1*forme.nb_voyage_NE.value+1*forme.nb_voyage_E.value<=0)
  {
  	alert("Il faut au minimum un article pour passer une commande.");
    return (false);
  }
  else init('nb_medicale_NE');
 break;
  
 /*===============================================================================
 				ENVOYER A UN AMI
 ================================================================================*/
 case "formulaire_envoyer":
 //si les champs sont vides:
 if (forme.nom_expediteur)if (forme.nom_expediteur && forme.nom_expediteur.value==''){alert ('Remplissez le champ "nom" !');forme.nom_expediteur.focus();colore('nom_expediteur');return false;}else init('nom_expediteur');
 if (forme.prenom_expediteur)if (forme.prenom_expediteur && forme.prenom_expediteur.value==''){alert ('Remplissez le champ "prénom" !');forme.prenom_expediteur.focus();colore('prenom_expediteur');return false;}else init('prenom_expediteur');
 if (forme.email_expediteur)if (forme.email_expediteur && forme.email_expediteur.value==''){alert ('Remplissez le champ "email" !');forme.email_expediteur.focus();colore('email_expediteur');return false;}else init('email_expediteur');
 if (forme.email_expediteur)if (forme.email_expediteur && !(verifMail(forme.email_expediteur.value))){alert ("Votre email n'est pas valide!");forme.email_expediteur.focus();colore('email_expediteur');return false;}else init('email_expediteur');
 
 if (forme.nom_destinataire)if (forme.nom_destinataire && forme.nom_destinataire.value==''){alert ('Remplissez le champ "nom" !');forme.nom_destinataire.focus();colore('nom_destinataire');return false;}else init('nom_destinataire');
 if (forme.prenom_destinataire)if (forme.prenom_destinataire && forme.prenom_destinataire.value==''){alert ('Remplissez le champ "prénom" !');forme.prenom_destinataire.focus();colore('prenom_destinataire');return false;}else init('prenom_destinataire');
 if (forme.email_destinataire)if (forme.email_destinataire && forme.email_destinataire.value==''){alert ('Remplissez le champ "email" !');forme.email_destinataire.focus();colore('email_destinataire');return false;}else init('email_destinataire');
 if (forme.email_destinataire)if (forme.email_destinataire && !(verifMail(forme.email_destinataire.value))){alert ("Votre email n'est pas valide!");forme.email_destinataire.focus();colore('email_destinataire');return false;}else init('email_destinataire');
  
 /*
 if (forme.sujet_contact)if (forme.sujet_contact && forme.sujet_contact.value==''){alert ('Remplissez le champ "sujet" !');forme.sujet_contact.focus();colore('sujet_contact');return false;}else init('sujet_contact');
 if (forme.message_contact)if (forme.message_contact && forme.message_contact.value==''){alert ('Remplissez le champ "message" !');forme.message_contact.focus();colore('message_contact');return false;}else init('message_contact');
 */
 break; 
 
 }
 return true;
}


function verifMail(mail)
{
  var sigle,mail,N;
  var valide=true;
  
  // si il y a un espace, ou si le champs est vide, non valide
  if (mail.lastIndexOf(' ')!=-1 || mail==''){return(false);}
  
  // s'il y a plus qu'un @ ou si @ n'existe pas dans la chaine
  if ((mail.indexOf('@')!=mail.lastIndexOf('@')) || mail.indexOf('@')==-1) {return(false)}
  
  chaine=mail.substring(mail.indexOf('@'),mail.lastIndexOf('.'));//la ss chaine entre @ et .
  
  //Un minimum de 2 caract entre @ et '.' et aussi minimum de 2 caract apres le dernier '.'
  if ((chaine.length<2)||((mail.substring(mail.lastIndexOf('.'))).length<2)){return(false)}
  
  // Mini 1 caract avant @
  if (mail.substring(0,mail.indexOf('@')).length<1){return(false)} 
  
  // pas de succession de point "...." avant l'@
  //MIEUX: if (mail.indexOf('..')!=-1){return false}
  chaine=mail.substring(0,mail.indexOf('@'));//ss chaine de 0 Ó l'@
  n=chaine.length;
  for (i=0;i<n;i++)
  {
    if (chaine.charAt(i)=='.' && chaine.charAt(i+1)=='.'){return(false)}
  }
  return(true);
}

function verifCP(cp)
{
  if (cp.length!=5)
  {return false;}  
  else {return true;}
}

function verifDate(chaineDate)
{
   if (chaineDate == "") return false;
   //date formatée en JJ/MM/AAAA
   var ladate = (chaineDate).split("/")

   // Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
   if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) 
   {
	   //date formatée MySQL
	   ladate = (chaineDate).split(" ");
	   ladate = (ladate[0]).split("-");
	   if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])))
	   {
		   alert("Mauvais format de date : ecrire une date de la forme \"JJ/MM/AAAA\" ou \"AAAA-MM-JJ\"");
		   return false;
	   }
	   else {a=ladate[0];ladate[0]=ladate[2];ladate[2]=a}
   }

   // Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
   var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]))

   var annee = unedate.getYear()
   if ((Math.abs(annee)+"").length < 4) annee = annee + 1900

   // Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
   if (((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2]))) == false )
   {
	   alert ("Votre date n'est pas valide!");
   	   return false;
   }
   return true;
}
function formatMysqlDate(chaineDate,champDate)
{
	var ladate = (chaineDate).split("/");
	champDate.value=ladate[2]+"/"+ladate[1]+"/"+ladate[0];
}


function colore(id)
{
	with(document.getElementById(id).style) 
	{
      	borderColor="#fd5555";
    }
}
function init(id)
{
	with(document.getElementById(id).style) 
	{
      	borderColor="#44ad98";
    }
}

/*########################################*/
// fonction qui sert à la page param module
function aller_param_module(valeur)
{
	// valeur = "id_sites_module"_"table_module"
	// on scinde valeur en 2
	valeur=valeur.split("|");
	id=valeur[0];
	table=valeur[1];
	window.location="index.php?p="+table+"_params&module="+id;
}



/*###################################################################################
###################################################################################*/
/*#######################################*/
// fonction qui récupère les selectedIndex
// d'un select multiple
function selectedIndexes(TheSelect)
{
	var indexes=Array();
	var cpt=0;
	for (i=0; i<TheSelect.options.length; i++) 
	{
	    if (TheSelect.options[i].selected ) 
	    {
	    	indexes[cpt]=i;
	    	cpt++;
	    }
	}
	return indexes;
}

// fonction équivalente de print_r de php
function print_r(input)
{
	var ret;
	for(var i in input)
	{
		ret +="["+i+"] = "+input[i]+"\n";
	}
	alert(ret);
}
/* ###################################### */
// fonction qui met tous les elements d'un formulaire dans un tableau
function recup_form(forme)
{
	var ret=Array();
	var input=$('ajout_article').elements;
	var len=$('ajout_article').length;
	
	for(i=0;i<len;i++)
	{
		if(input[i].name!='')ret[input[i].name] =input[i].value;
	}
	return ret;
}
/*#######################################*/
// function getElementById
function $(id) { return document.getElementById(id); }

/*============================================================================
	Function de preload
	PREREQUIS:
	# le nb total d'images
	# la variable pause ( à "false")
	# le nom "timer" du timer
	# le cpt pour le num de l'image en cours
	# le tableau [liste_img] de la liste des chemins des images
	# le tableau [liste_alt] de la liste des alts des images
===========================================================================*/
var image=new Array();
function preload(liste_img)
{
	var nb_img=liste_img.length;
	
	for(i=0;i<nb_img;i++)
	{
		image[i]= new Image();
		image[i].src=liste_img[i];
	}
}

/*============================================================================
	Function de slide show
	PREREQUIS:
	# le nb total d'images
	# la variable pause ( à "false")
	# le nom "timer" du timer
	# le cpt pour le num de l'image en cours
	# le tableau [liste_img] de la liste des chemins des images
	# le tableau [liste_alt] de la liste des alts des images
	# le tableau [liste_lien] de la liste des liens des images
===========================================================================*/
function roulement(image)
{
	// on met à jour les boutons play et pause
	maj_commandes();
	
	//alert(nb_max);
	//on change la photo
	TheDiv=document.getElementById(image);
	
	TheDiv.innerHTML="<a href='"+liste_lien[cpt]+"' title='"+liste_alt[cpt]+"'><img  class='photo' src='"+liste_img[cpt]+"' alt='"+liste_alt[cpt]+"' /></a>";
	cpt++;
	if (cpt==nb_max)cpt=0;

	if(pause == false)timer=window.setTimeout("roulement('"+image+"')",8000);	
}

/*============================================================================
	Function pour les images des commandes
	PREREQUIS:
	# le nb total d'images
	# la variable pause 
	# les IDs des boutons play et pause
	# Les chemins des images ON et OFF
===========================================================================*/
function maj_commandes()
{
	/*
	ThePlay=document.getElementById('img_play');
	ThePause=document.getElementById('img_pause');
	if(pause == true)
	{
		ThePause.src='images/diapo_pause_on.gif';
		ThePlay.src='images/diapo_play_off.gif';
	}
	else
	{
		ThePause.src='images/diapo_pause_off.gif';
		ThePlay.src='images/diapo_play_on.gif';
	}
	//alert(ThePlay.src);
	*/
}