//--------------------------------------------------------------------------
// 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;}


//--------------------------------------------------------------------------
// isInteger : Le paramètre passé est-il un entier ?
//--------------------------------------------------------------------------
function isInteger2(inputStr,messageerreur){
var oneChar=' ';for (var i=0;i<inputStr.length;i++){oneChar= inputStr.substring(i,i+1);if ((oneChar<'0'||oneChar>'9')){alert(messageerreur);return false;}}return true;}

//--------------------------------------------------------------------------
// isNum : Le paramètre passé est-il un numérique ?
//--------------------------------------------------------------------------
function isNum(inputStr,messageerreur){
var tmp=inputStr.replace(/,/,".");
	if (isNaN(tmp)) {
				return false;
	}
	else {
		inputStr=tmp.replace(/\./,",");
		return inputStr;
		}
}
//--------------------------------------------------------------------------
// CompareDate : compare deux dates afin de s'assurer que la 1ere n'est pas inférieure à la 2eme
//--------------------------------------------------------------------------
function compareDate(date1,date2,message) {
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) {alert(message);return false};if(date1MS==date2MS) return true;return true;}

//--------------------------------------------------------------------------
// verifDate : vérifie si la date est valable.
// 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||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;}



function isDate(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=1960; // année mini
      var amax=2200; // 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) ) {
         ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         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;
   }
   
// Fonction permettant la saisie facile d'une date
// 
//--------------------------------------------------------------------------
//var cF=document.all.calendar;

var cd=document.getElementById('divcal');
var cF=document.getElementById('calendar');

//alert(window.frames[0].id);
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";
}
//--------------------------------------------------------------------------
//	Vérifie la validité du champ mail.
//--------------------------------------------------------------------------
function isEmail(formName, champ, letitre){
	with(eval('document.' + formName)){
		str=eval(champ+'.value');
		if ((str.length) < 2){
			alert(letitre);
			eval(champ).focus();
			return false;
		}
		if (str.indexOf ('@',0)==-1 || str.indexOf ('.',0)==-1){
			alert(letitre);
			eval(champ).focus();
			return false;
		}
		var oneChar=' ';
		for (var i=0; i<str.length; i++){
			oneChar= str.substring(i,i+1);
			if (oneChar==' '){
				alert(letitre);
				eval(champ).focus();
				return false;
			}
		}
		return true;
   }
}

//--------------------------------------------------------------------------
//	Extrait l'extention d'un fichier (chaine de caractere).
//--------------------------------------------------------------------------
function extractExtention(fichier){
	return vlExt = fichier.substring(fichier.lastIndexOf('.'),fichier.length);
}

function erreurCheck(champ, message) {
    if (message) {                              // Si on ne donne pas de message, on reste silencieux...
        alert(message);
        if ( champ.type && champ.type != "[object]") champ.focus();     // Les boutons radios sont multiples : on ne peut pas leur apporter le focus globalenent
    }
    return false;
}

function checkText(champ, message) {
    var nArgs = checkText.arguments.length;
    if (nArgs<=2) {
		if (champ.value=='') {
			return erreurCheck(champ, message);
		}
	} else {
		if (champ.value==checkText.arguments[2]) {
			return erreurCheck(champ, message);
		}
		var necessaire = (nArgs>3)?checkText.arguments[3]:false;
		if (necessaire && champ.value=='') {
			return erreurCheck(champ, message);
		}
	}
	return true;
}

// checkEmail : verifie si le champ donne est une adresse e-mail
function checkEmail(champ, message) {
    var checkStr = champ.value.toLowerCase();
    var checkOK = "0123456789abcdefghijklmnopqrstuvwxyz-_/.@";
    var pos, car, valide = true, posAt = -1, posDot = -1;
	var necessaire = (checkEmail.arguments.length>2)?checkEmail.arguments[2]:false;

	if (checkStr=='') {
		if (necessaire) return erreurCheck(champ, message);
		else return true;
	}

    for (pos = 0; pos < checkStr.length; pos++) {
        if (checkStr.charAt(pos) == '@') {
            posAt = pos;
            continue;
        }
        if (checkStr.charAt(pos) == '.') {
            posDot = pos;
            continue;
        }
        if (checkOK.indexOf(checkStr.charAt(pos)) == -1) {
            valide = false;
            break;
        }
    }

    if (valide && (posAt > -1) && (posDot > posAt + 1) && (posDot < checkStr.length - 1)) {
        return true;
    } else {
        return erreurCheck(champ, message);
    }

}


// active et desactive les elements
function able(champ) {
	
	if (champ.type=='text' || champ.type=='textarea') {
		champ.readOnly = false;
		champ.style.backgroundColor = '#ffffff';
		champ.style.color = '#000000';
	} else {
		champ.disabled = false;
	}
}
function disable(champ) {
	if (champ.type=='text' || champ.type=='textarea') {
		champ.readOnly = true;
		champ.style.backgroundColor = '#E0E0E0';
		champ.style.color = '#000000';
	} else {
		champ.disabled = true;
	}
}