

var Aujourdhui=new Date();

// *********************************************
// function Mois(date,t)
// Donne le mois en toutes lettres 
//   date   : une date quelconque
//   t      = "c" pour format court
//   t      toute autre valeur format long
// *********************************************
function Mois(date,t)
{
tMois = ["janvier" , "février" , "mars" , "avril" , "mai" , "juin" , "juillet" , "aout" , "septembre" , "octobre" , "novembre" , "décembre"];
tMoisCourt = ["jan" , "fév" , "mars" , "avr" , "mai" , "juin" , "jui" , "aout" , "sept" , "oct" , "nov" , "déc"];
   if ( t == "c" )
       w = tMoisCourt[ date.getMonth() ]
   else   
      w = tMois[ date.getMonth() ]
return w;
}

// *********************************************
// function jour(date,t)
// Donne le jour en toutes lettres 
//      date    : une date quelconque
//       t       = "c" pour un format court (3 lettres)
//       t      toute autre valeur, format long
// *********************************************
function jour(date,t)
{
   tJour= ["dimanche" , "lundi" , "mardi" , "mercredi" , "jeudi" , "vendredi" , "samedi"];
   if ( t == "c" )
      { w = tJour[ date.getDay() ].substr( 0 , 3) }
   else
      { w = tJour[ date.getDay() ] }
return w;
}

// *********************************************
// function DateCourte(date,separ)
// Donne une date du style jj/mm/aaaa
//      date    : une date quelconque
//      separ   : le séparateur (par exemple /)
// *********************************************

function DateCourte(date,separ)
{
   w = right("0" + date.getDate() , 2 );
   w = w + separ;
   w = w + right( "0" + ( date.getMonth() + 1 ) , 2 );
   w = w + separ;
   w = w + date.getFullYear();
return w;
}

// *********************************************
// function DateLongue(date)
// Donne une date au format long
//      date    : une date quelconque
// *********************************************
function DateLongue(date)
{
   w = jour( date ) + " ";
   w= w + date.getDate() + " ";
   w= w + Mois( date ) + " ";
   w= w + date.getFullYear();
return w;
}

// *********************************************
// function datedecal(date,n,t)
// Donne une date décalée par raport à une autre
//      date    : la date de référence
//      n       : le nombre d'unités dont on décale
//      t       = "j" pour changer les jours
//      t       = "m" pour changer les mois
//      t       = "a" pour changer les années
//      t       toute autre valeur ne fait rien
// *********************************************

function datedecal(date,n,t)
{
   j = date.getDate();
   m = date.getMonth();
   a = date.getFullYear();
   switch (t)
   {   case "j"    : j = j + n;
               break;
      case "m"   : m = m + n;
               break;
      case "a"   : a = a + n;
               break;
   }
   w = new Date( a , m , j );
return w;
}

// *********************************************
// function DernierJourMois(date)
// Donne une date correspondant au dernier jour du mois
//      date    : une date quelconque
// *********************************************
function DernierJourMois(date)
{
   j = date.getDate();
   m = date.getMonth();
   a = date.getFullYear();
   w = new Date( a , m + 1 , 0 )
return w;
}

// *********************************************
// function right(literal,longueur)
// Renvoie  les premiers caractères d'une chaîne
//      literal    : la chaîne de caractères
//      longueur   : le nombre de caractères
// *********************************************

function right(literal,longueur)
{
   l = literal.length
   w = literal.substr( l - longueur);
return w;
}


// *********************************************
// function estUnNombre(s)
// Renvoie vrai (true) si le paramètre est un nombre
//	s : la valeur à tester
// *********************************************

function estUnNombre(s) { return ( !isNaN( s ) )}


// *********************************************
// function estPositif(s)
// Renvoie vrai (true) si le paramètre est positif
// s : le nombre à tester (doit être un nombre)
// *********************************************

function estPositif(s) {return ( parseInt( s ) > 0)}


// *********************************************
// function estEntier(s)
// Renvoie vrai (true) si le paramètre est entier
// s : le nombre à tester (doit être un nombre)
// *********************************************
function estEntier(s) {return (parseInt(s) == s)}


// *********************************************
// function Entier(s)
// Teste avec alarm paramètre est entier
// s : le nombre à tester (doit être un nombre)
// *********************************************
function Entier( item ) {
	var valeurchamp = item.value 
	if 	( !estEntier( valeurchamp ) ){ 	
		alert( "Entrez un nombre entier " );
		item.select();
	}
}

// *********************************************
// function Entier(s)
// Teste avec alarm paramètre est entier
// s : le nombre à tester (doit être un nombre)
// *********************************************
function Nombre ( item ) {
	var valeurchamp = item.value 
	if 	( !estUnNombre( valeurchamp ) ){ 	
		alert( "Entrez un nombre +-nombre.dec" );
		item.select();
	}
}


// *********************************************
// function Test_Qte(s, modulus)
// Teste avec alarm paramètre est entier
// s : le nombre à tester (doit être un nombre)
// *********************************************
function Test_Qte ( item , modu ) {
	var valeurchamp = item.value 
        reste = parseInt(  valeurchamp  ) % modu
         
	if 	( valeurchamp == '' ) 
		return;
	if 	( !estPositif( valeurchamp ) ){ 	
		alert( "Entrez un nombre pour la quantité" );
		item.select();
		return;
	}
	
	if 	(  reste > 0 )   { 	
		alert( "La quantité n'est pas compatible avec le minimun de commande : " + modu);
		item.select();
		return;
	} 
	 

}

