// 02/04/2001
/* scripts Javascript appelés par les pages du produit GLI */


function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function plus1An(strIn)
{	// strIn doit être au format JJ/MM/AAAA

	strIn= new Date(strIn.substr(6,4),strIn.substr(3,2)-1,strIn.substr(0,2));
    var today = new Date();
	var difference =  Date.UTC(y2k(today.getYear()),today.getMonth(),today.getDate(),0,0,0)
					- Date.UTC(y2k(strIn.getYear()),strIn.getMonth(),strIn.getDate(),0,0,0);
	if ( (difference/1000/60/60/24) > 365)
	{	return true;	}
	return false;	
}

//fonction pour les layers de la barrenagGauche
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

// Utilisé pour controle sur champs DATE_ENTREE, INCIDENT
function verif_Solvabilite()
{
	if ( (document.formLoyer.INCIDENT[1].checked == true ) && (plus1An(document.formLoyer["DATE_ENTREE"].value) == true))
	{
		alert(" Le ou les locataires étant en place dans les lieux depuis plus de 12 mois sans incidents de paiement,\n les justificatifs de solvabilité sont facultatifs.");
		document.formLoyer["VERIF_SOLVABILITE"].value="NON";
	}
	else
	{	
		document.formLoyer["VERIF_SOLVABILITE"].value="OUI";
	}
}


function valide_Loyer()
{
	Lmini = parseInt(document.formLoyer["LoyerMini_GLI"].value,10);
	Lmaxi = parseInt(document.formLoyer["LoyerMaxi_GLI"].value,10);
	Loyer = document.formLoyer["LOYER"].value;
	devise = document.formLoyer["devise"].value;
	if ((Loyer != "")  && ( isNaN(Loyer) || (parseInt(Loyer,10) < Lmini) || (parseInt(Loyer,10) > Lmaxi)))
       {
		alert("Le loyer doit être un nombre compris entre "+Lmini+" "+devise+" et "+Lmaxi+" "+devise);
		document.formLoyer.LOYER.focus();
		document.formLoyer.LOYER.select();
		return false;
       }
   return true;
}


function setRevenu()
{	
	if (document.formLoyer["REVENUB"].value=="")
	{	document.formLoyer["REVENU"].value = parseInt(document.formLoyer["REVENUA"].value);
		document.formLoyer["REVENU_FAKE"].value = parseInt(document.formLoyer["REVENUA"].value);
	}
	else
	{
		if (document.formLoyer["REVENUA"].value=="")
		{	document.formLoyer["REVENU"].value = parseInt(document.formLoyer["REVENUB"].value);
			document.formLoyer["REVENU_FAKE"].value = parseInt(document.formLoyer["REVENUB"].value);
		}
		else
		{	document.formLoyer["REVENU"].value = parseInt(document.formLoyer["REVENUA"].value) + parseInt(document.formLoyer["REVENUB"].value) ;
			document.formLoyer["REVENU_FAKE"].value = parseInt(document.formLoyer["REVENUA"].value) + parseInt(document.formLoyer["REVENUB"].value) ;
		}
	}
	if (isNaN(document.formLoyer["REVENU_FAKE"].value))
	{
// 		Pourrez être rajouté:
//		alert("Veuillez donner des valeurs numériques pour les revenus. Merci.");
		document.formLoyer["REVENU_FAKE"].value="";
	}
}

function setDateEffet()
{	var date_entree= new String(document.formLoyer["DATE_ENTREE"].value);
	var jour=parseInt(date_entree.substring(0,2),10);
	var mois=parseInt(date_entree.substring(3,5),10);
	var annee=parseInt(date_entree.substring(6,10),10);
	
	strIn= new Date(annee,mois-1,jour);
    var today = new Date();
	var difference = Date.UTC(y2k(strIn.getYear()),strIn.getMonth(),strIn.getDate(),0,0,0) - Date.UTC(y2k(today.getYear()),today.getMonth(),today.getDate(),0,0,0);
					
	if ( difference > 0) document.formLoyer["DATE_EFFET"].value=document.formLoyer["DATE_ENTREE"].value;
	
	/*dat=new Date(annee,mois,jour);
	today = new Date();
	
	if (Date.parse(dat) > Date.parse(today)) 
	{	document.formLoyer["DATE_EFFET"].value=document.formLoyer["DATE_ENTREE"].value;
	}*/
	else 
	{	
		var annee=(today.getFullYear()).toString();
		var mois=(today.getMonth() + 1 ).toString();
		if ((today.getMonth() + 1)<10)
			mois="0"+mois; 
		var jour=(today.getDate()).toString();
		if (today.getDate()<10)
			jour="0"+jour; 
		var dat2=jour + "/" + mois + "/" + annee;
		document.formLoyer["DATE_EFFET"].value=dat2;
	}
}

