function date_du_jour()
{
	var now = new Date();
	var jour = now.getDate();
	var mois = now.getMonth()+1;
	return (jour<10 ? '0'+jour : jour)+'/'+(mois<10 ? '0'+mois : mois)+'/'+now.getFullYear();
}

function calcul_intervalDate(debut, fin)
{
	var dateDebut = new Date(debut.slice(6, 10), debut.slice(3, 5), debut.slice(0, 2));
	var dateFin = new Date(fin.slice(6, 10), fin.slice(3, 5), fin.slice(0, 2));
	var controle = new Date();

	controle.setTime(dateFin - dateDebut);
	
	return controle;
}

function verifie_intervalDate(debut, fin, maxInterval)
{
	var controle = calcul_intervalDate(debut, fin);

	if ((controle.getFullYear() - 1970) < maxInterval)
		return 1;
	
	return 0;
}

function verifie_dateSuperieur(debut, fin, minInterval)
{
	var controle = calcul_intervalDate(debut, fin);

	if ((controle.getFullYear() - 1970) > minInterval)
		return 1;
	
	return 0;
}

function verifie_bonus(bonus, datePermis)
{
	var annees_permis = calcul_intervalDate(datePermis, date_du_jour()).getFullYear() - 1970;
	var erreur;
	switch(annees_permis) {
		case 1 :
			if(bonus < 99) erreur = 1;
			break;
		case 2 :
			if(bonus < 94) erreur = 1;
			break;
		case 3 :
			if(bonus < 90) erreur = 1;
			break;
		case 4 :
			if(bonus < 86) erreur = 1;
			break;
		case 5 :
			if(bonus < 82) erreur = 1;
			break;
		case 6 :
			if(bonus < 78) erreur = 1;
			break;
		case 7 :
			if(bonus < 74) erreur = 1;
			break;
		case 8 :
			if(bonus < 71) erreur = 1;
			break;
		case 9 :
			if(bonus < 68) erreur = 1;
			break;
		case 10 :
		case 11 :
		case 12 :
		case 13 :
		case 14 :
		case 15 :
			if(bonus < (75-bonus)) erreur = 1;
			break;
		default :
			erreur = 0;
	}
	if(erreur == 1) {
		alert('Votre bonus ne correspond pas au nombre de vos années de permis, merci de nous contacter au 0 821 022 200 pour établir votre projet.');
		return false;
	}
	return true;
}

function confirmeConditions()
{
	if (document.forms['nameFrmPrerequis'].elements['conditions'].checked)
	{
		document.forms['nameFrmPrerequis'].submit();
	}
	else
	{
		alert('Vous devez accepter les conditions pour accéder au tarificateur.');
		return false;
	}
}

function verifie_radioBox(nomForm,nomElement,nomDiv)
{
	var e, i = 0,checked = false;
	var frm = document.forms[nomForm];
	
	while (e = frm.elements[nomElement][i++])
	{
		if (e.checked)
		{
			checked = true;
		}
	}
	if (!checked) 
	{
		document.getElementById(nomDiv).className = 'questionOff';
		return 1;
	}
	else
	{
		document.getElementById(nomDiv).className = 'question';
		return 0;
	}
}

function verifie_textBox(nomForm,nomElement,nomDiv)
{
	var frm = document.forms[nomForm];
	
	if (frm.elements[nomElement].value == '')
	{
		document.getElementById(nomDiv).className = 'questionOff';
		return 1;
	}
	else
	{
		document.getElementById(nomDiv).className = 'question';
		return 0;
	}
}

function valeur_radioBox(formulaire,element)
{
	for(i=0;i<document.forms[formulaire].elements[element].length;i++)
	{
		if (document.forms[formulaire].elements[element][i].checked == true)
		{
			return document.forms[formulaire].elements[element][i].value;
		}
	}
}

