function getAgeInYearsWithRef(birsDayDate, refDate){
	var someonesBirthDate = birsDayDate;
	var now = refDate;
	var ms = now.valueOf() - someonesBirthDate.valueOf();
	var minutes = ms / 1000 / 60;
	var hours = minutes / 60;
	var days = hours / 24;
	var years = days/365.24221935;
	return years;
}

function compareDateToNow(input){
	var mydate = getDate(input);
	var now = new Date();
	
	return now.getTime()-mydate.getTime();
	
}

var EURtarif1eurZoneA=[
[438,546,945,1035,1236,1341,1461,1677],
[504,1065,1875,2034,2460,2634,2910,3378],
[585,1236,2193,2394,2898,3096,3429,3975],
[705,1425,2499,2736,3297,3537,3909,4533],
[798,1581,2778,3060,3669,3948,4389,5064],
[918,1833,3258,3576,4293,4611,5130,5904],
[1116,2232,3975,4347,5223,5610,6222,7179],
[1425,2874,5091,5583,6699,7179,7962,9159],
[1875,3828,6846,7485,8958,9597,10647,12243],
[2580,5292,9438,10317,12348,13227,14634,16830]
];

var EURtarif1eurZoneB=[
[294,360,624,690,825,891,969,1116],
[333,705,1251,1356,1635,1755,1941,2247],
[384,825,1461,1593,1929,2061,2286,2646],
[465,945,1662,1821,2193,2352,2604,3018],
[531,1050,1848,2034,2445,2634,2922,3378],
[612,1221,2166,2379,2856,3072,3417,3933],
[744,1491,2646,2898,3483,3735,4149,4785],
[945,1914,3390,3723,4467,4785,5304,6102],
[1251,2553,4557,4986,5970,6396,7098,8163],
[1713,3522,6288,6873,8229,8814,9756,11220]
];

var EURtarifIsoleZoneA=[
[228,318,744,864,1155,1263,1356,1701],
[264,318,744,864,1155,1263,1356,1701],
[306,384,879,999,1356,1473,1593,1995],
[360,438,1035,1185,1593,1743,1875,2340],
[399,504,1185,1341,1821,1995,2154,2670],
[465,624,1473,1677,2259,2460,2670,3312],
[558,759,1821,2073,2754,3018,3270,4053],
[705,1155,2790,3177,4215,4587,4986,6144],
[945,1545,3774,4293,5664,6168,6687,8241],
[1305,2139,5250,5940,7815,8520,9210,11352]
];

var EURtarifIsoleZoneB=[
[144,213,492,570,771,837,903,1131],
[174,213,492,570,771,837,903,1131],
[198,252,585,666,903,984,1065,1329],
[240,294,690,783,1065,1155,1251,1557],
[264,333,783,891,1209,1329,1437,1779],
[306,414,984,1116,1503,1635,1779,2208],
[372,504,1209,1383,1833,2007,2181,2700],
[465,771,1863,2115,2805,3060,3324,4095],
[624,1023,2514,2856,3774,4107,4455,5490],
[864,1425,3498,3963,5211,5676,6144,7563]
];

var EURtarifIsoleZoneC=[
[0,174,399,465,639,690,744,930],
[0,174,399,465,639,690,744,930],
[0,198,480,546,744,810,879,1104],
[0,240,570,639,879,957,1035,1287],
[0,264,639,732,999,1104,1185,1473],
[0,333,810,918,1236,1356,1473,1821],
[0,414,999,1143,1515,1662,1809,2232],
[0,639,1545,1743,2328,2526,2754,3390],
[0,837,2073,2367,3126,3402,3696,4545],
[0,1170,2709,3282,4323,4707,5091,6276]
];

