// ----------------------------- fonction permettant d'ouvrir une nouvelle fenêtre
function popup(page, nom, largeur, hauteur, scrollz) {

	popLeft = (screen.width - parseInt(largeur))/2;
	popTop = (screen.height - parseInt(hauteur))/2;

	pop = window.open(page, nom,"width="+largeur+",height="+hauteur+",resizable=no,scrollbars="+scrollz+",toolbar=no,dependant=yes,top="+popTop+",left="+popLeft+',status=yes');
	pop.focus();
}//popup()

// ----------------------------- fonctions permettants de vérifier une date
function checkDate(theDate) {
	var reDate = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
 
	return (reDate.test(theDate) && analyseDate(theDate,1,2,3));
}//checkDate()

function analyseDate(theDate,p_jour,p_mois,p_an) {
	var tempoDate = new Array();
	var MaxmoisDate = new Array();
 
	for (var n=1;n<=12;n++) {
		if (n==4 || n==6 || n==9 || n==11)
			MaxmoisDate[n] = 30;
		else
			MaxmoisDate[n] = 31;
	}  

	tempoDate = theDate.split('/') 
	jour = eval(tempoDate[(p_jour-1)]);
	mois = eval(tempoDate[(p_mois-1)]);
	an = eval(tempoDate[(p_an-1)]);

	if (bisxDate(an)) {
		MaxmoisDate[2] = 29;
	}
	else{
		MaxmoisDate[2] = 28;
	}
 
	return (jour<=MaxmoisDate[mois] && mois<=12 && mois>=1);
}//analyseDate()

// ----------------------------- fonctions permettants de determiner les années bis.
function bisxDate(an) {
	if ((an % 100 == 0) && (an % 400 == 0)) return true;
	else if ((an % 4) == 0) return true;
	return false;
}//bisxDate()

// ----------------------------- fonctions permettants de caomparer 2 dates
function cmpDate_deb_fin(theDate1, theDate2) {
	tempoDate = theDate1.split('/') 
	jour1 = eval(tempoDate[0]);
	mois1 = eval(tempoDate[1]);
	an1 = eval(tempoDate[2]);
	
	tempoDate = theDate2.split('/') 
	jour2 = eval(tempoDate[0]);
	mois2 = eval(tempoDate[1]);
	an2 = eval(tempoDate[2]);
	
	if (an2>an1) return true;
	else if (an2==an1) {
		if (mois2>mois1) return true;
		else if (mois2==mois1) {
			if (jour2>=jour1) return true;
		}
	}
	return false;
} //cmpDate_deb_fin()

// ----------------------------- fonction permettant de récupere la sélection d'une liste déroulante 
function getDropdownValue(theDropdown) {
	if ( (theDropdown.length!=0) && (theDropdown.selectedIndex!=-1) )
		return theDropdown.options[theDropdown.selectedIndex].value;
	else
		return '';
} //getDropdownValue()

// ----------------------------- fonction vérifiant la validité du formatage d'un email 
function isValidEmail(strEmail) {
   var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
   regObject = new RegExp();
   regObject = reg.exec(strEmail.toLowerCase());
   return (regObject!=null)
} //isValidEmail()

// ----------------------------- fonction remplacement de chaine
function str_replace(whatStr, byStr, string) {
	while (string.indexOf(whatStr)>-1)
		string=string.replace(whatStr , byStr)
	return string;
} //str_replace()

// -----------------------------fonction de resize pour IE5 et Netscape6
function autoResize() {
	mac = (navigator.appVersion.indexOf("Macintosh")>0)? true:false;

	if(!mac) {
		largeur = document.body.offsetWidth;
		hauteur = document.body.scrollHeight+31;
		if (ns)	largeur = document.body.offsetWidth+6;

		if (hauteur) {
			hauteur = (hauteur>400) ? 400 : hauteur;
			this.resizeTo(largeur, hauteur);
		}
	}
}//autoResize()
