var doh = "-- Tout droit réservé © 2008 GO assurances  --";
function noclick(scx) {
	if (navigator.appName == "Netscape" && scx.which == 3) {
		alert(doh);
		return false; 
	}
	if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) {
		alert(doh);
		return false; 
	} 
}
document.onmousedown = noclick

var myWaitingWindow;
var Message = "";
var INTEGERS = "0123456789";
var REALS = "0123456789.,";
var CHARS    = "aàbcçdeéèëfghiïîjklmnopqrstuüùvwxyz -"; 
var LOGIN = "abcdefghijklmnopqrstuvwxyz0123456789-._"
var LETTERS = "abcdefghijklmnopqrstuvwxyz ";
var SEPAR   = "-.";
var PONCT   = ",;:/()[]\"'@=+-_?!$*£%&~";
var NET	    = "@&-.=";
var date = new Date();	
var An = parseInt(date.getYear()); if(An<1900) { An = An+1900; }	
var annees = new Array(9);							// création du tableau des année (de "en cours" à "en cours -8"
var nbrjour = 0;								// positionnement à 0
var nbrmois = new Array(12);							// création du tableau des mois
nbrmois[0] = 31; 								// janvier
nbrmois[1] = 0; 								// => calculé dans la fonction CalcMois()
nbrmois[2] = 31; 								// mars
nbrmois[3] = 30; 								// avril
nbrmois[4] = 31; 								// mai
nbrmois[5] = 30; 								// juin
nbrmois[6] = 31; 								// juillet
nbrmois[7] = 31; 								// aout
nbrmois[8] = 30; 								// septembre
nbrmois[9] = 31; 								// octobre
nbrmois[10] = 30; 							// novembre
nbrmois[11] = 31; 							// decembre
var debut = An-8;								// première année = années en cours - 8 ans
for( var i = 0 ; i < 9 ; i++) {					// création du tableau des années (de cette année à cette année mois 8 ans)
	var fevrier = 0;							// variable pour positionnement des années bisextiles
	var boucle = debut+i;						// var boucle pour l'incrementation
	for(var e = 0; e <= ((An-1992)+1); e += 4) {		// de 0 (increment) à anné en cours moins année de référence (1992)		
		if(boucle==(1992+e)) { 
			// si années bisextile (debut en 1992 etant actuellement en 2000)
			fevrier = 29; 
			break; 
		} else { 	
			fevrier = 28; 
		}						// si pas annee bisextiles					// incrementation du compteur à la prochaine année bisextile
	}	
	annees[i] = 337 + fevrier;						// tous les mois + la valeur de "fevrier"
}


function AllCharsOfAreIn(String1, String2) {
	for(i = 0 ; i < String1.length ; i++) {
		if(String2.indexOf(String1.charAt(i)) == -1) {
			return false;
		}
	}
	return true;
}

function IsDayMonthValide(form, indexOfDay) { //------------- AIE 03-11-06  retourne si le jour ou le mois est valide
	DayItem = form.elements[indexOfDay].value;
	MonthItem = form.elements[indexOfDay+1].value;
	
	if((DayItem > 31) || (DayItem < 1)) {
			return true;
			} else if((MonthItem > 12) || (MonthItem < 1)) {
				return true;
	} else
	return false;
}

function IsDateBeforeStrict(date_from, date_to) {
	if( date_from.getFullYear() < date_to.getFullYear() )  {
		return true ;
	} else if( date_from.getFullYear() == date_to.getFullYear() ) {
		if( date_from.getMonth() < date_to.getMonth() ) {
			return true;
		} else if( date_from.getMonth() == date_to.getMonth() )  {
			if( date_from.getDate() < date_to.getDate() ){
                             return true;
			} 
		}
	}
	return false;
}

function IsDateBefore(date_from, date_to) {
	if( date_from.getFullYear() < date_to.getFullYear() )  {
		return true ;
	} else if( date_from.getFullYear() == date_to.getFullYear() ) {
		if( date_from.getMonth() < date_to.getMonth() ) {
			return true;
		} else if( date_from.getMonth() == date_to.getMonth() )  {
			if( date_from.getDate() <= date_to.getDate() ){
                             return true;
			} 
		}
	}
	return false;
}

function IsDateAfter(date_from, date_to) {
	if( date_from.getFullYear() > date_to.getFullYear() )  {
		return true ;
	} else if( date_from.getFullYear() == date_to.getFullYear() ) {
		if( date_from.getMonth() > date_to.getMonth() ) {
			return true;
		} else if( date_from.getMonth() == date_to.getMonth() )  {		
			if( date_from.getDate() >= date_to.getDate() ){	
				return true;
			} 
		}
	}
	return false;
}

//---------- comparer les dates de déb / de fin ---------- suivi Activité 05-02-08
function IsDatesValide(form, indexOfDay1, indexOfDay2) { 
	DayItem1 = form.elements[indexOfDay1];
	MonthItem1 = form.elements[indexOfDay1+1];
	YearItem1 = form.elements[indexOfDay1+2];
	
	DayItem2 = form.elements[indexOfDay2];
	MonthItem2 = form.elements[indexOfDay2+1];
	YearItem2 = form.elements[indexOfDay2+2];
	
	if (navigator.appName == 'Netscape') {
		Year1 = CurDate.getFullYear() + YearItem1.selectedIndex - 1;
		Year2 = CurDate.getFullYear() + YearItem2.selectedIndex - 1;
		} else {
			Year1 = YearItem1.options(YearItem1.selectedIndex).text;
			Year2 = YearItem2.options(YearItem2.selectedIndex).text;
	}
	
	Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
	Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
	return IsDateBefore(Date1, Date2);
}

function IsAfterCurrentDate(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate = new Date();
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value-1);

	return IsDateAfter(DateToCheck, CurDate);
}

function IsBeforeCurrentDate(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate = new Date();
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, CurDate);
}

function IsBeforeCurrentDateStrict(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate = new Date();
	DateToCheck = new Date(YearItem.value, MonthItem.value-1 , DayItem.value);
	return IsDateBeforeStrict(DateToCheck, CurDate);
}

function IsCurrentDate(form, indexOfDay) { /* -------------------------- */
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate = new Date();
	if (navigator.appName == 'Netscape') {
		Year = CurDate.getFullYear() + YearItem.selectedIndex - 1;
	} else {
		Year = YearItem.options(YearItem.selectedIndex).text;
	}
	return (CurDate.getFullYear()==Year) && (CurDate.getMonth()==MonthItem.selectedIndex) && (CurDate.getDate()==DayItem.selectedIndex+1);
}

function IsBeforeCurrentTimeStrict(form, indexOfTime) {
	HourItem = form.elements[indexOfTime];
	MimItem = form.elements[indexOfTime+1];
	currentDate = new Date();
	
	
    valHour = HourItem.options[HourItem.selectedIndex].text
	valMinutes = MimItem.options[MimItem.selectedIndex].text

	if( valHour > currentDate.getHours() )  {
	
		return true ;
	} else if( valHour == currentDate.getHours()  ) {
	
		if( valMinutes > currentDate.getMinutes() ) {
	
			return true;
		} 
	}
	return false;
}

