/*************************************************************************************/
/*****************************   Tarifs pour les jets skis   *********************************/
/*************************************************************************************/
quad_formule_mini_homologue_mois = Array('11', '13', '14');
quad_formule_mini_homologue_an = Array('123', '145', '168');
quad_formule_mini_non_homologue_mois = Array('11', '13', '14');
quad_formule_mini_non_homologue_an = Array('123', '145', '168');

quad_formule_vol_homologue_mois = Array('20', '28', '32');
quad_formule_vol_homologue_an = Array('298', '343', '397');
quad_formule_vol_non_homologue_mois = Array('20', '28', '32');
quad_formule_vol_non_homologue_an = Array('298', '343', '397');

quad_formule_maxi_homologue_mois = Array('28', '30', '38');
quad_formule_maxi_homologue_an = Array('338', '385', '463');
quad_formule_maxi_non_homologue_mois = Array('Impossible', 'Impossible', 'Impossible');
quad_formule_maxi_non_homologue_an = Array('Impossible', 'Impossible', 'Impossible');
quad_option_prevoyance = 45;
quad_frais_fixe = 27;
/*************************************************************************************/

/*************************************************************************************/
/***************************   Ouverture de popup centrée   *******************************/
/*************************************************************************************/
function ouvrirPopup(url, nomFenetre, width, height, option) {
	var dessus = (screen.height/2)-(height/2);
	var gauche = (screen.width/2)-(width/2);
	var features = 'height='+height+',width='+width+',top='+dessus +',left='+gauche+","+option;
	window.open(url, nomFenetre, features);
}
/*************************************************************************************/

/*************************************************************************************/
/*****************************   Test de validité des dates   *******************************/
/*************************************************************************************/
function isDateValid(chaineDate) {
	//Je regarde tout d'abord si la chaîne n'est pas vide, sinon pas la peine d'aller plus loin
	if (chaineDate == "") return false

	//J'utilise split pour créer un tableau dans lequel je récupère les jour mois année
	//J'attends bien sûr une date formatée en JJ/MM/AAAA
	var ladate = (chaineDate).split("/")

	//Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) return false

	//Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
	var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]))

	//Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
	var annee = unedate.getYear()
	if ((Math.abs(annee)+"").length < 4) annee = annee + 1900
	
	//Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
	return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])))
}
/*************************************************************************************/

/*************************************************************************************/
/********************************   Fonctions quad   ************************************/
/*************************************************************************************/
//Gestion de l' affichage des champs concernant le permis.
function gerer_permis_quad() {
	if(document.form_quad.homologue[0].checked) {
		document.getElementById("permis_conduire").style.display = "block";
	}
	else {
		document.getElementById("permis_conduire").style.display = "none";
	}
}