function noLocB()
{
	// en commentaires, pr IE:Permet de d'afficher ou cacher les entrées concernant le 2eme locatiaire
	if (document.formLoyer.PROF_LOCB[0].checked)
	{
//		document.formLoyer["revLocB"].style.visibility = 'hidden';
		document.formLoyer["REVENUB"].value="";
		document.formLoyer["REVENU_FAKE"].value = parseInt(document.formLoyer["REVENUA"].value);
		if (isNaN(document.formLoyer["REVENU_FAKE"].value))
			document.formLoyer["REVENU_FAKE"].value="";

//		document.formLoyer["revLocTotal"].style.visibility = 'hidden';
//		document.formLoyer["revLocTotal"].disabled = true;
		if (isNaN(parseInt(document.formLoyer["REVENUA"].value)))
			document.formLoyer["REVENU"].value = "";
		else
			document.formLoyer["REVENU"].value = parseInt(document.formLoyer["REVENUA"].value);
	}
	else
	{
/*		document.formLoyer["revLocB"].style.visibility = 'visible';
		document.formLoyer["REVENUB"].disabled = false;
		document.formLoyer["REVENU_FAKE"].style.visibility = 'visible';
		document.formLoyer["revLocTotal"].style.visibility = 'visible';
		//document.formLoyer["revLocTotal"].disabled = false;
*/
		setRevenu();
	}
}


function onFocusNoLocB(strRef)
{
	if (document.formLoyer.PROF_LOCB[0].checked)
	{
		document.formLoyer[strRef].blur();
	}
}