function confirme_step1()
{
	var error = 0,errorTemp;
	
	error = error + (error = verifie_radioBox('nameFrmVehicule','concerneVehicule','concerne'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','carteGriseVehicule','carteGrise'));
	error = error + (error = verifie_textBox('nameFrmVehicule','achatVehicule','achat'));
	
	if (valeur_radioBox('nameFrmVehicule','concerneVehicule')=='possede' && document.forms['nameFrmVehicule'].elements['dateEcheanceVehicule'].value == '' && document.forms['nameFrmVehicule'].elements['pasAssureVehicule'].checked==false)
	{
		error = 1;
		document.getElementById('assuranceVehicule').className = 'questionOff';
		document.getElementById('echeanceVehicule').className = 'questionOff';
	}
	else
	{
		document.getElementById('assuranceVehicule').className = 'question';
		document.getElementById('echeanceVehicule').className = 'question';
	}
	
	if (valeur_radioBox('nameFrmVehicule','concerneVehicule')=='premiere' || valeur_radioBox('nameFrmVehicule','carteGriseVehicule')=='enfant' || valeur_radioBox('nameFrmVehicule','carteGriseVehicule')=='autre')
	{
		alert('Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.');
	}
	else
	{
		if (document.forms['nameFrmVehicule'].elements['idVehicule'].value == "")
		{
			alert('Veuillez sélectionner un véhicule.');
		}
		else
		{
			if (error<1)
			{
				document.forms['nameFrmVehicule'].submit();
			}
			else
			{
				alert('Veuillez saisir les champs surlignés en rouge.');
			}
		}
	}
}

function confirme_step2(groupeVehicule)
{
	var error = 0;
	
	//error = error + (error = verifie_radioBox('nameFrmVehicule','civiliteConducteur','civilite'));
	//error = error + (error = verifie_textBox('nameFrmVehicule','familleConducteur','famille'));
	error = error + (error = verifie_textBox('nameFrmVehicule','dateNaissanceConducteur','dateNaissance'));
	error = error + (error = verifie_textBox('nameFrmVehicule','datePermisBConducteur','datePermisB'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','accompagneeConducteur','accompagnee'));
	error = error + (error = verifie_textBox('nameFrmVehicule','professionConducteur','profession'));
	//error = error + (error = verifie_radioBox('nameFrmVehicule','accidents','accident'));
	error = error + (error = verifie_textBox('nameFrmVehicule','bonusConducteur','bonus'));
	
	var dateDuJour = date_du_jour();
	if (error<1)
	{
		if (Verif_Date(document.forms['nameFrmVehicule'].elements['dateNaissanceConducteur'].value))
		{
			if (Verif_Date(document.forms['nameFrmVehicule'].elements['datePermisBConducteur'].value))
			{
				
				//alert(document.forms['nameFrmVehicule'].elements['datePermisBConducteur'].value);
				if (verifie_intervalDate(document.forms['nameFrmVehicule'].elements['dateNaissanceConducteur'].value, document.forms['nameFrmVehicule'].elements['datePermisBConducteur'].value, 16) != 0)
				{
					alert("D'après vos indications, vous avez obtenu le permis B avant l'âge de 16 ans, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else if (verifie_intervalDate(document.forms['nameFrmVehicule'].elements['dateNaissanceConducteur'].value, dateDuJour, 21) != 0) {
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else if (groupeVehicule > 34 && verifie_intervalDate(document.forms['nameFrmVehicule'].elements['dateNaissanceConducteur'].value, dateDuJour, 28) != 0) {
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else if (verifie_dateSuperieur(document.forms['nameFrmVehicule'].elements['dateNaissanceConducteur'].value, dateDuJour, 75) != 0) {
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else if (verifie_intervalDate(document.forms['nameFrmVehicule'].elements['datePermisBConducteur'].value, dateDuJour, 3) != 0) {
					alert("D'après vos indications, vous avez obtenu votre permis depuis moins de 3 ans, si c'est le cas, merci de contacter un conseiller.");
				}
				else if (document.forms['nameFrmVehicule'].elements['bonusConducteur'].value== '106' || document.forms['nameFrmVehicule'].elements['bonusConducteur'].value== '107' || document.forms['nameFrmVehicule'].elements['bonusConducteur'].value== '108') {
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else if (document.forms['nameFrmVehicule'].elements['professionConducteur'].value== '15') {
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				}
				else
				{
					if (!verif_sinistres() && verifie_bonus(document.forms['nameFrmVehicule'].elements['bonusConducteur'].value, document.forms['nameFrmVehicule'].elements['datePermisBConducteur'].value))
					{
						document.forms['nameFrmVehicule'].submit();
					}
				}
			}
		}
	}
	else
	{
		alert('Veuillez saisir les champs surlignés en rouge.');
	}
}

function confirme_step3(classeVehicule,profession)
{
	var error = 0;
	
	//error = error + (error = verifie_radioBox('nameFrmVehicule','typeResidenceConducteur','typeResidence'));
	//error = error + (error = verifie_radioBox('nameFrmVehicule','modeResidenceConducteur','modeResidence'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','pretVolant','pret'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','usageVehicule','usage'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','kmsVehicule','kms'));
	cp = document.forms['nameFrmVehicule'].elements['cpStationneVehicule'].value;
	if (cp.charAt(0) == '2' && cp.charAt(1) == '0')
	{
		error = 1;
	}
	else if (cp.charAt(0) == '9' && cp.charAt(1) == '7')
	{
		error = 1;
	}
	else if (cp.charAt(0) == '9' && cp.charAt(1) == '9')
	{
		error = 1;
	}
	else if (cp.charAt(0) == '7' && cp.charAt(1) == '5' && cp.charAt(2) == '0' && cp.charAt(3) == '0' && cp.charAt(4) == '0')
	{
			error = 1;
	}
	else
	{
		error = error + (error = verifie_textBox('nameFrmVehicule','cpStationneVehicule','cpStationne'));
		
	}
	error = error + (error = verifie_textBox('nameFrmVehicule','villeStationneVehicule','cpStationne'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','assure36mois','assure36'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','garageVehicule','garage'));
	error = error + (error = verifie_textBox('nameFrmVehicule','assureurVehicule','assureur'));
	error = error + (error = verifie_radioBox('nameFrmVehicule','connusComment','lblConnusComment'));
	
	if (error<1)
	{
		if (valeur_radioBox('nameFrmVehicule','assure36mois')== 'non')
		{
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
		}
		else if ((profession == '5' || profession == '16' || profession == '20') && (valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefAffaires' || valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefTousTrajets'))
		{
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
		}
		else if ((profession == '21') && (valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefTravail' || valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefAffaires' || valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefTousTrajets'))
		{
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
		}
		else if ((profession == '6') && (valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefTravail' || valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefPrivee'))
		{
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
		}
		else if ((profession == '13' || profession == '7') && valeur_radioBox('nameFrmVehicule','usageVehicule') == 'coefPrivee')
		{
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
		}
		else
		{
			switch (classeVehicule)
			{
				case 'Q' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
						break;
				case 'R' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
					break;
				case 'S' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
					break;
				case 'T' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
					break;
				case 'U' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
					break;
				case 'V' :
					if (valeur_radioBox('nameFrmVehicule','garageVehicule')== '2' || valeur_radioBox('nameFrmVehicule','garageVehicule')== '3')
					{
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					}
					else
					{
						document.forms['nameFrmVehicule'].submit();
					}
					break;
				default :
					document.forms['nameFrmVehicule'].submit();
			}
		}
	}
	else
	{
		alert('Veuillez saisir les champs surlignés en rouge.');
	}
}

function confirme_coordonnees()
{
	var error = 0;
	
	error = error + (error = verifie_textBox('nameFrmVehicule','prenomConducteur','prenom'));
	error = error + (error = verifie_textBox('nameFrmVehicule','nomConducteur','nom'));
	error = error + (error = verifie_textBox('nameFrmVehicule','telephoneConducteur','telephone'));
	error = error + (error = verifie_textBox('nameFrmVehicule','adresse1Conducteur','adresse1'));
	//error = error + (error = verifie_textBox('nameFrmVehicule','adresse2Conducteur','adresse2'));
	error = error + (error = verifie_textBox('nameFrmVehicule','cpConducteur','cp'));
	error = error + (error = verifie_textBox('nameFrmVehicule','villeConducteur','cp'));
	//error = error + (error = verifie_textBox('nameFrmVehicule','paysConducteur','pays'));
	if( document.getElementById('ddebutsouhait') ) {
		error = error + (error = verifie_textBox('nameFrmVehicule', 'idImmatriculation', 'immatriculation'));
		error = error + (error = verifie_textBox('nameFrmVehicule', 'typeImmatInput', 'typeImmat'));
		error = error + (error = verifie_textBox('nameFrmVehicule', 'idNumSerie', 'lblNumSerie'));
		if( document.getElementById('idNbKms') ) {
			error = error + (error = verifie_textBox('nameFrmVehicule', 'idNbKms', 'nbKms'));
		}
		error = error + (error = verifie_textBox('nameFrmVehicule', 'ddebutsouhait', 'dateSouhait'));
		if( document.getElementById('cond1').checked && document.getElementById('cond2').checked ) {
			document.getElementById('lblCond').className = 'question';
		}
		else {
			document.getElementById('lblCond').className = 'questionOff';
			error += 1;
		}
	}
	error = error + (error = verifie_textBox('nameFrmVehicule','emailConducteur','email'));
	error = error + (error = verifie_textBox('nameFrmVehicule','cemailConducteur','cemail'));
	
	
	
	if (error<1)
	{
		if (document.forms['nameFrmVehicule'].elements['cemailConducteur'].value != document.forms['nameFrmVehicule'].elements['emailConducteur'].value)
		{
			alert('Veuillez vérifier le champ adresse électronique.');
		}
		else
		{
			document.forms['FrmVehicule'].submit();
		}
		
	}
	else
	{
		alert('Veuillez saisir les champs surlignés en rouge.');
	}
}

function verif_sinistres()
{
	var returnValue = 0;
	switch (document.forms['nameFrmVehicule'].elements['sinistresTotalVehicule'].value)
	{
		case '0' :
			break;
		case '3' :
			alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
			returnValue = 1;
			break;
		case '1' :
			switch (document.forms['nameFrmVehicule'].elements['typeSinistre1Vehicule'].value)
			{
				case 'corpResp' :
				case 'corpResp50' :
					alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
					returnValue = 1;
					break;
			}
			if (document.forms['nameFrmVehicule'].elements['dateSinistre1Vehicule'].value == '' || document.forms['nameFrmVehicule'].elements['typeSinistre1Vehicule'].value == '')
			{
				alert('Veuillez renseigner tous les champs de sinistres.');
				returnValue = 1;
				break;
			}
			break;
		case '2' :
			if(document.forms['nameFrmVehicule'].elements['typeSinistre1Vehicule'].value == 'corpNonResp' || document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'corpNonResp')
			{
				alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
				returnValue = 1;
			}
			else
			{
				switch (document.forms['nameFrmVehicule'].elements['typeSinistre1Vehicule'].value)
				{
					case 'corpResp' :
					case 'corpResp50' :
						alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
						returnValue = 1;
						break;
					case 'matResp' :
						if (document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'matResp' || document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'matResp50')
						{
							alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
							returnValue = 1;
							break;
						}
					case 'matResp50' :
						if (document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'matResp')
						{
							alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
							returnValue = 1;
							break;
						}
					default :
						if (document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'corpResp' || document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == 'corpResp50')
						{
							alert("Désolé, votre situation ne nous permet pas de vous communiquer un devis en ligne.\nPour satisfaire votre demande et vous proposer une solution adaptée à un prix compétitif, contactez un conseiller.");
							returnValue = 1;
							break;
						}
				}
				if (document.forms['nameFrmVehicule'].elements['dateSinistre1Vehicule'].value == '' || document.forms['nameFrmVehicule'].elements['typeSinistre1Vehicule'].value == '' || document.forms['nameFrmVehicule'].elements['dateSinistre2Vehicule'].value == '' || document.forms['nameFrmVehicule'].elements['typeSinistre2Vehicule'].value == '')
				{
					alert('Veuillez renseigner tous les champs de sinistres.');
					returnValue = 1;
					break;
				}
			}
			break;
	}
	return returnValue;
}


// Vérifie le format d une date saisie
function Verif_Date(valeur_date)
{ 
	var tabDate = valeur_date.split('/');
	tabDate = ConvNum(tabDate);
	var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0]));
	if (valeur_date.length>10)
	{ alert('Ne dois pas dépasser 10 caractères.');
		return false;
	}
	for (i=0; i<valeur_date.length; i++)
	{ 
		if (valeur_date.charAt(i) == ' ')
		{ 
			alert("La date ne doit pas contenir d\'espaces.");
			return false;
		}
	}
	if (valeur_date.length > 0)
	{ 
		if ((parseInt(tabDate[0]) != datTest_Date.getDate()) || (parseInt(tabDate[1]) != parseInt(datTest_Date.getMonth())+1))
		{ 
			alert("Veuillez saisir la date au format 'J/M/SSAA' ou JJ/MM/SSAA.\n\nex : 6/6/2004 ou 06/06/2004");
			return false;
		}
		if ((tabDate[2].length != 4) || (parseInt(tabDate[2]) < 1900) || (parseInt(tabDate[2]) > 2099))
		{ 
			alert("Veuillez saisir l'année sur 4 chiffres.\n\nElle doit être comprise entre 1980 et 2099.");
			return false;
		}
	}
	return true;
}

function ConvNum(tabDeDate) {
	for (i=0; i<tabDeDate.length; i++)
	{
		tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i];
	}
	return tabDeDate;
}