// *********************************************
// function estEntierPositif(s)
// Utilise les fonctions précédentes pour tester
// si un paramètre est un nombre, entier et positif
// Renvoie vrai (true) si c'est le cas
//	s : la valeur à tester
// *********************************************

function estEntierPositif(s) {return (estUnNombre(s) & estEntier(s) & estPositif(s))}



// *********************************************
// function testBornes(item, min, max)
// teste si le champ contient un nombre, entier positif
// compris entre deux bornes
// item : le champ à tester
// min : la valeur minimale
// max : la valeur maximale
// *********************************************

function testBornes(item, min, max) 

{

	var valeurchamp = item.value 

	// Pour l'heure la valeur à retourner est faux (false)
	var returnVal = false	

	// Teste si le champ contient autre chose qu'un entier positif

	if 	( !estEntierPositif( valeurchamp ) )
		{ 	alert( "Entrez un nombre entier positif" );
			item.select();
		}
	// Si non (le contenu est entier positif)
	// teste si le contenu du champ est plus petit que le minimum

	else if (parseInt( valeurchamp ) < min)
		{	alert( "Le nombre " + item.name + " doit être plus grand que ou égal à " + min);
			item.value = min; // facultatif
			item.select();
		}

		// Si non (le contenu n'est pas plus petit que le minimum)
		// test si le contenu du champ est plus grand que le maximum

		else if ( parseInt( valeurchamp ) > max)
			{ 	alert("Le nombre " + item.name + " doit être inférieur ou égal à " + max);
				item.value = max; // facultatif
				item.select();	
			}

			// Si non (	le contenu n'est pas plus petit que le minimum et
			// 			n'est pas plus grand que le maximum)
			// alors le contenu est valable : la valeur à retourner est passée à vrai (true)
			else
			{                     
				returnVal = true;
			}
	return returnVal;
}



// ************************************************************
// Contrôle si le champ date a été rempli et s'il est valide
// Un champ date valide doit être de la forme [J]J/M[M]/AA[AA] 
// (Les parties entre [] sont facultatives, "-" ou "." peuvent êtres utilisés à la place des "/",
// Soit "1/07/2003", "01/7/2003", "01/07/03", "01-07-2003" ou "01.07.2003" sont valides)
// Et doit correspondre à une date valide ("29/02/2003" sera refusé)
// ************************************************************

function ControleDate(champ) {
 if (champ.value == "" || champ.value == "0") {
    	champ.value="0";
	champ.select();
	}
 else {
   var pivot = 20;
   var resultat = true;
   re = /^(\d\d?)(\/|-|\.)(\d\d?)(\/|-|\.)(\d\d)(\d\d)?$/;
   var tab = champ.value.match(re);
   if (!tab) resultat = false;
   else {
     if ((tab.length == 6) || (!tab[6])) 
       tab[5] = ((tab[5] < pivot) ? 2000 : 1900) + parseInt(tab[5]);
     else tab[5] = parseInt(tab[5].concat(tab[6]));
     var unedate = new Date(tab[5], parseInt(tab[3])-1, tab[1]);
     resultat = ((unedate.getFullYear() == tab[5]) && (unedate.getMonth() == tab[3]-1) && (unedate.getDate() == tab[1]));
   }
  
    if (resultat) return "";
   else {
   	alert(  "Date invalide jj/mm/aa " + champ.name);
   	// champ.select();
  }  
 }
}



// Le focus sur le premier text
// <BODY OnLoad="placeFocus()">
function placeFocus() {
	if (document.forms.length > 0) {
	var field = document.forms[0];
	for (i = 0; i < field.length; i++) {
			if ((field.elements[i].type == "text") || 
			(field.elements[i].type == "textarea") || 
			(field.elements[i].type.toString().charAt(0) == "s")) {
			document.forms[0].elements[i].focus();
			break;
         }
      }
   }
}



// *********************************
// Roll over Photos
// *********************************

function f1( ctl, frs, photo, texte ) {
	if ( ctl == '1' ) document.v1.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '2' ) document.v2.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '3' ) document.v3.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '4' ) document.v4.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '5' ) document.v5.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '6' ) document.v6.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '7' ) document.v7.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '8' ) document.v8.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '9' ) document.v9.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '10' ) document.v10.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '11' ) document.v11.src='../couleur/' + frs + '_g/' + photo ;
	if ( ctl == '12' ) document.v12.src='../couleur/' + frs + '_g/' + photo ;
	// document.getElementById("l" + ctl ).src='../couleur/' + frs + '_g/' + photo ;
	// alert ( '../couleur/' + frs + '_g/' + photo + '.jpg');
	document.getElementById("l" + ctl ).innerHTML = texte ;
}


// *********************************
// Mise à blanc Photos
// *********************************

function fb( ctl  ) {
	return;
	document.v1.src='../couleur/60830_g/blanc.jpg';
	document.getElementById( "l" + ctl ).innerHTML ='&nbsp;<br>&nbsp;';
}