function testsValidSubmit()
   {
	if ((document.formLoyer.INCIDENT[0].checked == false ) && (document.formLoyer.INCIDENT[1].checked==false ))
		{
			alert("Veuillez répondre à la question sur l'incident sur les douze derniers mois");
			document.formLoyer.INCIDENT[0].select();
			document.formLoyer.INCIDENT[0].focus();
			return false;
		}

	if ((document.formLoyer.LIEUX[0].checked == false ) && (document.formLoyer.LIEUX[1].checked ==false ))
		{
			alert("Veuillez répondre à la question sur l'état des lieux");
			document.formLoyer.LIEUX[0].select();
			return false;
		}

   if ( document.formLoyer["DATE_ENTREE"].value == "" || document.formLoyer["DATE_ENTREE"].value == 'jjmmaa' )
   { 	alert("Veuillez renseigner la date d'effet du bail (JJMMAA)");
		document.formLoyer["DATE_ENTREE"].value = "";
		document.formLoyer["DATE_ENTREE"].focus();
        return false;
   }

   if ( document.formLoyer["DUREE_BAIL"].value == "" || isNaN(document.formLoyer["DUREE_BAIL"].value))
   { 	alert("Veuillez renseigner la durée du bail");
		document.formLoyer["DUREE_BAIL"].select();
		document.formLoyer["DUREE_BAIL"].focus();
        return false;
   }
	Lmini = parseInt(document.formLoyer["LoyerMini_GLI"].value,10);
	Lmaxi = parseInt(document.formLoyer["LoyerMaxi_GLI"].value,10);
	Loyer = document.formLoyer["LOYER"].value;
	devise = document.formLoyer["devise"].value;
	if ((Loyer=="") || isNaN(Loyer) || (Loyer < Lmini) || (Loyer > Lmaxi))
       {
  		alert("Le loyer doit être un nombre compris entre "+Lmini+" "+devise+" et "+Lmaxi+" "+devise);
  		document.formLoyer["LOYER"].select();
		document.formLoyer["LOYER"].focus();
        return false;
       }
	
	if (document.formLoyer.INCIDENT[0].checked)
    {
        alert("Tarification impossible en cas d'incident lors des 12 derniers mois");
		document.formLoyer.INCIDENT[0].focus();
        return false;
    }

	if (document.formLoyer["DEPOT_GAR"].value=="")
       {
         alert("Attention, en l'abscence de dépôt de garantie, une franchise équivalente à deux mois de loyers d'origine est appliquée en cas de sinistre.");
       }

	if (document.formLoyer["DATE_EFFET"].value == '' || document.formLoyer["DATE_EFFET"].value == 'jj/mm/aaaa' )
    {
		alert("Veuillez renseigner le champ DATE d'EFFET");
		document.formLoyer["DATE_EFFET"].select();
		document.formLoyer["DATE_EFFET"].focus();
	}

	if (document.formLoyer["VERIF_SOLVABILITE"].value=="OUI")
	{
		var flag=0;
		for (var i=0;i<5;i++) 
		{	if (document.formLoyer.PROF_LOCA[i].checked == true) flag=1;
		}
		if (flag==0)
		{ 	alert("Veuillez indiquer la profession du locataire A.");
			document.formLoyer.PROF_LOCA[0].focus();
			return false;
		}
		
		flag=0;
		for (var i=0;i<7;i++) 
		{	if (document.formLoyer.PROF_LOCB[i].checked == true) flag=1;
		}
		if (flag==0)
		{	alert("Veuillez indiquer la profession du locataire B.");
			document.formLoyer.PROF_LOCB[0].focus();
			return false;
		}
	
	/*********************************************************************/
		I ="Le montant des revenus des locataires étant inférieur à 2 fois le loyer TTC, l'adhésion est impossible.";
		C ="Le montant des revenus des locataires se situant entre 2 et 3 fois le loyer TTC, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer TTC, est obligatoire";
		C1 ="Les locataires étant en CDD, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer TTC, est obligatoire";
		E ="Le locataire étant étudiant, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer TTC, est obligatoire";
		F = "Les revenus du locataire en CDI étant inférieurs à 2 fois le loyer TTC, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer, est obligatoire.";
		G = "Le locataire A étant en CDD, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer TTC, est obligatoire ";
		H = "Le locataire A étant étudiant, un engagement de caution, dont les revenus sont supérieurs à 3 fois le loyer TTC, est obligatoire ";
		
		/// si locA en CDI,TNS,Retraite.
		
		if ( document.formLoyer.PROF_LOCA[0].checked || document.formLoyer.PROF_LOCA[2].checked || document.formLoyer.PROF_LOCA[4].checked ) 
		{
			
			
			//si pas de locB ou CDI,TNS,Retraite, Autre ou locB Etudiant
			if ( document.formLoyer.PROF_LOCB[0].checked || document.formLoyer.PROF_LOCB[1].checked  || document.formLoyer.PROF_LOCB[3].checked || document.formLoyer.PROF_LOCB[4].checked || document.formLoyer.PROF_LOCB[5].checked || document.formLoyer.PROF_LOCB[6].checked )
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ( (document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value)) && (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
			}
	
			// si locB en CDD
			if ( document.formLoyer.PROF_LOCB[2].checked ) 
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
	
				if ((document.formLoyer["REVENU"].value > (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{
					if  (document.formLoyer["REVENUA"].value < (2*document.formLoyer["LOYER"].value) )
					{	alert(F);
						document.formLoyer["REVENUA"].focus();
						return false;
					}
				}
			}
		}
	
	
		/// si locA en CDD
		if ( document.formLoyer.PROF_LOCA[1].checked )
		{
			//si pas de locB ou locB en CDD ou locB Etudiant, Autre.
			if ( document.formLoyer.PROF_LOCB[0].checked || document.formLoyer.PROF_LOCB[2].checked  || document.formLoyer.PROF_LOCB[4].checked || document.formLoyer.PROF_LOCB[6].checked)
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value >=(3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C1);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
			}
	
			// si locB en CDI,TNS,Retraite
			if ( document.formLoyer.PROF_LOCB[1].checked || document.formLoyer.PROF_LOCB[3].checked || document.formLoyer.PROF_LOCB[5].checked  ) 
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if (document.formLoyer["REVENU"].value >= (3*document.formLoyer["LOYER"].value) )
				{	
					if ((document.formLoyer["REVENUB"].value < (2*document.formLoyer["LOYER"].value) ) && (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
					{	alert(C);
						document.formLoyer["REVENUA"].focus();
						return false;
					}
				}
			
				if ((document.formLoyer.PROF_LOCB[6].checked) && (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value)))
				{	
					alert(G);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
			}
		}
	
	
		/// si locA Etudiant
		if ( document.formLoyer.PROF_LOCA[3].checked )
		{
			//si pas de locB, ou locB Etudiant, Autre
			if ( ((document.formLoyer.PROF_LOCB[0].checked)|| (document.formLoyer.PROF_LOCB[4].checked) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) || document.formLoyer.PROF_LOCB[6].checked))
			{	alert(E);
				document.formLoyer["REVENUA"].focus();
				return false;
			}
	
	
			//si loc B en CDI,TNS,Retraite
			if ( document.formLoyer.PROF_LOCB[1].checked || document.formLoyer.PROF_LOCB[3].checked || document.formLoyer.PROF_LOCB[5].checked )
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer.PROF_LOCB[6].checked) && (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value)))
				{	
					alert(H);
					document.formLoyer["REVENUA"].focus();
					return false;
				}

			}
	
			//si locB en CDD
			if ( document.formLoyer.PROF_LOCB[2].checked )
			{
				if (document.formLoyer["REVENU"].value < (2*document.formLoyer["LOYER"].value) )
				{	alert(I);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
				if ((document.formLoyer["REVENU"].value < (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
	
				if ((document.formLoyer["REVENU"].value >= (3*document.formLoyer["LOYER"].value) )&& (document.formLoyer["CAUTION"].value < (3*document.formLoyer["LOYER"].value) ))
				{	alert(C1);
					document.formLoyer["REVENUA"].focus();
					return false;
				}
			}
		}
	
	/*********************************************/
		return true;
	
	} // endif SOLVABILITE=OUI

	return true;
} // fin testsValidSubmit()

function validSubmit()
   {
   	// test de controle avant Submit
   	if(testsValidSubmit())
   	{		   	
		if (document.formLoyer["LIEUX"].checked == true)
			document.formLoyer["LIEUX"].value = 'OUI';

		if (document.formLoyer["LIEUX"].checked == false)
			document.formLoyer["LIEUX"].value = 'NON'; 
	
		if (document.formLoyer["INCIDENT"].checked == true)
			document.formLoyer["INCIDENT"].value = 'OUI';
		else
			document.formLoyer["INCIDENT"].value = 'NON';

		// était "Nécessaire pour permettre de récuperer la valeur du revenu total locA+locB qui est disabled"
		//document.formLoyer["REVENU"].disabled = false;

		document.formLoyer.calcul.value='OUI';
		document.formLoyer.submit();		
	} //endif testValidSubmit()
}

//////////////////////////////////////////////////////////////////////////////
// onLoad()
function onLoad()
 {
	MM_preloadImages('/images/pucenoir.gif','/images/puce.gif');
	init_DATE_EFFET();
}


//////////////////////////////////////////////////////////////////////////////
// Fonctions Images 
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


//--- init_DATE_EFFET: fonction, met la date du jour dans le champ date effet ---
function init_DATE_EFFET()
{
	var dateC, moisC, anneeC, jourC;
	var temp;

	//--- Recuperation de la date courrante ---
	dateC = new Date();
	anneeC = dateC.getYear();
	//--- Correctif pour netscape ---
	if (anneeC < 2000)
		anneeC+=1900;
	moisC = dateC.getMonth()+1;
	jourC = dateC.getDate();

	temp=""+jourC;
	if (temp.length==1)
		jourC="0"+jourC;
	temp=""+moisC;
	if (temp.length==1)
		moisC="0"+moisC;
	temp=jourC+"/"+moisC+"/"+anneeC;
	
	document.formLoyer.DATE_EFFET.value=temp;
}


function validate_DATE_EFFET(strIn)
{
   var xDate,CurDate,CurMonth,CurYear,intDumm,Jour,Mois,An,strWork;
   var mValues = "312831303130313130313031";
   var lastDate = 0;
   var d=document.formLoyer.DATE_EFFET;
   xDate = new Date();
   CurDate = xDate.getDate();
   CurMonth = xDate.getMonth()+1;
   CurYear = xDate.getYear()
   strWork = strIn
   intDumm = strWork.indexOf('/');
   if ( intDumm == -1 )
     {
        alert("Veuillez rentrer une date sous la forme jj/mm/aaaa")
        d.value="jj/mm/aaaa";
		d.focus();
        d.select();
        return (false);
     }
   Jour = strWork.substr(0,intDumm);
   strWork = strWork.substr(intDumm+1,9999);
   intDumm = strWork.indexOf('/');
   if  ( intDumm == -1 )
     {
       alert("Veuillez rentrer une date sous la forme jj/mm/aaaa")
        d.value="jj/mm/aaaa";
		d.focus();
        d.select();
       return (false);
     }
   Mois = strWork.substr(0,intDumm);
   An = strWork.substr(intDumm+1,999)
   if ( (isNaN(Jour)) || (isNaN(Mois)) || ( isNaN(An)) )
     {
        alert("Veuillez saisir une date cohérente: jj/mm/aaaa");
        d.value="jj/mm/aaaa";
		d.focus();
        d.select();
        return false;
     }
   if ( ((Jour > 31 )||(Jour < 1)) || ((Mois > 12)||(Mois < 1)) )
     {
        alert("Veuillez saisir une date cohérente : jj/mm/aaaa");
        d.value="jj/mm/aaaa";
        d.focus();
        d.select();

        return false;
     }

   if ( (An < CurYear) || ( (An == CurYear)&&(Mois < CurMonth) ) || ( (An == CurYear)&&(Mois == CurMonth)&&(Jour < CurDate) ) )
     {
        alert("La date ne peut être antérieure à la date d'aujourd'hui.");
		d.value="jj/mm/aaaa";
        d.focus();
        d.select();
		return false;
     }
   else if  ( (An > CurYear) || ( (An == CurYear)&&(Mois > (CurMonth + 2)) ) || ( (An == CurYear)&&(Mois == (CurMonth + 2))&&(Jour > CurDate) ) )
     {
        alert("La date saisie ne peut être postérieure de plus de 2 mois à la date d'aujourd'hui.")
        d.value="jj/mm/aaaa";
        d.focus();
        d.select();
        return false;
     }
/* Check la validité de la future date */

	if (Mois == 2){
		if (isLeapYear(An)) {
			lastDate = 29
		}
		else{
			lastDate = 28
		}
	} 
	else {
		lastDate = mValues.substring((Mois-1)*2, (Mois-1)*2+2)
	}

	if ( (Jour > lastDate) )
         {
		alert("Date incohérente avec le calendrier");
        d.value="jj/mm/aaaa";
		d.focus();
        d.select();
		return false;
	}

   return true;
}

function validate_TCV(strIn,strRef)
 {
   if ( strIn > 30 || strIn < 0 )
    {
      alert("Le coeff varie entre 0 et 30");
      document.formLoyer[strRef].value = '';
      return  false;
    }
 return true;
}

///////////////////////////////////////////////////////////////////////////
// CheckdateJJMMAA, adaptation de Checkdate pour le format JJMMAA en utilisant verifDate
// ".select()" en commentaires suite à bug gestion des evenements de Netscape

function CheckdateJJMMAA(strIn,strRef)
 {
 	var ind1,jj, mm, aaaa, CurNb,strDate;
 
 	if ( strIn.length == 0 || strIn == "jjmmaa")
 		return true;
 	if ( (strIn.length != 6 && strIn.length != 8 && strIn.length != 10))
     {
     	alert("1.Veuillez entrer une date correcte (JJMMAA)"); //xxx
     	document.formLoyer[strRef].value='jjmmaa';
		document.formLoyer[strRef].focus();		
     	return false;
     }
 	ind1 = strIn.indexOf('/');
   	if ( ind1 == -1 ) 
    {
    	strIn = strIn.substr(0,2) + '/' + strIn.substr(2,2) + '/' + strIn.substr(4,9999);
    }
	jj = strIn.substr(0,2);
	mm = strIn.substr(3,2);
	aaaa = strIn.substr(6,9999);
	CurNb = new Number(aaaa)
	if ( (aaaa < 100) && (aaaa >= 20 ) ) { CurNb += 1900 }
	if ( (aaaa < 21) && (aaaa >= 0 ) ) {  CurNb += 2000 }
	aaaa = CurNb;

	strDate= jj+"/"+mm+"/"+aaaa;
 	var res=verifDate(strDate,"JJ/MM/AAAA");
	if (res=="0")
	{
		alert("Veuillez entrer une date correcte (JJMMAA)");
		document.formLoyer[strRef].value='jjmmaa';
		document.formLoyer[strRef].focus();
		return false;
	}
	else
		document.formLoyer[strRef].value=res;
	
	if ( (aaaa < 1925) )
	 {
	    alert("Limite invalide, controler la date");
		document.formLoyer[strRef].value='jjmmaa';
		// document.formLoyer[strRef].select();
	    return false;
	 }	
	return true;
 }


/////////////////////////////////////////////////////////////////////////// 
// Fonction pour les Dates

//--- verifDate: fonction, verifie la validite d'une date selon son format ---
// cette version de la fonction a été modifiée pour afficher moins de msg
function verifDate(maDate, monFormat)
{
	var monJour, monMois, monAnnee;
	var dateC, jourC, moisC, anneeC;
	var temp;
	var res=true;
	var jourAnnee= new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	//--- Recuperation de la date courrante ---
	dateC = new Date();
	anneeC = dateC.getYear();
	//--- Correctif pour netscape ---
	if (anneeC < 2000)
		anneeC+=1900;
	moisC = dateC.getMonth()+1;
	jourC = dateC.getDate();
	
	//--- Verification suivant le format demande ---
	switch (monFormat)
	{
		case "MMAA":
			if (isNaN(parseInt(maDate, 10))||(maDate.length!=4))
			{
				// alert("Veuillez entrer une date sous un format correct ("+monFormat+")");
				res=false;
			}
			else
			{
				//--- Recuperation des informations sur la date ---
				monAnnee=parseInt(maDate, 10)%100;
				monMois=(parseInt(maDate, 10)-monAnnee)/100;
				
				//--- Passage l'annee au format AAAA (regle fixee par ctrlauto.js) ---
				if (monAnnee>20)
					monAnnee+=1900;
				else
					monAnnee+=2000;
				
				//--- Rejet des dates incorrects ---
				if ((monMois<1)||(monMois>12))
				{
					// alert("Veuillez entrer une date sous un format correct ("+monFormat+")");
					res=false;
				}
				else
					if ((monAnnee > anneeC)||((monAnnee==anneeC)&&(monMois>moisC)))
					{
						alert("Limite invalide, controler la date");
						res=false;
					}
			}
			break;
		case "JJ/MM/AAAA":
			temp = maDate.split("/");
			if (temp.length!=3)
			{
				// alert("Veuillez entrer une date sous un format correct ("+monFormat+")");
				res=false;
			}
			else
			{
				monJour=temp[0];
				monMois=temp[1];
				monAnnee=temp[2];
				if ((monJour.length!=2)||(monMois.length!=2)||(monAnnee.length!=4)||isNaN(parseInt(monJour,10))||isNaN(parseInt(monMois,10))||isNaN(parseInt(monAnnee,10)))
				{
					// alert("Veuillez entrer une date sous un format correct ("+monFormat+")");
					res=false;
				}
				else
				{
					//--- Rejet des dates incorrects ---
					if ((monMois<1)||(monMois>12))
					{
						// alert("Veuillez entrer une date sous un format correct ("+monFormat+")");
						res=false;
					}
					else
					{
/*						if ((monAnnee > anneeC)||((monAnnee==anneeC)&&(monMois>moisC)))
						{
							alert("Limite invalide, controler la date");
							res=false;
						}
						else
						{
*/							
						if (isLeapYear(monAnnee))
							jourAnnee[1]+=1;
						if ( (monJour<1) || (monJour>jourAnnee[monMois-1]) )
						{
							alert("Limite invalide, controler la date");
							res=false;
						}
/*						elseif  ( (monAnnee > anneeC) || ( (monAnnee == anneeC)&&(monMois > (moisC + 2)) ) || ( (monAnnee == anneeC)&&(monMois == (moisC + 2))&&(monJour > jourC) ) )
     					{
     					   alert("La date saisie ne peut être postérieure de plus de 2 mois à la date d'aujourd'hui.")
    					    res=false;
   						}
/*										
						} end Else monAnnee
*/						
					}
				}
			}
			break;
		default :
			res=false;
			break;
	}
	//--- Renvoi du resultat ---
	if (res)
	{
		switch (monFormat)
		{
			case "MMAA":
				temp=""+monMois;
				if (temp.length==1)
					temp="0"+monMois;
				temp+="/"+monAnnee;
				return temp;
				break;
			case "JJ/MM/AAAA":
				temp=""+monJour;
				if (temp.length==1)
					monJour="0"+monJour;
				temp=""+monMois;
				if (temp.length==1)
					monMois="0"+monMois;
				temp=monJour+"/"+monMois+"/"+monAnnee;
				return temp;
				break;
			default:
				break;
		}
	}
	else
		return "0";
}

///////////////////////////////////////////////////////////////////////////
// FONCTIONS NON UTILISEES DANS FormLoyer.asp

function getAge(strIn)
 {
/* ndCegos Bizarrerie pour reparer les merdes de billou -- la conversion de 08 et 09 ne fonctionne pas */
   var ind1,mm,aaaa,CurYear,CurMonth,CurDate,strAge,intTmp;
   CurDate = new Date();
   Tempostr = new String();
   CurYear = CurDate.getYear();
   CurMonth = CurDate.getMonth() + 1;
   Tempostr.value = CurMonth
   if ( Tempostr.substr(0,1) == '0' ) { Tempostr = Tempostr.substr(1,999) };
   CurMonth = Tempostr.value;
   ind1 = strIn.indexOf('/');
   mm = strIn.substr(0,ind1);
   if ( mm.substr(0,1) == '0' ) { mm = mm.substr(1,999) };
   aaaa = strIn.substr(ind1+1,9999);
   if ( mm == CurMonth ) 
     {
       intTmp = parseInt(CurYear) - parseInt(aaaa);
       strAge = intTmp + ";0";
       return strAge
     };
   if ( mm < CurMonth )
     {
       intTmp = parseInt(CurYear) - parseInt(aaaa);
       strAge = intTmp;
       intTmp = parseInt(CurMonth) - parseInt(mm);
       strAge = strAge + ";" + intTmp;
       return strAge
     }  
      if ( mm > CurMonth )
     {
       intTmp = eval(parseInt(CurYear) - parseInt(aaaa));
       intTmp = eval(intTmp - 1);
       strAge = intTmp;
       intTmp =  (parseInt(mm) - parseInt(CurMonth))
       intTmp = eval(parseInt('12') - intTmp);
       strAge = strAge + ";" + intTmp;
       return strAge
     }
 }


function Diff18(strIn1,strIn2)
 {
   var ind1,mm1,aa1,mm2,aa2;
   ind1 = strIn1.indexOf('/');
   mm1 = strIn1.substr(0,ind1);
   aa1 = strIn1.substr(ind1+1,9999);
   ind1 = strIn2.indexOf('/');
   mm2 = strIn2.substr(0,ind1);
   aa2 = strIn2.substr(ind1+1,9999);
   if ( (aa2-aa1) < 18) { alert("Incohérence sur la date du permis"); return -1};
   if ( (aa2-aa1) == 18) 
     { 
       if ( (mm1-mm2) > 0 ) { alert("Incohérence sur la date du permis"); return -1};
     }
   return 0;
 }


function  clearTarif()
  {	parent.frames["Primes"].document.formLoyer["FORMULET"].innerText = '';
	parent.frames["Primes"].document.formLoyer["FORMULES"].innerText = '';
	parent.frames["Primes"].document.formLoyer["FORMULEA"].innerText = '';
	return true;
  }

function ActZonier()
 { var strFeatures;
   strFeatures = "top=100,left=100,width=400,height=200,"
      + "toolbar=no,menubar=no,location=no,directories=no,titlebar=no,resizable=no,status=no,fullscreen=no,scrollbars=no,help=no"
   DialogRef = window.open("Zonier.htm","Zonier",strFeatures); 
   if(!DialogRef.opener)DialogRef.opener = self;
   DialogRef.opener.name='Tarification';
 }


function retourTarif()
{
	parent.frames["Primes"].document.formLoyer["LabelDevis"].style.visibility = 'visible';
	parent.frames["Primes"].document.formLoyer["LabelPolice"].style.visibility = 'visible';
}

 function isLeapYear (Year) { 
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { 
		return (true);
	} else 
	{ return (false) 
	}
}

function Diffdate(strIn1,strIn2)
 {
   var ind1,mm1,aa1,mm2,aa2;
   ind1 = strIn1.indexOf('/');
   mm1 = strIn1.substr(0,ind1);
   aa1 = strIn1.substr(ind1+1,9999);
   ind1 = strIn2.indexOf('/');
   mm2 = strIn2.substr(0,ind1);
   aa2 = strIn2.substr(ind1+1,9999);
   if ( (aa1-aa2) > 0 ) { return 1 };
   if ( (aa1-aa2) < 0 ) { return -1 };
   if ( (mm1-mm2) > 0 ) { return 1 };
   if ( (mm1-mm2) < 0 ) { return -1 };
   return 0;
 }

function Checkhuman(strIn,strRef)
 {
   var ind1,mm,aaaa,CurYear,CurMonth,CurDate;
   CurDate = new Date();
   CurYear = CurDate.getYear();
   CurMonth = CurDate.getMonth();
   ind1 = strIn.indexOf('/');
   mm = strIn.substr(0,ind1);
   aaaa = strIn.substr(ind1+1,9999);
   if ( (CurYear - aaaa) < 18 )
     {
        alert("Age du conducteur trop jeune, tarification impossible");
        document.formLoyer[strRef].value = '';
        return false;
     };
   if ( (CurYear - aaaa) > 75 )
    {
       alert("Age du conducteur trop agé, tarification impossible");
       document.formLoyer[strRef].value = '';
       return false;
     };
   if ( (CurYear - aaaa) == 75 )
     {
       if( (CurMonth - mm) > 0 )
        {
           alert("Age du conducteur trop agé, tarification impossible");
        }
     }
   return true;
 }


function flipflop(strIn)
{
  if ( !(document.formLoyer[strIn].checked) )
    { document.formLoyer[strIn].checked = true }
};

// Fonctions jamais utilisée dans FormLoyer.asp
function ctrlOptions()
{	if (document.formLoyer["NOM_SOUSC"].value == "")
	{ alert("Veuillez renseigner le nom du souscripteur");
	  document.formLoyer["NOM_SOUSC"].focus();
	  return false;
	 }

	if (document.formLoyer["PRENOM_SOUSC"].value == "")
	{ alert("Veuillez renseigner le prénom du souscripteur");
	  document.formLoyer["PRENOM_SOUSC"].focus();
	  return false;
	 }

	if (document.formLoyer["ADR1_SOUSC"].value == "")
	{ alert("Veuillez renseigner l'adresse du souscripteur");
	  document.formLoyer["ADR1_SOUSC"].focus();
	  return false;
	 }

	if (document.formLoyer["CP_SOUSC"].value == "")
	{ alert("Veuillez renseigner le code postal du souscripteur");
	  document.formLoyer["CP_SOUSC"].focus();
	  return false;
	 }

	if (document.formLoyer["VILLE_SOUSC"].value == "")
	{ alert("Veuillez renseigner la ville du souscripteur");
	  document.formLoyer["VILLE_SOUSC"].focus();
	  return false;
	 }

	if (document.formLoyer["NOM_LOCA"].value == "")
	{ alert("Veuillez renseigner le nom du locataire A");
	  document.formLoyer["NOM_LOCA"].focus();
	  return false;
	 }

	if (document.formLoyer["PRENOM_LOCA"].value == "")
	{ alert("Veuillez renseigner le prénom du locataire A");
	  document.formLoyer["PRENOM_LOCA"].focus();
	  return false;
	 }

	if (document.formLoyer["ADR1_LOCA"].value == "")
	{ alert("Veuillez renseigner l'adresse du locataire A");
	  document.formLoyer["ADR1_LOCA"].focus();
	  return false;
	 }

	if (document.formLoyer["CP_LOCA"].value == "")
	{ alert("Veuillez renseigner le code postal du locataire A");
	  document.formLoyer["CP_LOCA"].focus();
	  return false;
	 }

	if (document.formLoyer["VILLE_LOCA"].value == "")
	{ alert("Veuillez renseigner la ville du locataire A");
	  document.formLoyer["VILLE_LOCA"].focus();
	  return false;
	 }

	if (document.formLoyer["PROF_LOCB"].value != "")
	{
		if (document.formLoyer["NOM_LOCB"].value == "")
		{ alert("Veuillez renseigner le nom du locataire B");
		  document.formLoyer["NOM_LOCB"].focus();
		  return false;
		 }

		if (document.formLoyer["PRENOM_LOCB"].value == "")
		{ alert("Veuillez renseigner le prénom du locataire B");
		  document.formLoyer["PRENOM_LOCB"].focus();
		  return false;
		 }
	}

	if (document.formLoyer["PRELEVEMENT"].checked == true)
	{	if (document.formLoyer["BANQUE"].value == "")
		{ alert("Veuillez renseigner la banque du RIB");
		  document.formLoyer["BANQUE"].focus();
		  return false;
		 }
		if (document.formLoyer["GUICHET"].value == "")
		{ alert("Veuillez renseigner le guichet du RIB");
		  document.formLoyer["GUICHET"].focus();
		  return false;
		 }
		if (document.formLoyer["COMPTE"].value == "")
		{ alert("Veuillez renseigner le compte du RIB");
		  document.formLoyer["COMPTE"].focus();
		  return false;
		 }
		if (document.formLoyer["CLE"].value == "")
		{ alert("Veuillez renseigner la clé du RIB");
		  document.formLoyer["CLE"].focus();
		  return false;
		 }
		if (document.formLoyer["DOMICILIATION"].value == "")
		{ alert("Veuillez renseigner la Domiciliation du RIB");
		  document.formLoyer["DOMICILIATION"].focus();
		  return false;
		 }
		if (document.formLoyer["TITULAIRE"].value == "")
		{ alert("Veuillez renseigner le titulaire du RIB");
		  document.formLoyer["TITULAIRE"].focus();
		  return false;
		 }
		ctrl_RIB();
	 }


	if (document.formLoyer["AUTRE_LOTS"].checked == true)
	{ document.formLoyer["AUTRE_LOTS"].value = 'OUI';}
	else
	{ document.formLoyer["AUTRE_LOTS"].value = 'NON';}

	if (document.formLoyer["PRELEVEMENT"].checked == true)
	{ document.formLoyer["PRELEVEMENT"].value = 'OUI';}
	else
	{ document.formLoyer["PRELEVEMENT"].value = 'NON'; }

	return true;
}




function ctrl_RIB()
{
	var banque,guichet,compte,cle, cle2,chaine, A,B,C;	
	
	banque = document.formLoyer["BANQUE"].value;
	guichet = document.formLoyer["GUICHET"].value;
	compte = document.formLoyer["COMPTE"].value;
	cle = document.formLoyer["CLE"].value;

	if ( ( banque.length != 5 ) || ( guichet.length != 5 )|| ( compte.length != 11 )|| ( cle.length != 2 )
	|| isNaN(banque) || isNaN(guichet) || isNaN(cle) || (cle<1) || (cle>97) )
	{
		alert(" numéro de compte invalide .");
		document.formLoyer["BANQUE"].select();
		document.formLoyer["BANQUE"].focus();
		return false;
	}

	compte=compte.replace(/[A|J]/g,'1');
	compte=compte.replace(/[B|K|S]/g,'2');
	compte=compte.replace(/[C|L|T]/g,'3');
	compte=compte.replace(/[D|M|U]/g,'4');
	compte=compte.replace(/[E|N|V]/g,'5');
	compte=compte.replace(/[F|O|W]/g,'6');
	compte=compte.replace(/[G|P|X]/g,'7');
	compte=compte.replace(/[H|Q|Y]/g,'8');
	compte=compte.replace(/[I|R|Z]/g,'9');

	a=banque;
	b=guichet;
	c=compte;

	d = (a*8)
	a = Math.floor(d/97)
	a = d-(a*97)

	e = (b*15)
	b = Math.floor(e/97)
	b = 97-(e-(b*97))

	f = (c*3)
	c = Math.floor(f/97)
	c = 97-(f-(c*97))

	g = a+b+c
	h = Math.floor(g/97)
	i = g-(h*97)

	if (i==0) i = 97

	cle2=i;

	if (cle2!=cle)
	{
		alert(" numéro de compte invalide .");
		document.formLoyer["BANQUE"].focus();
		return false;
	}
	return true;

}