var EURtarifNonIsoleZoneA=[
[0,705,1635,1875,2538,2778,2994,3708],
[0,705,1635,1875,2538,2778,2994,3708],
[0,825,1941,2193,2976,3270,3537,4371],
[0,984,2301,2619,3537,3894,4185,5184],
[0,1116,2634,3018,4068,4491,4851,6006],
[0,1356,3192,3630,4905,5412,5850,7218],
[0,1593,3816,4371,5850,6408,6966,8640],
[0,2460,5928,6741,8958,9798,10608,13119],
[0,3060,7443,8454,11205,12228,13239,16353],
[0,0,0,0,0,0,0,0]
];

var EURtarifNonIsoleZoneB=[
[0,465,1089,1251,1689,1848,1995,2472],
[0,465,1089,1251,1689,1848,1995,2472],
[0,546,1287,1461,1980,2181,2352,2910],
[0,651,1527,1743,2352,2592,2790,3456],
[0,744,1755,2007,2712,2994,3228,4002],
[0,903,2127,2418,3270,3603,3894,4812],
[0,1065,2538,2910,3894,4269,4641,5754],
[0,1635,3948,4491,5970,6528,7071,8748],
[0,2034,4959,5634,7473,8148,8826,10899],
[0,0,0,0,0,0,0,0]
];

var EURtarifNonIsoleZoneC=[
[0,384,903,1035,1395,1527,1647,2049],
[0,384,903,1035,1395,1527,1647,2049],
[0,450,1065,1209,1635,1809,1941,2406],
[0,531,1263,1437,1941,2139,2313,2856],
[0,612,1449,1662,2247,2472,2670,3312],
[0,744,1755,2007,2712,2976,3228,3987],
[0,879,2100,2406,3228,3537,3843,4773],
[0,1356,3270,3723,4947,5412,5862,7257],
[0,1677,4107,4665,6195,6753,7323,9042],
[0,0,0,0,0,0,0,0]
];

var USDtarif1eurZoneA=[
[525,651,1128,1239,1476,1605,1746,2001],
[603,1269,2238,2430,2937,3144,3474,4029],
[696,1476,2619,2856,3459,3699,4095,4743],
[843,1698,2985,3270,3936,4224,4665,5412],
[951,1887,3315,3651,4383,4713,5238,6048],
[1095,2190,3888,4269,5127,5505,6126,7044],
[1332,2667,4743,5190,6237,6696,7428,8571],
[1698,3429,6078,6666,7998,8571,9504,10932],
[2238,4572,8172,8934,10695,11457,12714,14619],
[3078,6318,11268,12318,14742,15792,17475,20094]
];

var USDtarif1eurZoneB=[
[348,429,744,825,984,1062,1158,1332],
[396,843,1491,1617,1953,2094,2319,2682],
[459,984,1746,1905,2301,2460,2730,3156],
[555,1128,1983,2175,2619,2808,3111,3603],
[636,1251,2205,2430,2919,3144,3492,4029],
[732,1458,2586,2838,3411,3666,4077,4698],
[891,1776,3156,3459,4158,4461,4950,5712],
[1128,2283,4047,4443,5334,5712,6330,7284],
[1491,3045,5445,5952,7125,7635,8472,9744],
[2046,4206,7506,8205,9822,10521,11646,13392]
];

var USDtarifIsoleZoneA=[
[270,378,891,1032,1380,1509,1617,2031],
[318,378,891,1032,1380,1509,1617,2031],
[366,459,1050,1191,1617,1764,1905,2379],
[429,525,1239,1410,1905,2079,2238,2793],
[477,603,1410,1605,2175,2379,2571,3192],
[555,744,1764,2001,2697,2937,3192,3951],
[666,903,2175,2478,3285,3603,3906,4839],
[843,1380,3333,3792,5031,5475,5952,7332],
[1128,1842,4506,5127,6762,7362,7983,9840],
[1557,2556,6270,7092,9333,10173,10998,13551]
];

var USDtarifNonIsoleZoneA=[
[0,843,1953,2238,3033,3315,3570,4425],
[0,843,1953,2238,3033,3315,3570,4425],
[0,984,2319,2619,3555,3906,4224,5220],
[0,1173,2745,3126,4224,4650,4998,6189],
[0,1332,3144,3603,4857,5364,5793,7173],
[0,1617,3810,4332,5856,6459,6984,8619],
[0,1905,4554,5220,6984,7650,8316,10314],
[0,2937,7080,8046,10695,11694,12666,15663],
[0,3651,8886,10095,13380,14601,15807,19521],
[0,0,0,0,0,0,0,0]
];

