
				function HandleImgError(doc) 
				{ 
				  doc.src="images/defaut.jpg"; 
				}

/*le formulaire de saisie d'une date est parametrable
	Ainsi on pourra utiliser la fonction saisie_date() pour avoir 
	des formulaires de saisies 	d'une date sans meme repeter les codes.
	Il suffit juste d'appeler la fonction mais seules les variables 
	sont différentes.
	
	La syntaxe est comme suit :
	function saisie_date(var_day,var_month,var_year,form_result,default_value,evt)	
	var_day=la variable jour;
	var_month=la variable month;
	var_year=la variable mois;
	form_result=la variable qui contiendra la date complete 
				c-a-d le resultat; en principe un champ de saisie
	default_value=la date par défaut.De format "mm/dd/yyyy"
	evt=chaine des événements ou autre ex:"disabled","OnClick='....'"
*/
	var min_day=01;
	var max_day=31;
	var month=new Array();
	month[0]='Janvier ';
	month[1]='Fevrier ';
	month[2]='Mars ';
	month[3]='Avril ';
	month[4]='Mai ';
	month[5]='Juin ';
	month[6]='Juillet ';
	month[7]='Ao&ucirc;t ';
	month[8]='Septembre ';
	month[9]='Octobre ';
	month[10]='Novembre ';
	month[11]='D&eacute;cembre ';
	var min_year=2000;
	var max_year=min_year+10;
	
	
	/* Fonction qui donnera comme le mois + l'annee */
	function leMois(i,mois,dateDuJour) {
	var an,res;
		if (i<dateDuJour.getMonth())
			an=dateDuJour.getYear()+1
		else
			an=dateDuJour.getYear();
		if (an<1900) // sur netscape 4.5 ou ulterieur
			an=an+1900
		res=mois+an;
		return res;
	}
	
		
	/*fonction qui donnera la date complete en fonction 
		des variables jours,mois,et annee
		Le resultat sera affecté à "form_result"
	*/
	function verifier_date(form_day,form_month,form_year,form_result)
	{
		//alert(form_day);
		//alert(form_month);
		//alert(form_year);

		var indice_day=form_day.selectedIndex;
		var day=indice_day+1;
		var indice_month=form_month.options[form_month.selectedIndex].value;
		var text_month=form_month.options[form_month.selectedIndex].text;
		var positionEspace=text_month.indexOf(' ');
		var year=text_month.substring(positionEspace,text_month.length);
		var month=indice_month;
		//alert(month);
		
		var indice_year=form_year.selectedIndex;
		//var year=min_year+indice_year;
		//var year=min_year;
		if(month==2)
		{
			// si on est Fevrier 
			if(year%4==0)
			{
				if(day>29) form_day.selectedIndex=28;
			}
			else 
				if (day>28) form_day.selectedIndex=27;
		}
		else
		{
			if(month<7)	var reste=0;
			else 
				if(month>8) var reste=1;
				
			if((month<7)||(month>8))
			{
				if(month%2==reste)//dernier jour =30
					if(day>29) form_day.selectedIndex=29;
			}
		}
		form_year.value=year;
		form_result.value=form_day.options[form_day.selectedIndex].value+"/"+form_month.options[form_month.selectedIndex].value+"/"+year;
	
	}//fin fonction verifier
	
	//fonction saisie_date
	function saisie_date(var_day,var_month,var_year,form_result,dateJour,Trajet,evt)
	{	
		
		var now=new Date(); 
		var date_default= new Date();
			date_default.setTime( now.getTime()+(Trajet * (24*3600*1000)) );
//		else
//			date_default.setTime( now.getTime()+(14* (24*3600*1000)) );

		//saisie jour
		document.write("<select name='"+var_day+"' OnChange='verifier_date(this,form."+var_month+",form."+var_year+","+form_result+")'"+evt+">");

			for(i=min_day;i<=max_day;i++)
			{
				if(date_default.getDate()==i)
					document.write("<option value='" +i+"' selected>"+i);
				else
					document.write("<option value='" +i+"'>"+i);				
			}	
		document.write("</select>");
		
		//saisie mois
		document.write(	"<select name='"+var_month+"' OnChange='verifier_date(form."+var_day+",this,form."+var_year+","+form_result+");'"+evt+">");		
			for(i=now.getMonth();i<month.length;i++)
			{
				if(date_default.getMonth()==i)		
					document.write("<option value='" +(i+1)+"' selected>"+leMois(i,month[i],now));
				else
					document.write("<option value='" +(i+1)+"'>"+leMois(i,month[i],now));
			}
			for(i=0;i<now.getMonth();i++)
			{
				document.write("<option value='" +(i+1)+"'>"+leMois(i,month[i],now));
			}
		document.write("</select>");
		
		//saisie année
		if (date_default.getYear()<1900)
			annee=date_default.getYear()+1900
		else
			annee=date_default.getYear();
		document.write(	"<input type='hidden' name='"+var_year+"' value='"+annee+"'>");
	}//fin sisie_date
	
	//élimination des blancs n'importe où dans le champ
	function Trim(val)
	{
		var res='';
		for(i=0;i<val.length;i++)
		{
			if(!(val.charAt(i)==" "))
				res=res+val.charAt(i);
		}
		return res;
	}
	
	//retourne vraie si la valeur est numerique fausse sinon
	function IsNumeric(val)
	{
		var test=true;
		for(i=0;i<val.length;i++)
		{
			temp=val.charAt(i);
			if( !((temp>=0) && (temp<=9) ||(temp=='.')) )
			{
				test=false;
				break;
			}
		}
		return test;		
	}
	
	//teste un champ s'il est numerique au cours du saisie
	// si on specifie l'evenement OnChange
	function Test_Numeric(form)
	{
		form.value=Trim(form.value);
		if(!IsNumeric(form.value))
		{
			alert("La valeur doit être numerique");
			form.focus();
		}
	}
	
	//compte la valeur d'une chaine 'str' dans 'val'
	function Compter_Chaine(str,val)
	{
		var temp=val;
		var compteur=0;
		var indice=0;
		var pos=0;
		for(var i=0;i<temp.length;i++)
		{
			pos=temp.indexOf(str,0);
			if(pos!=-1)
			{
				compteur++;
				temp=temp.substring(pos+str.length,temp.length);
			}
		}
		return compteur;
	}
	
	function IsMail(val)
	{
		var test=false;
		if( (val.indexOf('@')!=-1) && (val.indexOf('@')!=val.length-1) &&  (val.indexOf('@')!=0))
		{
			if(Compter_Chaine('@',val)==1)
				test=true;
		}
		
		return test;
	}