//---------------------------------------------- AIE 12-09-2006 -- ctrl Date d'effet Antérieuere à la date du jour
function IsDateEffetPremierduMoisOk(form, indexOfMonth) {
	CurDate = new Date();
	DayItem = CurDate.getDate();
	MonthItem = form.elements[indexOfMonth];
	YearItem = form.elements[indexOfMonth+1];
	CurMonth = CurDate.getMonth();
	CurYear = CurDate.getFullYear();
	
	if( DayItem < 2 ) {
			//DateToCheck = new Date(Year, MonthItem.selectedIndex, DayItem);
			DateToCheck = new Date(YearItem.value, MonthItem.value , DayItem.value);
			return IsDateAfter(DateToCheck, CurDate);
			} 
		else {
			//DateToCheck = new Date(Year, MonthItem.selectedIndex, DayItem);
			DateToCheck = new Date(YearItem.value, MonthItem.value , DayItem.value);
			if (CurMonth == 11) {
				CurYear = parseInt(CurYear) + 1;
				MonthItemPlus1 = 0;
			} else {
				MonthItemPlus1 = parseInt(CurMonth) + 1; 
			}
			
		CurrentPlus1Mois = new Date(CurYear, MonthItemPlus1, DayItem);
		return IsDateAfter(DateToCheck, CurrentPlus1Mois);
		}
}
//---------------------------------------------- AIE 06-12-2005 -- ctrl Date d'effet Antérieuere à la date du jour
function IsDateEffetOk(form, indexOfMonth) {
	CurDate = new Date();
	DayItem = CurDate.getDate();
	MonthItem = form.elements[indexOfMonth];
	YearItem = form.elements[indexOfMonth+1];
	CurMonth = CurDate.getMonth();
	CurYear = CurDate.getFullYear();
	
	if( DayItem < 16 ) {
			//DateToCheck = new Date(Year, MonthItem.selectedIndex, DayItem);
			DateToCheck = new Date(YearItem.value, MonthItem.value , DayItem.value);
			return IsDateAfter(DateToCheck, CurDate);
			} 
		else {
			//DateToCheck = new Date(Year, MonthItem.selectedIndex, DayItem);
			DateToCheck = new Date(YearItem.value, MonthItem.value , DayItem.value);
			if (CurMonth == 11) {
				CurYear = parseInt(CurYear) + 1;
				MonthItemPlus1 = 0;
			} else {
				MonthItemPlus1 = parseInt(CurMonth) + 1; 
			}
			
		CurrentPlus1Mois = new Date(CurYear, MonthItemPlus1, DayItem);
		return IsDateAfter(DateToCheck, CurrentPlus1Mois);
		}
}
//----------------------------------------------- AIE ctrl Date d'effet postérieuere à la date du jour -------------------
function IsCurrentDateEffetOk(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	//YearsAgo.setFullYear(Today.getFullYear()-1);
 
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];

    //DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value , DayItem.value);
	return IsDateAfter(DateToCheck, YearsAgo);
}
//----------------------------------------------- AIE & YBO ctrl age - 18 ans -------------------
function IsBefore18yearsAgo2(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 18);
 
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];

    //DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}
//----------------------------------------------- ctrl age - 40 ans Devis emprunteur -------------------
function IsBefore40yearsAgo2(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 40);
 
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];

    //DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}
//----------------------------------------------- ctrl age - 65 ans -------------------
function IsLessThan65YearsOld2(form, indexOfDay) { 
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 65);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
		
	//DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}
//----------------------------------------------- ctrl age - 71 ans -------------------
function IsLessThan71YearsOld2(form, indexOfDay) { 
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 72);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
		
	//DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}
//----------------------------------------------- ctrl age - 64 ans AIE 28-12-2004
function IsLessThan64YearsOld(form, indexOfDay) { 
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 64);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
		
	//DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}
//----------------------------------------------- ctrl age - 28 ans -------------------
function IsLessThan28YearsOld2(form, indexOfDay) { 
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 28);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	if (!DayItem) {
		return false;
	} else
	{
	//DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	
	return IsDateBefore(DateToCheck, YearsAgo);
	}
}
//-----------------------------------------------
function IsBefore18yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 18);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}

//----------------------------------------------- 14 ans - souscripteur Cyclo
function IsBefore14yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 14);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}
//------------------------------------- Si la date de mise en circulation du véhivcule est > 20 ans ----------------------
function IsBefore20yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 20);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];

	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}
//------------------------------------- conducteur 2 ayant au moins 21 ans ----------------------
function IsBefore21yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 21);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	
	return IsDateBefore(DateToCheck, YearsAgo);
}
//------------------------------------- conducteur ayant au moins 25 ans ----------------------
function IsBefore25yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 25);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}
// -------------------------------------------- spec Recette IA.doc ctrl age en date du 11-10-04 -------------
function IsLessThan69YearsOld(form, indexOfDay) { //-- Age moins de 69 ans ------------------------------------
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 69);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateAfter(DateToCheck, YearsAgo);
}
function IsLessThan74YearsOld(form, indexOfDay) { //-- Age moins de 74 ans ------------------------------------
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 74);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateAfter(DateToCheck, YearsAgo);
}
function IsLessThan64YearsOld(form, indexOfDay) { //-- Age moins de 64 ans ------------------------------------
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 64);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateAfter(DateToCheck, YearsAgo);
}

function IsLessThan80YearsOld(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 80);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateAfter(DateToCheck, YearsAgo);
}
//--------- cyclo 75 ans
function IsLessThan75YearsOld(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 75);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateAfter(DateToCheck, YearsAgo);
}

//------------------------------------- AIE 13-04-06 - si l'ancienneté de la première assur du soucripteur < à 2 ans -----
function IsBefore2yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 2);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}
//------------------------------------- AIE 17-02-06 si permis second conducteur inférieur à 3 ans ----------------------
function IsBefore3yearsAgo(form, indexOfDay) {
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 3);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);

	return IsDateBefore(DateToCheck, YearsAgo);
}
//-------------------------------------------------------
function IsBefore18Years(form, indexOfDate1, indexOfDate2) {
	DayItem1 = form.elements[indexOfDate1];
	MonthItem1 = form.elements[indexOfDate1+1];
	YearItem1 = form.elements[indexOfDate1+2];
	Today = new Date();

	
	//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

	DayItem2 = form.elements[indexOfDate2];
	MonthItem2 = form.elements[indexOfDate2+1];
	YearItem2 = form.elements[indexOfDate2+2];
	
	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
	Date2 = new Date(YearItem2.value, MonthItem2.value-1, DayItem2.value);
	Date2.setFullYear(Date2.getFullYear() - 18);
	return IsDateBefore(Date1, Date2);
}

//-------------------------------------------------------
function IsBefore14Years(form, indexOfDate1, indexOfDate2) {
	DayItem1 = form.elements[indexOfDate1];
	MonthItem1 = form.elements[indexOfDate1+1];
	YearItem1 = form.elements[indexOfDate1+2];
	Today = new Date();
	
	//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

	DayItem2 = form.elements[indexOfDate2];
	MonthItem2 = form.elements[indexOfDate2+1];
	YearItem2 = form.elements[indexOfDate2+2];
	
	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
	Date2 = new Date(YearItem2.value, MonthItem2.value-1, DayItem2.value);
	Date2.setFullYear(Date2.getFullYear() - 14);
	return IsDateBefore(Date1, Date2);
}

function NbYearsBetween(Date1, Date2) {
	_Result = Date1.getFullYear() - Date2.getFullYear();
	if(_Result > 0) {
		if(Date1.getMonth() < Date2.getMonth()) {
			_Result--;
		} else if(Date1.getMonth() == Date2.getMonth()) {
			if(Date1.getDate() < Date2.getDate()) {
				_Result--;
			}
		}
	}
	return _Result;
}