//Calcul du tarif pour les jets skis.
function calculer_tarif_quad() {
	tarif_mois = 0;
	tarif_annee = 0;
	is_cylindree = false;
	cpt = 0;
	while(!is_cylindree) {
		// Test de la cylindrée
		if(document.form_quad.cylindree_choix[cpt].checked) {
			is_cylindree = true;
			
			// Test du type de contrat => Formule mini
			if(document.form_quad.choix_contrat[0].checked) {
				// Test si quad homologué => oui
				if(document.form_quad.homologue[0].checked) {
					tarif_mois = quad_formule_mini_homologue_mois[cpt];
					tarif_annee = quad_formule_mini_homologue_an[cpt];
				}
				// Test si quad homologué => non
				else {
					tarif_mois = quad_formule_mini_non_homologue_mois[cpt];
					tarif_annee = quad_formule_mini_non_homologue_an[cpt];
				}
			}
			// Test du type de contrat => Formule vol
			else if(document.form_quad.choix_contrat[1].checked) {
				// Test si quad homologué => oui
				if(document.form_quad.homologue[0].checked) {
					tarif_mois = quad_formule_vol_homologue_mois[cpt];
					tarif_annee = quad_formule_vol_homologue_an[cpt];
				}
				// Test si quad homologué => non
				else {
					tarif_mois = quad_formule_vol_non_homologue_mois[cpt];
					tarif_annee = quad_formule_vol_non_homologue_an[cpt];
				}
			}
			// Test du type de contrat => Formule maxi
			else if(document.form_quad.choix_contrat[2].checked) {
				// Test si quad homologué => oui
				if(document.form_quad.homologue[0].checked) {
					tarif_mois = quad_formule_maxi_homologue_mois[cpt];
					tarif_annee = quad_formule_maxi_homologue_an[cpt];
				}
				// Test si quad homologué => non
				else {
					tarif_mois = quad_formule_maxi_non_homologue_mois[cpt];
					tarif_annee = quad_formule_maxi_non_homologue_an[cpt];
				}
			}
		}
		cpt++;
	}
	
	// Tarif hors option
	if(tarif_annee != "Impossible") {
		document.form_quad.tarif_hors_option.value = tarif_annee + "€";
	}
	else {
		document.form_quad.tarif_hors_option.value = tarif_annee;
	}
	
	// Option prévoyance
	if(document.form_quad.option_prev[0].checked) {
		tarif_annee = parseInt(tarif_annee) + quad_option_prevoyance;
		document.form_quad.tarif_prevoyance.value = quad_option_prevoyance + "€";
	}
	else {
		document.form_quad.tarif_prevoyance.value = "Non";
	}
	
	/*if(tarif_mois != "Impossible") {
		// Si l'option prévoyance a été sélectionnée => on divise le TTC par 12
		if(document.form_quad.option_prev[0].checked) {
			val = Math.round(tarif_annee / 12);
			document.form_quad.tarif_mensuel.value = val.toString() + "€ / mois";
		}
		else {
			document.form_quad.tarif_mensuel.value = tarif_mois + "€ / mois";
		}
	}
	else {
		document.form_quad.tarif_mensuel.value = tarif_mois;
	}*/
	
	if(tarif_mois != "Impossible") {
		val = Math.round((parseInt(tarif_annee) + quad_frais_fixe) / 12);
		document.form_quad.tarif_mensuel.value = val.toString() + "€ / mois";
	}
	else {
		document.form_quad.tarif_mensuel.value = tarif_mois;
	}
	
	if(tarif_annee != "Impossible") {
		document.form_quad.tarif_annuel.value = tarif_annee + "€";
	}
	else {
		document.form_quad.tarif_annuel.value = tarif_annee;
	}
}