var USDtarifIsoleZoneB=[
[177,255,585,684,921,1002,1080,1350],
[207,255,585,684,921,1002,1080,1350],
[237,300,696,795,1080,1173,1269,1587],
[285,348,825,936,1269,1380,1491,1857],
[318,396,936,1062,1446,1587,1716,2124],
[366,492,1173,1332,1794,1953,2124,2637],
[444,603,1446,1650,2190,2397,2601,3222],
[555,921,2223,2523,3351,3651,3969,4890],
[744,1221,2997,3411,4506,4902,5316,6555],
[1032,1698,4176,4731,6219,6777,7332,9030]
];

var USDtarifNonIsoleZoneB=[
[0,555,1302,1491,2016,2205,2379,2952],
[0,555,1302,1491,2016,2205,2379,2952],
[0,651,1539,1746,2364,2601,2808,3474],
[0,777,1824,2079,2808,3096,3333,4125],
[0,891,2094,2397,3237,3570,3858,4779],
[0,1080,2538,2889,3906,4302,4650,5745],
[0,1269,3033,3474,4650,5097,5538,6873],
[0,1953,4713,5364,7125,7794,8442,10443],
[0,2430,5919,6729,8919,9729,10536,13014],
[0,0,0,0,0,0,0,0]
];

var USDtarifIsoleZoneC=[
[0,207,477,555,762,825,891,1110],
[0,207,477,555,762,825,891,1110],
[0,237,573,651,891,969,1050,1317],
[0,285,684,762,1050,1143,1239,1539],
[0,318,762,873,1191,1317,1410,1764],
[0,396,969,1095,1476,1617,1764,2175],
[0,492,1191,1365,1809,1983,2160,2667],
[0,762,1842,2079,2778,3015,3285,4047],
[0,1002,2478,2826,3729,4065,4413,5427],
[0,1398,3459,3918,5157,5616,6078,7491]
];

var USDtarifNonIsoleZoneC=[
[0,459,1080,1239,1665,1824,1968,2442],
[0,459,1080,1239,1665,1824,1968,2442],
[0,537,1269,1446,1953,2160,2319,2874],
[0,636,1509,1716,2319,2556,2760,3411],
[0,732,1728,1983,2682,2952,3192,3951],
[0,891,2094,2397,3237,3555,3858,4761],
[0,1050,2508,2874,3858,4224,4584,5697],
[0,1617,3906,4443,5904,6459,6999,8667],
[0,2001,4902,5571,7398,8064,8745,10791],
[0,0,0,0,0,0,0,0]
];

//tarif [ZoneA/ZoneB/ZoneC][premier Euro/CFE][complet/urgence][age]);