function IsCoherentCRM(form, indexOfDay, CRM) {
	DayItem1 = form.elements[indexOfDay];
	MonthItem1 = form.elements[indexOfDay+1];
	YearItem1 = form.elements[indexOfDay+2];
 	
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);//-------- AIE & KOU 05-12-06 suite Bug remonté par Ahlem JARBOUI

	NbYears = NbYearsBetween(new Date(), Date1);
	return (CRM >= (100 - NbYears*5));
}

function IsValidCRM(theCRM) {
	if(theCRM.length == 0) {
		return false;
	}
	if(AllCharsOfAreIn(theCRM, INTEGERS)) {
		if(theCRM >= 50) {
			return true;
		}
	}
	return false;
}

function IsValidCommonImmatriculation(Immat) {
	NbFigures = 0 ;
	MinFigures = 2;
	MaxFigures = 5;
	NbChars = 0;
	MinChars = 2;
	MaxChars = 3;
	Dep = "";
	
	//premier test sur la taille de la chaine : au plus CCCCLLLLCC, au moins CCLLCC
	if( (Immat.length > 10) || (Immat.length < 6) ){
			return false;
	}
	//4444
	//L4444
	//4444WW
	//4444WWMC
	
	//on vérifie qu'il y a au plus 4 chiffres au départ, au moins 2
 	
	for(i = 0 ; i < Immat.length - 2 ; i++) {
		return INTEGERS.indexOf(Immat.charAt(i)); //---------------------------------- Ajouté Par AIE 02-06-2005
		if( INTEGERS.indexOf(Immat.charAt(i)) != -1) {
			NbFigures++;
			if(NbFigures > MaxFigures) {
				return false;
			}
		} else {
			if(NbFigures < MinFigures) {
				//s'il y a un moins de deux chiffres la plaque n'est pas valide
				return false;
			}
			//on a rencontré autre chose qu'un chiffre -> on passe aux lettres en sortant de la boucle
			break;
		}
	}	
	//on vérifie que tous les caractères suivants sont des lettres, au plus 4, au moins 2
	lcImmat = Immat.toLowerCase();
	for(i = NbFigures ; i < Immat.length - 2 ; i++) {
		if(LETTERS.indexOf(lcImmat.charAt(i)) != -1) {
			NbChars++;
			if(NbChars > MaxChars) {
				return false;
			}
		} else if(NbChars < MinChars) {
				return false;
		}
	}
	// on est passé avec succès dans les deux boucles : on vérifie le département.
	
	Dep = Immat.substring(Immat.length-2, Immat.length);
	if(Dep == '2a' || Dep == '2A' || Dep == '2b' || Dep == '2B' || AllCharsOfAreIn(Dep, INTEGERS)) {
		return true;
	}
	return false;
}

function IsValidWeirdImmatriculation(Immat) {
	lcImmat = Immat.toLowerCase();
	figures = "";
	remainder = "";
	if( LETTERS.indexOf(lcImmat.charAt(i)) == 0) {
		if(lcImmat.length == 4) {
			return AllCharsOfAreIn(lcImmat.substring(1,3), INTEGERS);
		}
		return false;
	} else {
		figures = lcImmat.substring(0,4);

		if(AllCharsOfAreIn(figures, INTEGERS)) {
			if(lcImmat.length > 4) {
				remainder = lcImmat.substring(4, lcImmat.length);
				
				return (remainder == "ww") || (remainder == "wwmc");
				
			}
			//4444
			return true;
		}
		return false;
	}
}

function IsValidImmatriculation(Immat) {
	return IsValidCommonImmatriculation(Immat) || IsValidWeirdImmatriculation(Immat);
}

//--------------------------------------------------------------------
//--------------------------------------------------------------------
//
// fonction de verification d'une valeur de select list
//
//--------------------------------------------------------------------
//--------------------------------------------------------------------


function CheckName(theName) {
	if(theName.length > 0) {
		return AllCharsOfAreIn(theName.toLowerCase(), CHARS);
	} else {
		return false;
	}
}

function CheckMail(theMail) {
	if(theMail.length > 0) {
		theMail = theMail.toLowerCase();
		ArobasPos = theMail.indexOf("@");
		MainDomainLength = 0
		if(ArobasPos < 1) {
			return false;
		}		
	
		Login = theMail.substring(0,ArobasPos);
		if(! AllCharsOfAreIn(Login, LOGIN) ) {
			return false;
		}	

		Domain = theMail.substring(ArobasPos+1, theMail.length);
		DotPos = Domain.lastIndexOf(".");
		if(DotPos == -1) {
			return false;
		}
		MainDomainLength = Domain.length-DotPos-1 ;
		if( (MainDomainLength  > 3) || (MainDomainLength < 2) ) {
			return false;
		}
		SubDomain = Domain.substring(0, DotPos-1);
		return AllCharsOfAreIn(SubDomain, LOGIN);
	} 
	return true;

}

function CheckTelephone(theNumber) {
	if(theNumber.length > 0) {
		if(theNumber.length != 10) {
			return false;
		}
		return AllCharsOfAreIn(theNumber, INTEGERS);
	}
	return true;
}

function CheckPostalCode(theNumber) {
	if(theNumber.length != 5) {
		return false;
	}
	return AllCharsOfAreIn(theNumber, INTEGERS);
}

function CheckCity(theCity) {
	if(theCity.length == 0) {
		return false;
	}
	return AllCharsOfAreIn(theCity.toLowerCase(), LETTERS);
}

function CoordonneesAreValidWithOutName(form, indexOfAddress, CheckPhone) {
	var MSG = "";

	Adresse = form.elements[indexOfAddress].value;
	Complement = form.elements[indexOfAddress+1].value;
	AdresseOk = false;
	if(Adresse.length == 0)  {
		if(Complement.length == 0) {
			AdresseOk = false;
		} else {
			AdresseOk = AllCharsOfAreIn(Adresse.toLowerCase(),CHARS);
		}
	} else {
		AdresseOk = true
	}
	if(!AdresseOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('adresse');
	}
	CodePostal = form.elements[indexOfAddress+2].value;
	CodePostalOk = CheckPostalCode(CodePostal);
	if(!CodePostalOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('code_postal');
	}
	VilleCombo = form.elements[indexOfAddress+3];
	if (navigator.appName == 'Netscape') {
		Ville = "no";
	} else {
		Ville = VilleCombo.options(VilleCombo.selectedIndex).text;
	}
	VilleOk = CheckCity(Ville);
	if(!VilleOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('ville');
	}
	Email = form.elements[indexOfAddress+4].value;
	EmailOk = CheckMail(Email);
	
	if(!EmailOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('email');
	}

	Telephone = form.elements[indexOfAddress+5].value;
	Portable = form.elements[indexOfAddress+6].value;	
	if (CheckPhone && Telephone.length == 0 && Portable.length == 0) {
		if (MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('telephoneorportable');
	} else {
		TelephoneOk = CheckTelephone(Telephone);
		if(!TelephoneOk) {
			if(MSG != "") {
				MSG += "\n";
			}
			MSG += getGeneralMessage('telephone');
		}
		PortableOk = CheckTelephone(Portable);
		if(!PortableOk) {
			if(MSG != "") {
				MSG += "\n";
			}
			MSG += getGeneralMessage('portable');
		}
	}
	return MSG;
}

//------ for chamb Etud
function CoordonneesEtudValidWithOutName(form, indexOfAddress) {
	var MSG = "";

	Adresse = form.elements[indexOfAddress].value; 
	Complement = form.elements[indexOfAddress+1].value;
	AdresseOk = false;
	if(Adresse.length == 0)  {
		if(Complement.length == 0) {
			AdresseOk = false;
		} else {
			AdresseOk = AllCharsOfAreIn(Adresse.toLowerCase(),CHARS);
		}
	} else {
		AdresseOk = true
	}
	if(!AdresseOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += "-L'adresse de la chambre d'\étudiant est incorrecte";
	}
	CodePostal = form.elements[indexOfAddress+2].value;
	CodePostalOk = CheckPostalCode(CodePostal);
	if(!CodePostalOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += "-Le code postal de la chambre d'\étudiant est incorrect";
	}
	//--
	VilleCombo = form.elements[indexOfAddress+3];
	if ((navigator.appName == 'Netscape') || (moz)) {
			Ville = VilleCombo[VilleCombo.selectedIndex].value; //---------- For Moz 16-01-08
		} else {
			Ville = VilleCombo.options(VilleCombo.selectedIndex).text;
	}
	VilleOk = CheckCity(Ville);
	if(!VilleOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += "-La localité de la chambre d'\étudiant est incorrect";
	}
	//--
	
	/*VilleCombo = form.elements[indexOfAddress+3];
	VilleOk = VilleCombo.selectedIndex; alert("VilleOk" + VilleOk)
	if(VilleOk == 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += "-La localité de la chambre d'\étudiant est incorrect";
	 }*/
	return MSG;
}

function CoordonneesAreValid(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}
	Prenom = form.elements[indexOfName+1].value;
	PrenomOk = CheckName(Prenom);
	if(!PrenomOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom');
	}
	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 2, true);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

