var valid = new Validation('devisform',{immediate : false,stopOnFirst : true,onFormValidate : function(a,b){ddequalcolumns.resetHeights();}});


//alert($('subject').value);
$('subject').value='car';
//alert($('subject').value);


function set_nbjours(){
	if($('dateReception').value!='' && $('dateRemise').value!=''){

		if($F('heureReception')!='0' && $F('heureRemise')!='0'){

				day1 = $('dateReception').value.substring(0,2);
				month1 = $('dateReception').value.substring(3,5);
				year1 = $('dateReception').value.substring(6,10);
				hour1=$F('heureReception').substring(0,2);

				day2 = $('dateRemise').value.substring(0,2);
				month2 = $('dateRemise').value.substring(3,5);
				year2 = $('dateRemise').value.substring(6,10);
				hour2=$F('heureRemise').substring(0,2);

			 mynbjour = nb_jour([day1 ,month1,year1],[day2 ,month2,year2]);
			if(($F('heureReception').substring(0,2)-$F('heureRemise').substring(0,2))<0){
				mynbjour++;
			}		
			if(mynbjour<0){
				$('dateRemise').value='inferieur a la prise';
				Validation.validate('dateRemise');
			}else{
				return mynbjour;
			}
		}
	}
	return '';
}






     var dpck	= new DatePicker({
      relative			: 'dateReception',
      language			: 'fr',
      keepFieldEmpty	: true,
      cellCallback		:function(){
      									intervaljour = set_nbjours();
										$('nbjours').value= intervaljour;
      									Validation.validate('dateReception');},
      externalControl   : 'calReception',
      enableCloseOnBlur	: true,
      disablePastDate	:false,
      disableFutureDate	:false
      });
     var dpck2	= new DatePicker({
      relative			: 'dateRemise',
      language			: 'fr',
      keepFieldEmpty	: false,
      cellCallback		:function(){
       									intervaljour = set_nbjours();
										$('nbjours').value= intervaljour;
      									Validation.validate('dateRemise');
      								},
      externalControl   : 'calRemise',
      enableCloseOnBlur	: true,
      disablePastDate	: true,
      disableFutureDate	:false
      });




erreur=0;
function calculduree(jourdebut,moisdebut,anneedebut,jourfin,moisfin,anneefin){
//préconditions : jourdebut,moisdebut,anneedebut,jourfin,moisfin,anneefin sont des entiers et ont été initialisé correctement(c.a.d que la date de debut doit être inferieur à la date de fin)
//postconditions : retourne un entier qui indique la durée en jour
//explications : cette fonction est le coeur du script, c'est elle qui calcule la durée, et c'est cette fonction qu'il vous sera utile de réutiliser, cette fonction renvoie
//la durée précise qui s'est écoulée, elle ne fait pas d'approximation et vérifie si l'année est bissextile
	function calcul_longueur_mois(annee){
		//préconditions : annee est en entier
		//postconditions : retourne un tableau de 12 éléments d'entier qui indique le nombre de jours dans chaque mois
		var longueurmois=[31,28,31,30,31,30,31,31,30,30,30,31];
		if((!(annee % 4) && (annee % 100)) || !(annee % 400)) //vérifie si l'année traitée est bissextile
		{
			longueurmois=[31,28,31,30,31,30,31,31,30,30,30,31];
		}
		return longueurmois;
	}
	var duree=0;
	for(i=anneedebut;i<anneefin;i++){
		if((!(i % 4) && (i % 100)) || !(i % 400)) //vérifie si l'année traitée est bissextile
		{
			duree+=366;
		}else{
			duree+=365;
		}
	}
	var longueurmois=calcul_longueur_mois(anneedebut);
	for(i=0;i<moisdebut;i++){
		if(i==moisdebut-1){
			duree-=jourdebut;
		}else{
			duree-=longueurmois[i];
		}
	}
	var longueurmois=calcul_longueur_mois(anneefin);
	for(i=0;i<moisfin;i++){
		if(i==moisfin-1){
			duree+=jourfin;
		}else{
			duree+=longueurmois[i];
		}
	}
	return duree;
}
	

