function checkMail(cadena) {
//var plant=/^([a-z0-9][\w\+\-\.%!#&=]*)?[a-z0-9]@([a-z0-9](([a-z0-9\-])*[a-z0-9])?\.)*[a-z0-9][a-z0-9\-]*[a-z0-9]\.[a-z]{2,3}$/i
var plant=/^([a-z0-9][\w\+\-\.%!#&=]*)?[a-z0-9]@([a-z0-9](([a-z0-9\-])*[a-z0-9])?\.)*[a-z0-9][a-z0-9\-]*[a-z0-9]\.[a-z]{2,4}$/i

if (!plant.test(cadena))
     alert('Your mail address does not seem to be valid');

}

function recalcule() {
var form=document.forms[0]
taille=form.elements.length;
total=0;
for (i=0;i<taille;i++) {
	if (form.elements[i].name.substring(0,4)=="room") {
		total+=form.elements[i].value*1;
	}
}

maxi=form.elements['nbperson'].value;
dispo=maxi-total;

// on réduit où on agrandit le nombre de cases des éléments
for (i=0;i<taille;i++) {
	if (form.elements[i].name.substring(0,4)=="room") {

//		nb=document.trucmachin.hiddenfield[i].value;
//alert(nb);
//		nt=dispo>0? nb+dispo : nb;

		nb=form.elements[i].value*1;
		nt=dispo>0? nb+dispo : nb;
		//alert(nt);
		for (j=0;j<nt+1;j++) {
			form.elements[i].options[j]=new Option(j,j);
		}
		form.elements[i].selectedIndex=nb;
		form.elements[i].length=nt+1;
	}
}

}

function change_mois(ele) {
	var form=document.forms[0];
	var annee=form.elements[ele+'[an]'].value;
	var mois=form.elements[ele+'[mois]'].value;
	var jour=form.elements[ele+'[jour]'].value;
	var tab=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	tab[1]+=(annee%4==0) ? 1 : 0;
	nt=tab[mois-1];
	for (j=1;j<nt+1;j++) {
		form.elements[ele+'[jour]'].options[j-1]=new Option(j,j);
	}
	form.elements[ele+'[jour]'].selectedIndex=jour <= nt ? jour-1 : nt-1;
	form.elements[ele+'[jour]'].length=nt;
	
}

function recalcule_date(locktime) {
	var form=document.forms[0];
	var day_name = new Array('sunday','monday','tuesday','wednesday','thursday','friday','saturday');
	var debut=new Date(form.elements['deb[an]'].value,form.elements['deb[mois]'].value-1,form.elements['deb[jour]'].value);

	// vérification de la date de fin
	var fin=new Date(form.elements['fin[an]'].value,form.elements['fin[mois]'].value-1,form.elements['fin[jour]'].value);
	if ((fin<=debut)||(locktime)) {
		if (!locktime) locktime=1;
		fin=new Date(debut.getFullYear(), debut.getMonth(), debut.getDate()+locktime);
		anfin=fin.getYear()-form.elements['fin[an]'].options[0].value;
		// la fin justifie les moyens
		if (anfin>=form.elements['fin[an]'].length) {
			fin=new Date(debut.getFullYear(), 11, 31);
			debut=new Date(debut.getFullYear(), 11, fin.getDate()-locktime);
			anfin=form.elements['fin[an]'].length-1;

			form.elements['deb[jour]'].selectedIndex=debut.getDate()-1;
			form.elements['deb[mois]'].selectedIndex=debut.getMonth();
			form.elements['deb[an]'].selectedIndex=anfin;
		}
		
		form.elements['fin[jour]'].selectedIndex=fin.getDate()-1;
		form.elements['fin[mois]'].selectedIndex=fin.getMonth();
		form.elements['fin[an]'].selectedIndex=anfin;
	}


}
