//<script>

//--------------------------------------------------------------------------
// isInteger : Le paramètre passé est-il un entier ?
//--------------------------------------------------------------------------
function isInteger(inputStr){
var oneChar=' ';for (var i=0;i<inputStr.length;i++){oneChar= inputStr.substring(i,i+1);if ((oneChar<'0'||oneChar>'9')){return false;}}return true;}

//------------------------------------------------------------------------------------
// isIntegerPrice : Le paramètre passé est-il un nombre ? virgules et points autorisés !
//------------------------------------------------------------------------------------
function isIntegerPrice(inputStr){
var oneChar=' ';for (var i=0;i<inputStr.length;i++){oneChar= inputStr.substring(i,i+1);
if ((oneChar<'0'||oneChar>'9')){if(oneChar!="." && oneChar!=",") return false;}}return true;}

//--------------------------------------------------------------------------
// isVide : Le contenu(champ) du champ de formulaire(formName) est-il vide ?
// Si vide : Renvoie 'letitre' + FAUX, sinon renvoie 'VRAI'
//--------------------------------------------------------------------------
function isVide(formName, champ, letitre){
with(eval('document.' + formName)){str=eval(champ+'.value');if (str==''){alert(letitre);eval(champ).focus();return false;}}return true;}

//--------------------------------------------------------------------------
// verifDate : vérifie si la date est valable + si elle n'est pas inferieure à la date du jour.
// formName=Nom du formulaire, champ=Nom du champ, message=message affiché si erreur
//--------------------------------------------------------------------------
function verifDate(formName, champ, message){
var days;var dateJour=new Date();var jour=dateJour.getDate();var mois=dateJour.getMonth()+1;var annee=dateJour.getFullYear();var dateVal,tabdateVal;
with(eval('document.'+formName)){dateVal=eval(champ +'.value');}
if(dateVal.length==0){alert(message);return false;}tabdateVal=dateVal.split("/");
if(tabdateVal[0].length<1||tabdateVal[0].length>2){alert('erreur sur le jour');return false;}else{if(isInteger(tabdateVal[0])){if(tabdateVal[0]>31||isNaN(tabdateVal[0])||tabdateVal[0]<1){alert('erreur sur le jour');return false;}}else{alert(message);return false;}}
if(tabdateVal[1].length<1||tabdateVal[1].length>2){alert('erreur sur le mois');return false;}else{if(isInteger(tabdateVal[1])){if(tabdateVal[1]>12||isNaN(tabdateVal[1])||tabdateVal[1]<1){alert('erreur sur le mois');return false;}}else{alert(message);return false;}}
if(tabdateVal[2].length!=4){alert('erreur sur l\'année');return false;}/*else{if(isInteger(tabdateVal[2])){if(tabdateVal[2]<(annee-2)||isNaN(tabdateVal[2])||tabdateVal[2]<1){alert('erreur sur l\'année');return false;}}else{alert(message);return false;}}*/
var LaDate=new Date(tabdateVal[2],tabdateVal[1]-1,tabdateVal[0],00,00,00,00);if (LaDate.getDate()!=tabdateVal[0]||LaDate.getMonth()+1!=tabdateVal[1]||LaDate.getFullYear()!=tabdateVal[2]){alert('Cette date n\'existe pas');return false;}
days=Math.floor((dateJour-LaDate)/86400000);//if(days>0){alert('Date inférieure à la date du jour !');with(eval('document.'+formName)){eval(champ).focus();}return false;}
return true;}

//--------------------------------------------------------------------------
// verifDate : vérifie si la date est valable.
// formName=Nom du formulaire, champ=Nom du champ, message=message affiché si erreur
//--------------------------------------------------------------------------
function verifDate2(formName, champ, message){
var days;var dateJour=new Date();var jour=dateJour.getDate();var mois=dateJour.getMonth()+1;var annee=dateJour.getFullYear();var dateVal,tabdateVal;
with(eval('document.'+formName)){dateVal=eval(champ +'.value');}
if(dateVal.length==0){alert(message);return false;}tabdateVal=dateVal.split("/");
if(tabdateVal[0].length<1||tabdateVal[0].length>2){alert('erreur sur le jour');return false;}else{if(isInteger(tabdateVal[0])){if(tabdateVal[0]>31||isNaN(tabdateVal[0])||tabdateVal[0]<1){alert('erreur sur le jour');return false;}}else{alert(message);return false;}}
if(tabdateVal[1].length<1||tabdateVal[1].length>2){alert('erreur sur le mois');return false;}else{if(isInteger(tabdateVal[1])){if(tabdateVal[1]>12||isNaN(tabdateVal[1])||tabdateVal[1]<1){alert('erreur sur le mois');return false;}}else{alert(message);return false;}}
if(tabdateVal[2].length!=4){alert('erreur sur l\'année');return false;}/*else{if(isInteger(tabdateVal[2])){if(tabdateVal[2]<annee||isNaN(tabdateVal[2])||tabdateVal[2]<1){alert('erreur sur l\'année');return false;}}else{alert(message);return false;}}*/
var LaDate=new Date(tabdateVal[2],tabdateVal[1]-1,tabdateVal[0],00,00,00,00);if (LaDate.getDate()!=tabdateVal[0]||LaDate.getMonth()+1!=tabdateVal[1]||LaDate.getFullYear()!=tabdateVal[2]){alert('Cette date n\'existe pas');return false;}
return true;}