//------------------------------------------------------------- 19-03-2008
function CoordonneesEtudValid(form, indexOfName) {
	var MSG = "";

	AddresseError = CoordonneesEtudValidWithOutName(form, indexOfName);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

//------------------------------------------------------------- 29-01-2008
function CoordonneesEnfantAreValid(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}
	Prenom = form.elements[indexOfName+1].value;
	PrenomOk = CheckName(Prenom);
	if(!PrenomOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom');
	}
	//---
	NomS = form.elements[indexOfName+2].value;
	NomSOk = CheckName(NomS);
	if(!NomSOk) {
		MSG = getGeneralMessage('nom_sousc');
	}
	PrenomS = form.elements[indexOfName+3].value;
	PrenomSOk = CheckName(PrenomS);
	if(!PrenomSOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom_sousc');
	}
	//------
	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 7, true);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

//-------------------------------  coord are valid for locaux commer -- remonté PCO le 08-11-06
function CoordonneesAreValidBDG(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}

	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 2, true);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

function CoordonneesAreValidBDGForDevis(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}
	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 2, false);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}
//-----------------------------------------------------------------
function CoordonneesAreValidForDevis(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}
	Prenom = form.elements[indexOfName+1].value;
	PrenomOk = CheckName(Prenom);
	if(!PrenomOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom');
	}
	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 2, false);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

//----------------------------------------------------------------- Enfant
function CoordonneesEnfantAreValidForDevis(form, indexOfName) {
	var MSG = "";

	Nom = form.elements[indexOfName].value;
	NomOk = CheckName(Nom);
	if(!NomOk) {
		MSG = getGeneralMessage('nom');
	}
	Prenom = form.elements[indexOfName+1].value;
	PrenomOk = CheckName(Prenom);
	if(!PrenomOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom');
	}
	//---
	NomS = form.elements[indexOfName+2].value;
	NomSOk = CheckName(NomS);
	if(!NomSOk) {
		MSG = getGeneralMessage('nom_sousc');
	}
	PrenomS = form.elements[indexOfName+3].value;
	PrenomSOk = CheckName(PrenomS);
	if(!PrenomSOk) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += getGeneralMessage('prenom_sousc');
	}
	//---
	AddresseError = CoordonneesAreValidWithOutName(form, indexOfName + 7, false);
	if (AddresseError.length > 0) {
		if(MSG != "") {
			MSG += "\n";
		}
		MSG += AddresseError;
	}
	return MSG;
}

function IsAmmountValid(Ammount, CheckPositive) {
	return true;
}

function ShowWait(FileName) {
	//afficher fenetre attente
	Height = 180;
	Width  = 380;
	X=300;
	Y=250;
	if (navigator.appName == 'Netscape') {
		Parameters="menubar=no,resizable=no,screenX=" + X + ",screenY=" + Y;
		Parameters = Parameters + ",innerHeight=" + Height + ",innerWidth=" + Width;
	} else {
		Parameters = "height=" + Height + ",width=" + Width + ",left=" + X + ",top=" + Y;
	}
	myWaitingWindow=window.open(FileName, "Waiting",Parameters);
}

function ShowCalculTarifWait() {
	ShowWait("attente.htm");
}

function ShowCreateContractWait() {
	ShowWait("attente2.htm");
}

function ShowSearchContractWait() {
	ShowWait("attente3.htm");
}

function ShowSearchDevisWait() {
	ShowWait("attente4.htm");
}

function ShowSearchCourtierWait() {
	ShowWait("attenteCourtier.htm");
}

function ShowSearchPersonWait() {
	ShowWait("attentePerson.htm");
}

function ShowCalculActiviteWait() {
	ShowWait("attenteCalculActivite.htm");
}

function closeWaitingWindow() {
	if (myWaitingWindow != null) {
		myWaitingWindow.close();
	}
}

function LoadWindow() { //------- Maj YMH ajout event 'onLoad' 23-01-08
	
}

function CheckPostalCodeAndDo(OBJ, MethodToCall, WEDObj) {
	ACTION = "WEDMotorMethod(\"" + MethodToCall + "\", " + WEDObj + ", \"\", false, 100, 100, false, true)";
	CheckTextField(OBJ, 5, ACTION);
	return false;
}

function CalleWEDMethod(MethodToCall, WEDObj) {
	WEDMotorMethod(MethodToCall, WEDObj , "", false, 100, 100, false, true);
}

function IsValidAutoFrais(Frais) {
	if (AllCharsOfAreIn(Frais, INTEGERS)) {
		if (Frais <= 300) {
			return true;
		}
	}
	return false;
}