function getTarif(zone, couverture, famille, garantie, trancheAge, devise){
	switch (garantie) {
	case "BasicUrgence": garantie = 0; break;
	case "HospitalisationTTC": garantie = 1; break;
	case "Essentiel": garantie = 2; break;
	case "EssentielPack1": garantie = 3; break;
	case "EssentielPack2": garantie = 4; break;
	case "EssentielPack3": garantie = 5; break;
	case "Confort": garantie = 6; break;
	case "ConfortPlus": garantie = 7; break;
	}
	
	var out = false;
	//[zone][couverture][famille][rapatriement][garantie][fTrancheAge(age)]
	switch (couverture) {
	//1erEur
	case '0':  
		switch (zone+'') {
		case 'a': out = eval(devise + "tarif1eurZoneA")[trancheAge][garantie];break;
		case 'b': out = eval(devise + "tarif1eurZoneB")[trancheAge][garantie];break;
		}
		
	break;
	//Cfe
	case '1':  
		switch (zone+'') {
		case 'a': 
			switch (famille+'') {
			case '0': out = eval(devise + "tarifIsoleZoneA")[trancheAge][garantie];break;
			case '1': out = eval(devise + "tarifNonIsoleZoneA")[trancheAge][garantie];break;
			}
		break;
		case 'b': 
			switch (famille+'') {
			case '0': out = eval(devise + "tarifIsoleZoneB")[trancheAge][garantie];break;
			case '1': out = eval(devise + "tarifNonIsoleZoneB")[trancheAge][garantie];break;
			}
		break;
		case 'c': 
			switch (famille+'') {
			case '0': out = eval(devise + "tarifIsoleZoneC")[trancheAge][garantie];break;
			case '1': out = eval(devise + "tarifNonIsoleZoneC")[trancheAge][garantie];break;
			}
		break;
		}
	break;
	
	}
	LOGS('zone='+zone+' couverture='+couverture+' famille='+famille+' garantie='+garantie+' trancheAge='+trancheAge+' TARIF='+out);
	
	return out;
}


var error = '';

function verifierdate(input){
	
	var agesplit = input.value.split("/");
	
	if(agesplit.length != 3){
		return false;
	}
	len = agesplit.length ;
	for (i=0 ; i < len ; i++){
		if(isNaN(agesplit[i]) || agesplit[i] == ""){
			return false;
		}
	}
	return true;

}

function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "." : dec_point;
    var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}
//alert(formatNumber(1200));

// Retourne la Tranche d'age en fonction de l'age  (-1 pour plus de 70 ans)
function fTrancheAge(age){
	trancheage=-1
	if (age<20){trancheage=0;}
	else if (age<30){trancheage=1;}
	else if (age<35){trancheage=2;}
	else if (age<40){trancheage=3;}
	else if (age<45){trancheage=4;}
	else if (age<50){trancheage=5;}
	else if (age<55){trancheage=6;}
	else if (age<60){trancheage=7;}
	else if (age<65){trancheage=8;}
	else if (age<70){trancheage=9;}

	return trancheage;
}

function LOGS(log){
	//document.getElementById('LOGS').innerHTML = log;
}


function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1)
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }




// Calcul de la Cotisation
function Cotisation(){
	var isValidForm = true;

	var d = new Date();
	var m = d.getMonth()+1;
	var a = d.getFullYear();
	switch (m){
		case 11:
			m1=12;
			a1=a;
			m2=1;
			a2=a+1;
			break;
		case 12:
			m1=1;
			a1=a+1;
			m2=2;
			a2=a+1;
			break;
		default:
			m1=m+1;
			a1=a;
			m2=m+2;
			a2=a;
			break;
		}
	if(m1<10) m1 = '0'+m1;
	if(m2<10) m2 = '0'+m2;
	document.getElementById("date1").innerHTML="01/"+m1+"/"+a1;
	document.getElementById("date2").innerHTML="01/"+m2+"/"+a2;
	
	
	document.getElementById("totalprem").innerHTML="";

	if(document.form1.dateeffet[0].checked){
		document.form1.dateeffetreal.value = document.getElementById("date1").innerHTML;
		document.form1.dateeffet.value = document.getElementById("date1").innerHTML;
	}else{
		document.form1.dateeffetreal.value = document.getElementById("date2").innerHTML;
		document.form1.dateeffet.value = document.getElementById("date2").innerHTML;
	}

	/**	------------------------------------------------------
	*	Init selon choix HTML utilisateurs
	*	------------------------------------------------------
	*/
	zone = getCkeckedValue(document.form1.zone);
	couverture = getCkeckedValue(document.form1.couverture);
	rapatriement = getCkeckedValue(document.form1.rapatriement);
	garantie = getCkeckedValue(document.form1.garantie);
	xDevise = getCkeckedValue(document.form1.devise);
	respCivile = getCkeckedValue(document.form1.respCivile);
	
	famille = 0;
	if(document.form1.famille.checked && couverture==1)
		famille = 1;
	conjoint = 0;
	if(document.form1.conjoint.checked && couverture==0)
		conjoint = 1;
	enfant = 0;
	if(document.form1.enfant.checked && couverture==0)
		enfant = document.form1.nbenfants.value;
	
	agesplit=document.form1.datenaiss.value.split("/");
	dateEffetReal = document.form1.dateeffetreal.value.split("/");
	var age = getAgeInYearsWithRef(new Date(agesplit[2],agesplit[1],agesplit[0]), new Date(dateEffetReal[2],1,1));
	
	ageF = -1;
	if(famille == 1){
		agesplit = document.form1.familledatnais.value.split("/");
		ageF = getAgeInYearsWithRef(new Date(agesplit[2],agesplit[1],agesplit[0]), new Date(dateEffetReal[2],1,1));
	}

	ageC = -1;
	if(conjoint==1){
		agesplit = document.form1.conjdatnais.value.split("/");
		ageC = getAgeInYearsWithRef(new Date(agesplit[2],agesplit[1],agesplit[0]), new Date(dateEffetReal[2],1,1));
	}




	/** ------------------------------------------------------
	*	Mise en forme du formulaire
	*	------------------------------------------------------
	*/
	
	//1Eur == 1 pas de zone C
	if(couverture==0){
		document.form1.zone[2].style.visibility = "hidden";

		if(document.form1.zone[2].checked){
			alert("La couverture Premier Euro ou USD ne contient pas de Zone C");
			document.form1.zone[1].checked = true;
			zone = "b";
		}
	}else{
		document.form1.zone[2].style.visibility = "visible";
	}

	
	//Famille == 1 pas de garanti basic
	if(couverture==1){
		document.form1.garantie[0].style.visibility = "hidden";

		if(document.form1.garantie[0].checked){
			alert("La couverture Complément CFE n'offre pas de garantie Basic Urgence");
			document.form1.garantie[1].checked = true;
			garantie = "HospitalisationTTC";
		}
	}else{
		document.form1.garantie[0].style.visibility = "visible";
	}

	//garantie[0] (basic) impose un rapatriement
	if(garantie=="BasicUrgence"){
		document.form1.rapatriement[0].style.visibility = "hidden";

		if(document.form1.rapatriement[0].checked){
			alert("La garantie Basic impose la couverture rapatriement");
			document.form1.rapatriement[1].checked = true;
			rapatriement = 0;
		}
	}else{
		document.form1.rapatriement[0].style.visibility = "visible";
	}

	//Non isolé impose l'aff de la date de naissance du plus agé de la famille
	if(couverture==0){
		document.getElementById('idProtectFamille').className = "disable";
		document.getElementById('idProtect1erEuro').className = "";
		//document.getElementById('idProtectFamille').style.visibility = "hidden";
	}else{
		document.getElementById('idProtectFamille').className = "";
		document.getElementById('idProtect1erEuro').className = "disable";
		//document.getElementById('idProtectFamille').style.visibility = "visible";
	}

	//check naissance date
	if(verifierdate(document.form1.datenaiss) && 0<compareDateToNow(document.form1.datenaiss)){
		
		document.form1.datenaiss.style.border = "";
	}else{
	    document.getElementById("total").innerHTML="Date de naissance manquante.";
		document.form1.datenaiss.style.border = "1px #FF0000 solid";
		isValidForm = false;
	}

	//check famille date de naissance
	if(famille==1 && !(verifierdate(document.form1.familledatnais) && 0<compareDateToNow(document.form1.familledatnais))){
		document.form1.familledatnais.style.border = "1px #FF0000 solid";
	    document.getElementById("total").innerHTML="Date de naissance manquante.";
	    isValidForm = false;
	}else{
		document.form1.familledatnais.style.border = "";
	}
	
	/*if(getCkeckedValue(document.form1.rapatriement)==0){
		document.getElementById("labelTotal").innerHTML = "médicaux et rapatriement";
	}else{
		document.getElementById("labelTotal").innerHTML = "médicaux";
	}*/

	//check conjoint date de naissance
	if(conjoint==1 && !(verifierdate(document.form1.conjdatnais) && 0<compareDateToNow(document.form1.conjdatnais))){
		document.form1.conjdatnais.style.border = "1px #FF0000 solid";

	    document.getElementById("total").innerHTML="Date de naissance manquante.";
	    isValidForm = false;
	}else{
		document.form1.conjdatnais.style.border = "";
	}

	//check enfant nbr
	if(enfant==0 && document.form1.enfant.checked && couverture==0){
		document.form1.nbenfants.style.border = "1px #FF0000 solid";
	}else{
		document.form1.nbenfants.style.border = "";
	}


	//check des ages
	if(age<18){
		document.getElementById("total").innerHTML="Un mineur ne peut souscrire ce type de contrat.";
		isValidForm = false;
	}else if(ageC>70 || age>70){
		document.getElementById("total").innerHTML="Au-delà de 70 ans, veuillez nous contacter<br>pour une étude personnalisée.";
		isValidForm = false;
	}else if(couverture==1 && famille==1 && (ageF>65 || age>65)){
		document.getElementById("total").innerHTML="Au-delà de 65 ans, veuillez nous contacter<br>pour une étude personnalisée.";
		isValidForm = false;
	}
	
	if(isValidForm){
		/** ------------------------------------------------------
		*	Calcul du prix
		*	------------------------------------------------------
		*/

		prix = 0;
		
		// Assuré
		if(couverture=='0'){
			prix = getTarif(zone, couverture, 0, garantie, fTrancheAge(age), xDevise);
			
			if (enfant<3 || garantie=="BasicUrgence"){
				// 1 ou 2 premiers enfants
				prix += (enfant*getTarif(zone, couverture, 0, garantie, 0, xDevise));
			}else{
				// 2 enfant + 3eme enfant 50% (4eme et suivants gratuits)
				prix += (5/2*(getTarif(zone, couverture, 0, garantie, 0, xDevise)));
			}
			
			if(document.form1.conjoint.checked){
				prix += getTarif(zone, couverture, 0, garantie, fTrancheAge(ageC), xDevise);
	      	}
			
		}else{
			ageToCalc = age;
			if(ageF>age)
				ageToCalc = ageF;
			prix = getTarif(zone, couverture, famille, garantie, fTrancheAge(ageToCalc), xDevise);
		}
		
		//rapatriement
		if(parseFloat(rapatriement)==1 && garantie!="BasicUrgence"){
			var nbrPers = parseFloat(conjoint) + parseFloat(enfant) + 1;

                        if(famille==0 && nbrPers==1){
				//prix = prix+(nbrPers*108);
                                if(xDevise=='EUR')
                                {
                                    prix = prix+(nbrPers*108);
                                }
                                else
                                {
                                    prix = prix+(nbrPers*123);
                                }
			}else{
				if(xDevise=='EUR')
                                {
                                    prix = prix+288;
                                }
                                else
                                {
                                    prix = prix+330;
                                }
			}
		}
		
		//respCivile
		if(respCivile==1){
			if(xDevise=='EUR'){
				prix = prix+120;
			}else{
				prix = prix+192;
			}
		}
		
		
		/** ------------------------------------------------------
		*	calcul Montant de la première prime
		*	------------------------------------------------------
		*/
		effetsplit=document.form1.dateeffetreal.value.split("/");
		mois=effetsplit[1];
		//fractionnement
		switch (getCkeckedValue(document.form1.frac)){
			case 'Mensuel':
				nbmois=1;
			break;
			case 'Trimestriel':
				trim=(((mois-1)-((mois-1)%3))/3)+1;
				nbmois=(trim*3)-mois+1;
			break;
			case 'Semestriel':
				sem=(((mois-1)-((mois-1)%6))/6)+1;
				nbmois=(sem*6)-mois+1;
			break;
			case 'Annuel':
				nbmois=13-mois;
			break;
			default:
	
			break;
		}
		prixprem=(prix*nbmois/12);
		prixprem=Math.round(prixprem*100)/100;
		document.form1.totalprem.value=prixprem;
		document.form1.total.value=prix;
	
		
		// aff des Prix
		document.getElementById("total").innerHTML=number_format(prix, 2, ',', ' ')+" "+xDevise;
		document.getElementById("totalprem").innerHTML=number_format(prixprem, 2, ',', ' ')+" "+xDevise+" ("+nbmois+" mois)";
	}

	return isValidForm;
}