//--------------------------------------------------------------------------
// CompareDate : compare deux dates afin de s'assurer que la 1ere n'est pas inférieure à la 2eme
//--------------------------------------------------------------------------
function compareDate(date1,date2) {
var tabdateVal1=date1.split("/");
var tabdateVal2=date2.split("/");
var date1MS=Date.UTC(tabdateVal1[2],tabdateVal1[1]-1,tabdateVal1[0]);
var date2MS=Date.UTC(tabdateVal2[2],tabdateVal2[1]-1,tabdateVal2[0]);	
if(date1MS>date2MS) return 0;if(date1MS==date2MS) return -1;return true;}

//--------------------------------------------------------------------------
//	Compte le nombre de caractères d'un textarea et arrète la saisie lorsqu'il est atteint.
//--------------------------------------------------------------------------
function CheckLen(formName,Target,Longueur,CPTName){	
var CharsLeft,StrLen=Target.value.length;
if(StrLen>Longueur){Target.value=Target.value.substring(0,Longueur);CharsLeft=Longueur;}
else{CharsLeft=StrLen;}
eval('document.'+formName+'.'+CPTName).value=CharsLeft;}

//--------------------------------------------------------------------------
//	Verification format email : -1 = champ vide, -2 = Erreur de Syntaxe
//--------------------------------------------------------------------------
function isEmail(formName,champ){
with(eval('document.' + formName)){str=eval(champ+'.value');}
if (str.length < 3){return -1;}
if (str.indexOf ('@',0)==-1 || str.indexOf ('.',0)==-1){return -2;}
var oneChar=' ';
for (var i=0; i<str.length; i++){oneChar= str.substring(i,i+1);if (oneChar==' '){return -2;}}
return true;}
//--------------------------------------------------------------------------
// isLetter : Le paramètre passé est-il composé uniquement par des lettres ?
//--------------------------------------------------------------------------
function isLetter(inputStr){
var oneChar=' ';for (var i=0;i<inputStr.length;i++){oneChar= inputStr.substring(i,i+1);if((oneChar<'a'||oneChar>'z')){return false;}}return true;}
//--------------------------------------------------------------------------
// MakeArray : Création de tableau
//--------------------------------------------------------------------------
function MakeArray(n){this.length= n;for (var i=1; i<=n; i++) {	this[i]= 0;}return this;}
function MM_openBrWindow(theURL,winName,features) {window.open(theURL,winName,features);}

var cd=document.getElementById('divcal');
var cF=document.getElementById('calendar');
var cW=window.frames.calendar;
var gimg,ginpt;
function Calendrier(img,inpt)
{
gimg=img;
ginpt=inpt
var htm="/include/cal.asp"
htm+="?date="+ginpt.value+"&dsel="+ginpt.value;
cW.document.body.innerHTML=""
cW.location.href=htm;
position1(img);
cd.style.display="block";
}
function Annule(){
cd.style.display="none";
}
function position1(img) {
var dB=document.body;
cF.style.pixelHeight=200;
 if (img.offsetTop- dB.scrollTop<cF.style.pixelHeight) {
  cF.style.top=img.offsetTop+"px"; 
 } else {
  cF.style.top=img.offsetTop+"px";
 }
 cF.style.left=img.offsetLeft+"px";
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


/************************************
Change la source d'une image avec un fondu
Ne marche pas avec opera apparement
**************************************/
/***********************************
Prend en paramètre :
- le nom de la nouvelle image (avec les fonctions de la lib_path
- l'id de la balise <img ... > à modifier
***********************************/
function changeapercu(str,zone,url2) {  /* change l'image */
	var adresse,longueur,adresse2,longueur2;
	var obj = document.getElementById(zone);
	var obj1 = document.getElementById(zone+'_url');
	clearTimeout();
	//on récupère les deux noms de fichier
	adresse = obj.src.split('/'); // source déjà présente
	longueur = adresse.length
	adresse2 = str.split('/'); // nouvelle image
	longueur2 = adresse2.length
	if (adresse[longueur-1] == adresse2[longueur2-1]) {
		return false; //si ils sont identique on change pas l'image
	}
	obj.src = str;
	obj1.href = url2;
	changer_opacite(0.0,0,zone); // on appelle la fonction avec les paramètres initiaux
	return true;
}
/***********************************
Prend en paramètre :
- la valeur de l'opacité
- la variable d'incrémentation
- l'id de la balise <img de l'image à modifier
***********************************/
function changer_opacite(opacite,i,zone) {
	var pas= 0.04;
	var obj = document.getElementById(zone);
	//alert(i);
	if(i<=25) {
		obj.style.opacity =  opacite;
		obj.style.MozOpacity =  opacite;
		obj.style.KhtmlOpacity =  opacite;
		obj.style.filter = 'alpha(opacity='+opacite*100+')'; // IE
		opacite = opacite + pas ;
		if (opacite > 1)
			opacite = 1;
		//alert(opacite);
		i = i + 1
		setTimeout("changer_opacite("+opacite+","+i+",'"+zone+"')",5)
	}
	else
		return false;
}
function getCookie(nomCookie) {
        maChaine = new String(document.cookie);
        monTab = maChaine.split('; ');
        cont = true;
        for (i=0;i<monTab.length && cont;i++) {
                if((index=monTab[i].indexOf(nomCookie+'='))>=0) {
                        valeur = monTab[i].substr(index+nomCookie.length+1);
                        return valeur;
                }
        }
        return '';
}

function setCookie(nomCookie, valeurCookie) {
        document.cookie = nomCookie +'='+ valeurCookie +";path=/";;
}

function setCookiePersist(nom,valeur,jours) {
  var expDate = new Date();
  expDate.setTime(expDate.getTime() + (jours *24*3600*1000));
  document.cookie = nom + "=" + escape(valeur) +";expires=" + expDate.toGMTString() + ";path=/";
}