/*
function verifierlongueur(champ){
	if(document.form1.elements[champ].value.length>10){
		document.form1.elements[champ].value=document.form1.elements[champ].value.substring(0,10);
	}
}
function verifier(champ){
	message_erreur="Erreur(s) trouvée(s) dans le champ";
	 if(champ){message_erreur+=" date de fin :\n"}
	else{message_erreur+=" date de début :\n"}
	 verifierlongueur(champ);
	 if(document.form1.elements[champ].value.length!=10)
	 {
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie ne respecte pas la forme jj/mm/aaaa !";
	 }
	 else
	 {
	 if(document.form1.elements[champ].value.substring(2,3)!="/" || document.form1.elements[champ].value.substring(5,6)!="/")
	 {
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie ne respecte pas la forme jj/mm/aaaa !";
	 }
	 else
	 {
	 jourok=0;
	 for(i=1;i<32;i++)
	 {
	 jour=i.toString();
	 if(i<10)
	 {
	 jour="0"+i;
	 }
	 if(jour==document.form1.elements[champ].value.substring(0,2))
	 {
	 jourok=1;
	 }
	 }
	 if(jourok)
	 {
	 moisok=0;
	 for(i=1;i<13;i++)
	 {
	 mois=i.toString();
	 if(i<10)
	 {
	 mois="0"+i;
	 }
	 if(mois==document.form1.elements[champ].value.substring(3,5))
	 {
	 moisok=1;
	 }
	 }
	 if(moisok)
	 {
	 if(isNaN(parseInt(document.form1.elements[champ].value.substring(6,10),10)))
	 {
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie contient une année non valide";
	 }
	 else
	 {
	 longueurmois=new Array();
	 jour=parseInt(document.form1.elements[champ].value.substring(0,2),10);
	 mois=parseInt(document.form1.elements[champ].value.substring(3,5),10);
	 annee=parseInt(document.form1.elements[champ].value.substring(6,10),10);
	 if((!(annee % 4) && (annee % 100)) || !(annee % 400))
	 {
	 longueurmois=[31,29,31,30,31,30,31,31,30,31,30,31];
	 }
	 else
	 {
	 longueurmois=[31,28,31,30,31,30,31,31,30,31,30,31];
	 }
	 if(jour>longueurmois[mois-1])
	{
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie n'existe pas !";
	 }
	 }
	 }
	 else
	 {
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie contient un mois non valide";
	 }
	
	 }
	 else
	 {
	 erreur=1;
	 message_erreur+="\nLa date que vous avez saisie contient un jour non valide";
	 }
	 }
	 }
	 if(erreur)
	{
	 alert(message_erreur);
	 }
	 }
	 function ordredate()
	 {
	 message_erreur="La date de début commence après la date de fin !";
	jourdebut=parseInt(document.form1.elements[0].value.substring(0,2),10);
	 moisdebut=parseInt(document.form1.elements[0].value.substring(3,5),10);
	 anneedebut=parseInt(document.form1.elements[0].value.substring(6,10),10);
	 jourfin=parseInt(document.form1.elements[1].value.substring(0,2),10);
	 moisfin=parseInt(document.form1.elements[1].value.substring(3,5),10);
	 anneefin=parseInt(document.form1.elements[1].value.substring(6,10),10);
	 if(!erreur)
	 {
	 if(anneedebut>anneefin){erreur=1;alert(message_erreur)}
	 else
	 {
	 if(moisdebut>moisfin && anneedebut==anneefin){erreur=1;alert(message_erreur)}
	 else
	 {
	 if(jourdebut>jourfin && anneedebut==anneefin && moisdebut==moisfin){erreur=1;alert(message_erreur)}
	 }
	 }
	 }
	 if(!erreur)
	 {
	 nbjour=calculduree(jourdebut,moisdebut,anneedebut,jourfin,moisfin,anneefin);
	 alert("Entre le "+jourdebut+"/"+moisdebut+"/"+anneedebut+" et le "+jourfin+"/"+moisfin+"/"+anneefin+" il s'est écoulé :\n\n environ "+Math.ceil(nbjour/7)+" semaine(s) \nsoit "+nbjour+" jour(s)\nou "+nbjour*24+" heure(s)\n ou "+nbjour*1440+" minute(s)\nou si vous préférez "+ nbjour*86400 +" seconde(s).");
	 }
 } 

*/