function OpenHelpOn(what, url) {
	Width = 430;
	Height = 300;
	if(what=='type_mines') {
		Height = 180;//OK
	} else if(what=='type') {
		Height = 180;//OK
	} else if(what=='version') {
		Height = 340;//OK
	} else if(what=='date_de_mise_en_circulation') {
		Height = 200;
	} else if(what=='code_postal_du_lieu_de_garage') {
		Height = 200;//OK
	} else if((what=='date_de_naissance') || (what=='date_de_naissance_cyclo')) { 
		Height = 180;
	} else if(what=='date_de_permis') {
		Height = 180;
	} else if(what=='crm') {
		Height = 250;//OK
	} else if(what=='derniere_echeance_principale') {
		Height = 170;//OK
	} else if(what=='declaration_non_responsable') {
		Height = 260;//OK
	} else if(what=='declaration_responsable') {
		Height = 260;//OK
	} else if(what=='declaration_corporelle') {
		Height = 260;//OK
	} else if(what=='usage') {
		Height = 560;//OK
	} else if(what=='second_conducteur') {
		Height = 200;//OK
	} else if(what=='protection_du_conducteur') {
		Height = 220;//OK
	} else if(what=='fractionnement') {
		Height = 250;//OK
	} else if((what=='frais_annexes') || (what=='frais_annexes_cyclo')) {
		Height = 170;//OK
	} else if(what=='frais_annexes2') { ///------------------ frais annexes spécial pour 2 roues + texte i Infos correspondant
		Height = 180; //OK
	} else if(what=='formule_eco') {
		Height = 190;
	} else if(what=='formule_tiers_ameliore') {
		Height = 240;
	} else if(what=='formule_tiers_optimum') {
		Height = 350;  //ok
	} else if(what=='formule_tous_risques') {
		Height = 380; 
	//----------------------- i infos spécifique vos garanties & vos franchises AIE 08-03-07
	} else if(what=='formule_eco_cls') {
		Height = 227;
	} else if(what=='formule_tiers_ameliore_cls') {
		Height = 263;
	} else if(what=='formule_tiers_optimum_cls') {
		Width = 825;
		Height = 374;
	} else if(what=='formule_tous_risques_cls') {
		Width = 825;
		Height = 425;
	//-----------------------
	} else if(what=='formule_tiers_ameliore_moto') { ///-------- formules pour la moto
		Height = 220; //ok
	} else if(what=='formule_tiers_optimum_moto') {
		Height = 320;  //ok
	} else if(what=='formule_tous_risques_moto') {
		Height = 340; //ok
	} else if(what=='formule_tiers_collision_moto') {
		Height = 340;  //ok
	// -------------------------------------------------
	} else if(what=='capitaux_deces') {
		Height = 180; //OK
	} else if(what=='capitaux_invalidite') {
		Height = 250; //OK
	} else if(what=='indemnites_journalieres') {
		Height = 190; //OK
	} else if(what=='frais_hospitalisation') {
		Height = 210; //OK
	} else if(what=='famille') {
		Height = 180; //OK
	} else if(what=='sports_dangereux') {
		Height = 210; //OK
	} else if(what=='csp') {
		Height = 360; //OK
	} else if(what=='conducteur') {
		Height = 210; //OK
	} else if(what=='deplacement_frequents') {
		Height = 190; //OK
	} else if(what=='elu_administrateur') {
		Height = 195; //OK
	// ---------------------------------------- 18-08-2005 AIE	
	} else if(what=='vulnerable') {
		Height = 195; //OK
	} else if(what=='dommage') {
		Height = 195; //OK
	} else if(what=='frais_pose') {
		Height = 165; //OK
	// ---------------------------------------- 20-08-2005
	} else if(what=='garantie_forfait') {
		Height = 190; //OK
	// ---------------------------------------- 25-11-2005
	} else if(what=='hab_ext_assur') {
		Height = 215; 
	} else if(what=='hab_ext_pisc') {
		Height = 190; 
	} else if(what=='hab_ext_ver') {
		Height = 190; // ok
	} else if(what=='hab_ext_vol') {
		Height = 190; 
	} else if(what=='hab_ext_volc') {
		Height = 210; 
	} else if(what=='hab_ext_jard') {
		Height = 190; 
	} else if(what=='hab_ext_pack') {
		Height = 230; // ok
	} else if(what=='hab_ext_matern') {
		Height = 220; // ok
	} else if(what=='hab_ext_auto') {
		Height = 190; 
	} else if(what=='hab_ext_incend') {
		Height = 190; 
	} else if(what=='hab_ext_etud') {
		Height = 240; 
	} else if(what=='hab_rachat') {
		Height = 170; // ok
	} else if(what=='hab_ext_recours') {
		Height = 190; // ok
	} else if(what=='hab_ext_emeut') {
		Height = 190; 
	} else if(what=='val_integral') {
		Height = 190; 
	// ----------------------------------------
	} else if(what=='usage_du_vehicule') {
		Height = 190; 
	} else if(what=='commission') {
		Height = 165;//OK
	} else if(what=='effets_et_objets_personnels') {
		Height = 190; 
	// ---------------------------------------- 26-01-2006
	} else if(what=='tab_garsante') { 
		Height = 195;
	// ---------------------------------------- 30-01-2007
	} else if(what=='garantie_eco') {
		Height = 190;
	} else if(what=='garantie_tiers_ameliore') {
		Height = 190;
	} else if(what=='garantie_tiers_optimum') {
		Height = 190;  //ok
	} else if(what=='garantie_tous_risques') {
		Height = 190;
	} else if(what=='gril_rabais') { 
		Width = 703;
		Height = 380;
	} else if(what=='garantie_mesure') { 
		Width = 716;
		Height = 585;
	} // ---------------------------------------- 01-03-2007  fen garantie_mesure_avenant
	else if(what=='garantie_mesure_av') { 
		Width = 716;
		Height = 585;
	} // ---------------------------------------- 03-04-2007  fen garantie_mesure_public
	else if(what=='garantie_mesure_public') { 
		Width = 716;
		Height = 585;
	}
	// ---------------------------------------- 12-02-2007 -- popups franchise Tiers OPT / Tt RSQ
	else if(what=='franchise_optimum') {
		Width = 420;
		Height = 227; 
	}
	else if(what=='franchise_rsq') {
		Width = 420;
		Height = 227; 
	}
	else if(what=='formule_RC_Cyclo_moto') {
		Width = 420;
		Height = 220; 
	}
	else if(what=='formule_RCVI_Cyclo_moto') {
		Width = 420;
		Height = 302; 
	}
	// ---------------------------------------- protection Pilote
	else if(what=='ProtectionPilote') {
		Width = 420;
		Height = 227; 
	}
	var Parameters="";
	if(navigator.appName=='Netscape') {
		Parameters="menubar=no,resizable=yes,screenX=0,screenY=0";
		Parameters = Parameters+",innerHeight="+Height+",innerWidth="+Width;
	} else {
		Parameters="menubar=no,resizable=yes,left=0,top=0";
		Parameters = Parameters+",height="+Height+",width="+Width;
	}
	var dummy = window.open(url,"",Parameters);
	return;
}
// --------------------------------------------------- Début Overlib - ouverture de event survoler les i infos
window.document.write("<div id='overDiv' style='position:absolute; visibility:hidden; z-index:1000;'></div>");