//Vérification des champs du formulaire de souscription pour les jets skis.
function verif_form_quad() {
	// Si la cylindrée est inférieure ou égale à 50cm3
	/*if(document.form_quad.cylindree_choix[0].checked) {
		alert("Les quads ayant une cylindrée inférieure à 50cm3 ne peuvent bénéficier de ce contrat.");
		return false;
	}*/
	tarif_annuel = document.form_quad.tarif_annuel;
	if(tarif_annuel.value == "Impossible") {
		alert("Les quads non homologués ne peuvent être assurés avec la Formule Maxi.");
		return false;
	}
	
	// vérification de la date de la garantie
	date_garantie = document.form_quad.jour_garantie.value + "/" + document.form_quad.mois_garantie.value + "/" + document.form_quad.annee_garantie.value;
	if(!isDateValid(date_garantie)) {
		alert("La date d'effet de la garantie n'est pas valide!");
		document.form_quad.jour_garantie.focus();
		return false;	
	}
	else {
		date_jour = new Date();
		date_garantie = new Date(document.form_quad.annee_garantie.value, document.form_quad.mois_garantie.value-1, document.form_quad.jour_garantie.value, 23, 59, 59);
		if(date_jour.getTime() > date_garantie.getTime()) {
			alert("La date d'effet de la garantie doit être postérieure à la date du jour!");
			document.form_quad.jour_garantie.focus();
			return false;
		}
	}
	//vérification du nom
	nom = document.form_quad.nom;
	if(nom.value == "") {
		alert("Vous devez renseigner votre nom!");
		nom.focus();
		return false;
	}
	//vérification du prénom
	prenom = document.form_quad.prenom;
	if(prenom.value == "") {
		alert("Vous devez renseigner votre prénom!");
		prenom.focus();
		return false;	
	}
	//vérification de l'adresse
	adresse = document.form_quad.adresse;
	if(adresse.value == "") {
		alert("Vous devez renseigner votre adresse!");
		adresse.focus();
		return false;	
	}
	//vérification du code postal
	code_postal = document.form_quad.code_postal;
	if(code_postal.value == "") {
		alert("Vous devez renseigner votre code postal!");
		code_postal.focus();
		return false;	
	}
	else if(isNotCodePostal(code_postal.value)) {
		alert("Le code postal saisi n'est pas valide!");
		code_postal.focus();
		return false;
	}
	//vérification de la ville
	ville = document.form_quad.ville;
	if(ville.value == "") {
		alert("Vous devez renseigner votre ville!");
		ville.focus();
		return false;	
	}
	//vérification du téléphone
	telephone = document.form_quad.telephone;
	if(telephone.value == "") {
		alert("Vous devez renseigner votre numéro de téléphone!");
		telephone.focus();
		return false;
	}
	else if(isNotTelephone(telephone.value, "fixe")) {
		alert("Le numéro de téléphone saisi n'est pas valide!");
		telephone.focus();
		return false;
	}
	//vérification de l'email
	email = document.form_quad.email;
	if(email.value == "") {
		alert("Vous devez renseigner votre email!");
		email.focus();
		return false;
	}
	else if(isNotEmailAdress(email.value)) {
		alert("L'email saisi n'est pas valide!");
		email.focus();
		return false;
	}
	//vérification de la date de naissance
	naissance = document.form_quad.jour_naissance.value + "/" + document.form_quad.mois_naissance.value + "/" + document.form_quad.annee_naissance.value;
	if(!isDateValid(naissance)) {
		alert("La date de naissance n'est pas valide!");
		document.form_quad.jour_naissance.focus();
		return false;	
	}
	//vérification de la profession
	profession = document.form_quad.profession;
	if(profession.value == "") {
		alert("Vous devez renseigner votre profession!");
		profession.focus();
		return false;	
	}
	// vérification de la marque
	marque = document.form_quad.marque;
	if(marque.value == "")  {
		alert("Vous devez renseigner la marque du quad!");
		marque.focus();
		return false;
  	}
	// vérification du modèle
	modele = document.form_quad.modele;
	if(modele.value == "")  {
		alert("Vous devez renseigner le modèle du quad!");
		modele.focus();
		return false;
  	}
	// vérification de la cylindrée du quad
	cylindree = document.form_quad.cylindree;
	if(cylindree.value == "")  {
		alert("Vous devez renseigner la cylindrée du quad!");
		cylindree.focus();
		return false;
  	}
	else if(isNotDecimal(cylindree.value) || cylindree.value < 0) {
		alert("La cylindrée du quad n'est pas valide!");
		cylindree.focus();
		return false;
	}
	//vérification de la date de mise en circulation
	circulation = document.form_quad.jour_circulation.value + "/" + document.form_quad.mois_circulation.value + "/" + document.form_quad.annee_circulation.value;
	if(!isDateValid(naissance)) {
		alert("La date de mise en circulation n'est pas valide!");
		document.form_quad.jour_circulation.focus();
		return false;	
	}
	// vérification de l'immatriculation
	immatriculation = document.form_quad.immatriculation;
	if(immatriculation.value == "")  {
		alert("Vous devez renseigner l'immatriculation du quad!");
		immatriculation.focus();
		return false;
  	}
	// Si le quad est homologué
	if(document.form_quad.homologue[0].checked) {
		// vérification de la date du permis
		date_permis = document.form_quad.jour_permis.value + "/" + document.form_quad.mois_permis.value + "/" + document.form_quad.annee_permis.value;
		if(!isDateValid(date_permis)) {
			alert("La date du permis n'est pas valide!");
			document.form_quad.jour_permis.focus();
			return false;
		}
	}
	// Vérification de la condition
	if(!document.getElementById("condition1").checked) {
		alert("Vous devez accepter la condition concernant les sinistres responsables!");
		return false;
	}
	// vérification des caractères anti-spam
	if(document.form_quad.caractere.value == "") {
		alert("Veuillez saisir les caractères pour le contrôle anti-spam");	
		document.form_quad.caractere.focus();
		return false;
	}
}

function gestion_cond_quad() {
	if(document.getElementById("condition1").checked && document.getElementById("condition2").checked) {
		document.getElementById("p_paiement").style.display = "block";
	}
	else {
		document.getElementById("p_paiement").style.display = "none";
	}
}

function verif_form_quad_paiement() {
	// vérification des conditions
	if(!document.getElementById("condition1").checked || !document.getElementById("condition2").checked) {
		alert("Vous devez accepter les conditions pour accéder au paiement!");
		return false;
	}
}
/*************************************************************************************/