function Adhesion(){
	var v = true;	
	var f = document.form1;

	error = '';
	if(!checkValueEmpty(f.nom)){
		v = false;
		error += "- Nom\n";
	}
	if(!checkValueEmpty(f.prenom)){
		v = false;
		error += "- Prenom\n";
	}
/*
	if(!checkValueEmpty(f.nationalite)){
		v = false;
		error += "- Nationalité\n";
	}
*/
	if(!checkValueEmpty(f.adresseorig)){
		v = false;
		error += "- Adresse dans le pays d'origine\n";
	}
/*
	if(!checkValueEmpty(f.paysorig)){
		v = false;
		error += "- Pays d'origine\n";
	}
*/
	if(!checkValueEmpty(f.adresseexpat)){
		v = false;
		error += "- Adresse dans le pays d'expatriation\n";
	}
	if(!checkValueEmpty(f.paysexpat)){
		v = false;
		error += "- Pays d'expatriation\n";
	}
	
	
	f.emailToSend.className = "";
	f.adressebs.className = "";
	if(getCkeckedValue(f.rx)=='e-mail'){
		if(!checkValueEmpty(f.emailToSend)){
			v = false;
			error += "- Adresse pour recevoir un bulletin de souscription\n";
		}
	}else if(getCkeckedValue(f.rx)=='Courrier'){
		if(!checkValueEmpty(f.adressebs)){
			v = false;
			error += "- EMail pour recevoir un bulletin de souscription\n";
		}
	}
	
	if(isset(f.enfant)){
		if(f.couverture.value == 0 && f.enfant.value =='enfant' && f.nbenfants.value>0){
			O = f.nbenfants.value;
			for(u=1 ; u <= O ; u++ ){
				if(!checkDate(f['datenaiss1'+u])){
					v = false;
					error += "- Date de naissance de l'enfant "+u+" bénéficiant du contrat\n";
				}
					
			}
		}
	}
	
	
	if(error!='')
	error = 'Merci de saisir votre: \n'+error;
	
	/*
	if(f.CG.checked){
		document.getElementById('lucontrat').style.color = '';
		
	}else{
		error += '\nVous devez avoir pris connaissance des Condition Générales du contrat pour poursuivre !';
		document.getElementById('lucontrat').style.color = '#FF0000';
		v = false;
	}
	*/
	return v;
}

function checkValueEmpty(input){
	if(input.value==""){
	 	input.className = "invalid";
	 	return false;
	}else{
	 	input.className = "";
	 	return true;
	}
}

function checkDate(input){
	
	if(!verifierdate(input)){
		
	 	input.className = "invalid";
	 	return false;
	}else{
		
	 	input.className = "";
	 	return true;
	}
}



function SubmitForm1(){
	if(Cotisation()){
		document.form1.submit();
	}
}

function SubmitForm2(){
	if(Adhesion()){
		
		document.form1.submit();
	}else{
		alert(':: '+error);
	}
}


function isset(  ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: FremyCompany
    // +   improved by: Onno Marsman
    // *     example 1: isset( undefined, true);
    // *     returns 1: false
    // *     example 2: isset( 'Kevin van Zonneveld' );
    // *     returns 2: true
    
    var a=arguments; var l=a.length; var i=0;
    
    if (l==0) { 
        throw new Error('Empty isset'); 
    }
    
    while (i!=l) {
        if (typeof(a[i])=='undefined' || a[i]===null) { 
            return false; 
        } else { 
            i++; 
        }
    }
    return true;
}