function OnSurvol(code)
{
	if (code =="iinfo1")//------------ contenu de l'i infos AGE cond
	{
		overlib('<iframe src="/infos/mtd_date_de_naissance.htm" style="width:376;height:85;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo2")
	{
		overlib('<iframe src="/infos/mtd_moto_crm.htm" style="width:376;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo3")
	{
		overlib('<iframe src="/infos/mtd_moto_echeanceprincipale.htm" style="width:376;height:85;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo4")//------ usage
	{
		overlib('<iframe src="/infos/mtd_usage.htm" style="width:576;height:300;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo5")//-------- 
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresnonresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo6")//--- Auto Non resp
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresnonresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo7")
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo8")
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo9")
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresnonresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo10")
	{
		overlib('<iframe src="/infos/mtd_moto_decsinistresnonresp.htm" style="width:316;height:165;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo11")//------------ contenu de l'i infos fractionnement
	{
		overlib('<iframe src="/infos/mtd_fractionnement.htm" style="width:376;height:135;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="iinfo12")//------------ contenu de l'i infos Protection du conducteur
	{
		overlib('<iframe src="/infos/mtd_moto_protectionvehicule.htm" style="width:319;height:148;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="forma")//------------ contenu de l'i infos formaa
	{
		overlib('<iframe src="/infos/mtd_forma.htm" style="width:305;height:115;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="formb")//------------ contenu de l'i infos formb
	{
		overlib('<iframe src="/infos/mtd_formb.htm" style="width:305;height:190;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="formc")//------------ contenu de l'i infos formc
	{
		overlib('<iframe src="/infos/mtd_formc.htm" style="width:305;height:210;border=0" frameborder="no" scrolling="no"></iframe>');
	}
	if (code =="formd")//------------ contenu de l'i infos formd
	{
		overlib('<iframe src="/infos/mtd_formd.htm" style="width:305;height:210;border=0" frameborder="no" scrolling="no"></iframe>');
	}
}

function CloseSurvol()
{
	nd();
}
// ---------------------------------------------------  fin Overlib - ouverture de event survoler les i infos

function CheckTextField(OBJ, MAXSIZE, ACTION) 
{	
	// verification de la longueur du champs
	if(CheckFieldLength(OBJ.value, MAXSIZE))
	{		
		// verification si saisie = chiffre
		if(!parseInt(OBJ.value,10))
		{
			alert("Les informations sur votre code postal sont incorrectes");
			return;
		}
		// si tout ok, soumission du formulaire
		eval(ACTION);
		return;
	}
}

// ---------------------------------------------------
// verification de la longueur des donnees pour validation d'une action
// ---------------------------------------------------

function CheckFieldLength(DATA_VALUE, MUST_HAVE_LENGTJ)
{
	// si taille des donnees atteinte: retourne VRAI
	if(DATA_VALUE.length==MUST_HAVE_LENGTJ) { return true; }
	// sinon: retourne FAUX
	else { return false; }
}

//retour si evenement = frappe touche enter
function IsEnterPressed(e) {
	var whichCode = -1;
	if (navigator.appName == "Netscape") {
		whichCode = e.which;
	} else {
		if (window.event.type == "keypress") {
			whichCode = window.event.keyCode;
		}
	}
	return (whichCode == 13);
}

function SomeSinistres(form, withSecond, IndexDriver1, IndexDriver2) {
	Sinistre1 = form.elements[IndexDriver1].selectedIndex;
	Sinistre2 = form.elements[IndexDriver1 + 1].selectedIndex;
	Sinistre3 = form.elements[IndexDriver1 + 2].selectedIndex;
	if (Sinistre3 > 0 || Sinistre2 > 0 || Sinistre1 > 0) {
		return true;
	} else {
		if (withSecond)	{
	  		Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	  		Sinistre5 = form.elements[IndexDriver2 + 1].selectedIndex;
	  		Sinistre6 = form.elements[IndexDriver2 + 2].selectedIndex;
			return (Sinistre4 > 0 || Sinistre5 > 0 || Sinistre6 > 0);
		} else {
			return false;
		}
	}
}

function SinistresAllowed(form, withSecond, IndexDriver1, IndexDriver2, Birth1, Birth2) {
	Sinistre3 = form.elements[IndexDriver1 + 2].selectedIndex;
	if (withSecond) {
	   Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	   Sinistre5 = form.elements[IndexDriver2 + 1].selectedIndex;
	   Sinistre6 = form.elements[IndexDriver2 + 2].selectedIndex;
        }

	if (Sinistre3 > 0 || (withSecond && Sinistre6 > 0)) {
		//on n'accepte aucun sinistre corporel
		alert("Souscription impossible, aucun sinistre corporel accepté.");
		form.elements[IndexDriver1 + 2].focus();
		return false;
	} else {
		DayItem1 = form.elements[Birth1];
		MonthItem1 = form.elements[Birth1 + 1];
		YearItem1 = form.elements[Birth1 + 2];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
		Date1 = new Date(YearItem1.value, MonthItem1.value , DayItem1.value);
		NbYears = NbYearsBetween(new Date(), Date1);
		if (withSecond) {
			DayItem2 = form.elements[Birth2];
			MonthItem2 = form.elements[Birth2 + 1];
			YearItem2 = form.elements[Birth2 + 2];

		  	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
			Date2 = new Date(YearItem2.value, MonthItem2.value , DayItem2.value);
		  	NbYears2 = NbYearsBetween(new Date(), Date2);
		}
		Sinistre2 = form.elements[IndexDriver1 +1].selectedIndex;
		if (NbYears < 3  || (withSecond && NbYears2 < 3)) {
			//aucun sinistre accepte
			Sinistre1 = form.elements[IndexDriver1].selectedIndex;
			if (((NbYears < 3) && (Sinistre2 > 0 || Sinistre1 > 0)) || (withSecond && NbYears2 < 3) && (Sinistre4 >0 || Sinistre5 >0)) {
				alert("Souscription impossible, aucun sinistre accepté si permis de moins de 3 ans.");
				return false;
			}
		} else {
			if (Sinistre2 > 2 || (withSecond && Sinistre5 > 2) || ( withSecond && Sinistre5 == 2 && Sinistre2 >= 1 ) || ( withSecond && Sinistre5 >= 1 && Sinistre2 == 2 )) {
				//que 2 sinistres responsables au plus
				alert("Souscription impossible, 2 sinistres responsables ou non maximum.");
				form.elements[IndexDriver1 + 1].focus();
				return false;
			} else {
				if ( (Sinistre1 + Sinistre2) > 2 || (withSecond && (Sinistre1 + Sinistre5) > 2 ) || (withSecond && ( (Sinistre2 + Sinistre4) > 2)) || (withSecond && ((Sinistre1 + Sinistre2) == 2) && (Sinistre4 + Sinistre5) > 0 ) || (withSecond && ((Sinistre4 + Sinistre5) == 2) && (Sinistre1 + Sinistre2) > 0 ) ) {
					alert("Souscription impossible, 2 sinistres responsables ou non maximum.");
					form.elements[IndexDriver1 + 1].focus();
					return false;
				}
			}
		}
	}
	return true;
}

function SinistresMalusseAllowed(form, withSecond, IndexDriver1, IndexDriver2, Birth1, Birth2) {
	Sinistre3 = form.elements[IndexDriver1 + 2].selectedIndex;
	if (withSecond) {
	   Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	   Sinistre5 = form.elements[IndexDriver2 + 1].selectedIndex;
	   Sinistre6 = form.elements[IndexDriver2 + 2].selectedIndex;
        }

	if (Sinistre3 > 1 || (withSecond && Sinistre6 > 1) || withSecond && (Sinistre3+Sinistre6) > 1 ) {
		//on n'accepte aucun sinistre corporel
		alert("Souscription impossible, un seul sinistre corporel accepté.");
		form.elements[IndexDriver1 + 2].focus();
		return false;
	} else {
		DayItem1 = form.elements[Birth1];
		MonthItem1 = form.elements[Birth1 + 1];
		YearItem1 = form.elements[Birth1 + 2];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
		Date1 = new Date(YearItem1.value, MonthItem1.value , DayItem1.value);
		NbYears = NbYearsBetween(new Date(), Date1);
		if (withSecond) {
			DayItem2 = form.elements[Birth2];
			MonthItem2 = form.elements[Birth2 + 1];
			YearItem2 = form.elements[Birth2 + 2];

		  	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
			DateTo2 = new Date(YearItem2.value, MonthItem2.value , DayItem2.value);
		  	NbYears2 = NbYearsBetween(new Date(), Date2);
		}
		Sinistre2 = form.elements[IndexDriver1 +1].selectedIndex;
		if (NbYears < 3  || (withSecond && NbYears2 < 3)) {
			//aucun sinistre accepte
			Sinistre1 = form.elements[IndexDriver1].selectedIndex;
			if (((NbYears < 3) && (Sinistre2 > 0 || Sinistre1 > 0)) || (withSecond && NbYears2 < 3) && (Sinistre4>0 || Sinistre5>0)) {
				alert("Souscription impossible, aucun sinistre accepté si permis de moins de 3 ans.");
				return false;
			}
		} else {
			/*On passe toute cette section sous commentaire sous ordre DT (P Conquet / D Guyionnet)
			if (Sinistre2 > 2 || (withSecond && Sinistre5 > 2) || ( withSecond && Sinistre5 == 2 && Sinistre2 >= 1 ) || ( withSecond && Sinistre5 >= 1 && Sinistre2 == 2 )) {
				//que 2 sinistres responsables au plus
				alert("Souscription impossible, 2 sinistres responsables au maximum");
				form.elements[IndexDriver1 + 1].focus();
				return false;
			} else {
				if ( (Sinistre1 + Sinistre2) > 2 || (withSecond && (Sinistre1 + Sinistre5) > 2 ) || (withSecond && ( (Sinistre2 + Sinistre4) > 2)) || (withSecond && ((Sinistre1 + Sinistre2) == 2) && (Sinistre4 + Sinistre5) > 0 ) || (withSecond && ((Sinistre4 + Sinistre5) == 2) && (Sinistre1 + Sinistre2) > 0 ) ) {
					alert("Souscription impossible, 1 sinistre responsable + 1 sinistre non responsable au maximum");
					form.elements[IndexDriver1 + 1].focus();
					return false;
				}
			}
		*/
		}
	}
	return true;
}

//------------------ AIE 27-02-2008 : changement ordre des sinistre 2 et 3
function SomeSinistresForAuto(form, withSecond, IndexDriver1, IndexDriver2) {
	Sinistre1 = form.elements[IndexDriver1].selectedIndex;
	Sinistre2 = form.elements[IndexDriver1 + 2].selectedIndex;
	Sinistre3 = form.elements[IndexDriver1 + 4].selectedIndex;
	if (Sinistre3 > 0 || Sinistre2 > 0 || Sinistre1 > 0) {
		return true;
	} else {
		if (withSecond)	{
	  		Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	  		Sinistre5 = form.elements[IndexDriver2 + 2].selectedIndex;
	  		Sinistre6 = form.elements[IndexDriver2 + 1].selectedIndex;
			return (Sinistre4 > 0 || Sinistre5 > 0 || Sinistre6 > 0);
		} else {
			return false;
		}
	}
}

function SinistresAllowedForAuto(form, withSecond, IndexDriver1, IndexDriver2, Birth1, Birth2) {
	Sinistre3 = form.elements[IndexDriver1 + 4].selectedIndex;
	if (withSecond) {
	   Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	   Sinistre5 = form.elements[IndexDriver2 + 2].selectedIndex;
	   Sinistre6 = form.elements[IndexDriver2 + 1].selectedIndex;
        }

	if (Sinistre3 > 0 || (withSecond && Sinistre6 > 0)) {
		//on n'accepte aucun sinistre corporel
		alert("Souscription impossible, aucun sinistre corporel accepté.");
		form.elements[IndexDriver1 + 2].focus();
		return false;
	} else {
		DayItem1 = form.elements[Birth1];
		MonthItem1 = form.elements[Birth1 + 1];
		YearItem1 = form.elements[Birth1 + 2];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
		Date1 = new Date(YearItem1.value, MonthItem1.value , DayItem1.value);
		NbYears = NbYearsBetween(new Date(), Date1);
		if (withSecond) {
			DayItem2 = form.elements[Birth2];
			MonthItem2 = form.elements[Birth2 + 1];
			YearItem2 = form.elements[Birth2 + 2];

		  	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
			Date2 = new Date(YearItem2.value, MonthItem2.value , DayItem2.value);
		  	NbYears2 = NbYearsBetween(new Date(), Date2);
		}
		Sinistre2 = form.elements[IndexDriver1 +2].selectedIndex;
		if (NbYears < 3  || (withSecond && NbYears2 < 3)) {
			//aucun sinistre accepte
			Sinistre1 = form.elements[IndexDriver1].selectedIndex;
			if (((NbYears < 3) && (Sinistre2 > 0 || Sinistre1 > 0)) || (withSecond && NbYears2 < 3) && (Sinistre4 >0 || Sinistre5 >0)) {
				alert("Souscription impossible, aucun sinistre accepté si permis de moins de 3 ans.");
				return false;
			}
		} else {
			if (Sinistre2 > 2 || (withSecond && Sinistre5 > 2) || ( withSecond && Sinistre5 == 2 && Sinistre2 >= 1 ) || ( withSecond && Sinistre5 >= 1 && Sinistre2 == 2 )) {
				//que 2 sinistres responsables au plus
				alert("Souscription impossible, 2 sinistres responsables ou non maximum.");
				form.elements[IndexDriver1 + 1].focus();
				return false;
			} else {
				if ( (Sinistre1 + Sinistre2) > 2 || (withSecond && (Sinistre1 + Sinistre5) > 2 ) || (withSecond && ( (Sinistre2 + Sinistre4) > 2)) || (withSecond && ((Sinistre1 + Sinistre2) == 2) && (Sinistre4 + Sinistre5) > 0 ) || (withSecond && ((Sinistre4 + Sinistre5) == 2) && (Sinistre1 + Sinistre2) > 0 ) ) {
					alert("Souscription impossible, 2 sinistres responsables ou non maximum.");
					form.elements[IndexDriver1 + 1].focus();
					return false;
				}
			}
		}
	}
	return true;
}

function SinistresMalusseAllowedForAuto(form, withSecond, IndexDriver1, IndexDriver2, Birth1, Birth2) {
	Sinistre3 = form.elements[IndexDriver1 + 4].selectedIndex;
	if (withSecond) {
	   Sinistre4 = form.elements[IndexDriver2].selectedIndex;
	   Sinistre5 = form.elements[IndexDriver2 + 2].selectedIndex;
	   Sinistre6 = form.elements[IndexDriver2 + 1].selectedIndex;
        }

	if (Sinistre3 > 1 || (withSecond && Sinistre6 > 1) || withSecond && (Sinistre3+Sinistre6) > 1 ) {
		//on n'accepte aucun sinistre corporel
		alert("Souscription impossible, un seul sinistre corporel accepté.");
		form.elements[IndexDriver1 + 2].focus();
		return false;
	} else {
		DayItem1 = form.elements[Birth1];
		MonthItem1 = form.elements[Birth1 + 1];
		YearItem1 = form.elements[Birth1 + 2];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
		Date1 = new Date(YearItem1.value, MonthItem1.value , DayItem1.value);
		NbYears = NbYearsBetween(new Date(), Date1);
		if (withSecond) {
			DayItem2 = form.elements[Birth2];
			MonthItem2 = form.elements[Birth2 + 1];
			YearItem2 = form.elements[Birth2 + 2];

		  	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
			DateTo2 = new Date(YearItem2.value, MonthItem2.value , DayItem2.value);
		  	NbYears2 = NbYearsBetween(new Date(), Date2);
		}
		Sinistre2 = form.elements[IndexDriver1 +2].selectedIndex;
		if (NbYears < 3  || (withSecond && NbYears2 < 3)) {
			//aucun sinistre accepte
			Sinistre1 = form.elements[IndexDriver1].selectedIndex;
			if (((NbYears < 3) && (Sinistre2 > 0 || Sinistre1 > 0)) || (withSecond && NbYears2 < 3) && (Sinistre4>0 || Sinistre5>0)) {
				alert("Souscription impossible, aucun sinistre accepté si permis de moins de 3 ans.");
				return false;
			}
		} else {
			/*On passe toute cette section sous commentaire sous ordre DT (P Conquet / D Guyionnet)
			if (Sinistre2 > 2 || (withSecond && Sinistre5 > 2) || ( withSecond && Sinistre5 == 2 && Sinistre2 >= 1 ) || ( withSecond && Sinistre5 >= 1 && Sinistre2 == 2 )) {
				//que 2 sinistres responsables au plus
				alert("Souscription impossible, 2 sinistres responsables au maximum");
				form.elements[IndexDriver1 + 1].focus();
				return false;
			} else {
				if ( (Sinistre1 + Sinistre2) > 2 || (withSecond && (Sinistre1 + Sinistre5) > 2 ) || (withSecond && ( (Sinistre2 + Sinistre4) > 2)) || (withSecond && ((Sinistre1 + Sinistre2) == 2) && (Sinistre4 + Sinistre5) > 0 ) || (withSecond && ((Sinistre4 + Sinistre5) == 2) && (Sinistre1 + Sinistre2) > 0 ) ) {
					alert("Souscription impossible, 1 sinistre responsable + 1 sinistre non responsable au maximum");
					form.elements[IndexDriver1 + 1].focus();
					return false;
				}
			}
		*/
		}
	}
	return true;
}
//--------

function IsDateAfterStrict(date_from, date_to) {
	if( date_from.getYear() > date_to.getYear() )  {
	
		return true ;
	} else if( date_from.getYear() == date_to.getYear() ) {
	
		if( date_from.getMonth() > date_to.getMonth() ) {
	
			return true;
		} else if( date_from.getMonth() == date_to.getMonth() )  {
	
			if( date_from.getDate() > date_to.getDate() ){
				return true;
			} 
		}
	}
	return false;
}

function IsAfterCurrentDatePlusUnMois(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	

	CurDate1 = new Date();
    jourEnCours = CurDate1.getDate();
	CurDate1.setDate(jourEnCours + 30);

	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	//alert("CurDate : " + CurDate + "\n" + "DateToCheck : " + DateToCheck);
	
	return IsDateAfterStrict(CurDate1,DateToCheck);
}


function CheckDateDeffet(form, index1,index2,index3) {
		DayItem1 = form.elements[index1];
		MonthItem1 = form.elements[index2];
		YearItem1 = form.elements[index3];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex);
		Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

  		date = new Date();
  
    	MSG="";
  		if (IsDateAfter(date, Date1) == true) {
		MSG += "\nVérifier la date d'effet";
  }
  return MSG
}

function IsDate1BeforeDate2(form, indexOfDate1, indexOfDate2) {
	DayItem1 = form.elements[indexOfDate1];
	MonthItem1 = form.elements[indexOfDate1+1];
	YearItem1 = form.elements[indexOfDate1+2];

	//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+1);
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

	DayItem2 = form.elements[indexOfDate2];
	MonthItem2 = form.elements[indexOfDate2+1];
	YearItem2 = form.elements[indexOfDate2+2];

	//Date2 = new Date(Year2, MonthItem2.selectedIndex, DayItem2.selectedIndex+1);
	Date2 = new Date(YearItem2.value, MonthItem2.value-1, DayItem2.value);

	return IsDateBefore(Date1, Date2);
}
//---------------------- ctrl Anteced pour 36 mois - AIE 28-11-2005 -------------------------------------------
function IsAfterCurrentDateMinus36Mois(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate1 = new Date();
    jourEnCours = CurDate1.getDate();
	CurDate1.setDate(jourEnCours - 1095); // 36 mois = 1095 jours
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateAfterStrict(CurDate1,DateToCheck);
}
//---------------------- ctrl AntecedMoto pour 1 an
function IsAfterCurrentDatePlusUnYear(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate1 = new Date();
    jourEnCours = CurDate1.getDate();
	CurDate1.setDate(jourEnCours - 365);
	
	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	
	return IsDateAfterStrict(CurDate1,DateToCheck);
}
//---------------------- ctrl Anteced2 Moto pour 2 an
function IsAfterCurrentDatePlus2Years(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate1 = new Date();
    jourEnCours = CurDate1.getDate();
	CurDate1.setDate(jourEnCours - 730);

	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	
	return IsDateAfterStrict(CurDate1,DateToCheck);
}
//---------------------- ctrl Anteced pour 21 mois
function IsAfterCurrentDateMinus21Mois(form, indexOfDay) {
	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
	
	CurDate1 = new Date();
    jourEnCours = CurDate1.getDate();
	CurDate1.setDate(jourEnCours - 638); // 21 mois = 365 + 91.25*3 jours

	//DateToCheck = new Date(Year, MonthItem.selectedIndex , DayItem.selectedIndex+1);	
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateAfterStrict(CurDate1,DateToCheck);
}

function CloseWindow() {
   this.close();
}

function IsConditionCRMAge(form, withSecond,indexOfDay, indexOfCRM,indexOfDay2, indexOfCRM2)
{
	var validCRM = 100;
	var validAge = 25;

	DayItem1 = form.elements[indexOfDay];
	MonthItem1 = form.elements[indexOfDay+1];
	YearItem1 = form.elements[indexOfDay+2];

	//Date1 = new Date(Year1, MonthItem1.selectedIndex , DayItem1.selectedIndex+1);
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

	NbYears = NbYearsBetween(new Date(), Date1);
	
	// indexOfCRM = indexOfDay + 3 en general
	CRM = form.elements[indexOfCRM].value;
	
	if ( NbYears < validAge && CRM > validCRM)
		return false;
	
	if (withSecond)
	{
		DayItem1 = form.elements[indexOfDay2];
		MonthItem1 = form.elements[indexOfDay2+1];
		YearItem1 = form.elements[indexOfDay2+2];

		//Date1 = new Date(Year1, MonthItem1.selectedIndex , DayItem1.selectedIndex+1);
		Date1 = new Date(YearItem1.value, MonthItem1.value , DayItem1.value);

		NbYears = NbYearsBetween(new Date(), Date1);
		// indexOfCRM = indexOfDay + 3 en general
		CRM = form.elements[indexOfCRM2].value;

		if ( NbYears < validAge && CRM > validCRM)
			return false;	
	}
	
	return true;
}

function IsCoherentCRM2(form, indexOfDay, indexCRM) {
	DayItem1 = form.elements[indexOfDay];
	MonthItem1 = form.elements[indexOfDay+1];
	YearItem1 = form.elements[indexOfDay+2];

	//Date1 = new Date(Year1, MonthItem1.selectedIndex, DayItem1.selectedIndex+2);
	Date1 = new Date(YearItem1.value, MonthItem1.value-1, DayItem1.value);

	NbYears = NbYearsBetween(new Date(), Date1);
	CRM = form.elements[indexCRM].value;
	return (CRM >= (100 - NbYears*5));
}
//--------------------------------------------- ctrl age - 72 ans -------------------
function IsLessThan72YearsOld(form, indexOfDay) { 
	YearsAgo = new Date();
	Today = new Date();
	YearsAgo.setFullYear(Today.getFullYear() - 72);

	DayItem = form.elements[indexOfDay];
	MonthItem = form.elements[indexOfDay+1];
	YearItem = form.elements[indexOfDay+2];
		
	//DateToCheck = new Date(YearItem.value, MonthItem.selectedIndex , DayItem.options[DayItem.selectedIndex].text);
	DateToCheck = new Date(YearItem.value, MonthItem.value-1, DayItem.value);
	return IsDateBefore(DateToCheck, YearsAgo);
}

