var arrayElementsDevis=["dateMiseEnCirculation","typeVehicule","marque", "gamme", "carrosserie", "energie", "version","postal","postalAuto","commune","communeAuto","usage","qualite","logement"]; var arrayAutreVehicule=["typeVehicule","marque", "gamme", "carrosserie", "energie", "version"]; var arrayIdSelect=new Array(); $.formulaireDevis = function() { var blocDevis = this; $("div.hidden",this).each(function(){ this.parentNode.style.display="none";}); $("form").bind("submit",function(){ verificationDevisAjax("", "", "1"); document.location="#"; return false;}); this.onkeypress=function (e) { var oTrg = (window.event) ? window.event.srcElement: e.target; if (/^(textarea)$/i.test(oTrg.tagName)) return true; if(window.event){ if (window.event.type == "keypress" & window.event.keyCode == 13)
return !(window.event.type == "keypress" & window.event.keyCode == 13);}
if(e)
{ if (e.type == "keypress" & e.keyCode == 13)
return !e;}
}
var id=""; for (var i=0;i<arrayElementsDevis.length;i++)
{ $("div#"+arrayElementsDevis[i],this).each(function(){ var id=(this.firstChild.id)?this.firstChild.id:this.firstChild.firstChild.id; arrayIdSelect[arrayElementsDevis[i]]=id; if(this.firstChild.value)
loadSelectAJAX(arrayElementsDevis[i],this.firstChild.value); else viderSelect(arrayElementsDevis[i]);});}
$("input.date-picker").bind("blur",function(){ if (!checkDate(this.value))
showError(this.id,"Mauvais format de date. Format requis : JJ/MM/AAAA."); else removeError(this.id);}); $("input.num").bind("blur",function(){ if ($(this).attr("value"))
$(this).attr("value",$(this).attr("value").replace(',','.'));}); $("input.monnaie").bind("blur",function(){ if ($(this).attr("value"))
$(this).attr("value",$(this).attr("value").replace(',','.'));}); $("#postalAuto").parent().show(); $("input.code_postal").bind("blur",function(){ 

var auto=(this.parentNode.id=="postalAuto")?"Auto":""; 

if (checkCodePostal(this.value)){ 
	loadSelectAJAX("commune"+auto);
}
else 
	viderSelect("commune"+auto);
}); 

$("input.code_postal").bind("keyup",function(){
	var auto=(this.parentNode.id=="postalAuto")?"Auto":"";

if (checkCodePostal(this.value)){ 
	// recuperation de l'identifiant du formulaire (ajout_reponse)
	var idForm=$("input[@name='ajout_reponse']").attr("value");
	
	// Seulement en fonction de la demande de document
	if(idForm=="11" || idForm=="7")
	{
		var url = 'spip.php?page=vehicule&id_form='+idForm+'&categorie=emailcommercial&postal='+this.value;
			jQuery.ajax({
				url: url,
				type: "get",
				complete: function(res, status){
					var json=eval(res.responseText); 
					if(json){
						if(json[0])
						{
							for(var i=0;i<json.length;i++) {
								//alert(json[i].value);
								$("input", "div#emailCommercial").attr("value", json[i].value);
								//$("#input-11-email_2").attr('value', json[i].value);
							}
						}
					}
				}
			});
	}
	loadSelectAJAX("commune"+auto);
}
else 
	viderSelect("commune"+auto);
});

$("input","div#societaire").click(function(){ if ($("label[@for='"+this.id+"']","div#societaire").attr("innerHTML")=="Oui")
{ $("div#numSocietaire").parent().show(); $("input","div#numSocietaire").focus();}
else
$("div#numSocietaire").parent().hide();}); 
if (getSelect("dateMiseEnCirculation"))
{ 
$("fieldset.separateur_3").hide(); 
$("input[@name='Valider']").attr("value","Devis"); 
$("#dateMiseEnCirculation").parent().show(); 
autreVehicule(false); loadSelectAJAX("usage"); 
$("input.date-picker","div#dateMiseEnCirculation").change(
  function(){ 
    autreVehicule(false); 
    viderSelect("carrosserie"); 
    viderSelect("energie"); 
    viderSelect("gamme"); 
    viderSelect("version"); 
    viderSelect("marque"); 
    loadSelectAJAX("typeVehicule");
  }
); 
/*
$("input.date-picker","div#datePermis").each(
  function(){ 
    popUpCal.reconfigureFor(this, {
    onSelect: 
      function(dateSaisie) { 
        verificationDevisAjax("datePermis", ["dateNaissance"]);
      }
    }
    );
  }
)
*/
$("div#bonus",this).each(function(){ testBonus(); this.firstChild.onkeyup=function() { if ($("input","div#bonus").attr("value"))
$("input","div#bonus").attr("value",$("input","div#bonus").attr("value").replace(',','.')); testBonus();}
this.firstChild.onblur=function() { if ($("input","div#bonus").attr("value"))
$("input","div#bonus").attr("value",$("input","div#bonus").attr("value").replace(',','.')); verificationDevisAjax("bonus",["bonus50","datePermis"]);}
}); $("select","div#bonus50").change(function(){ testSinistresResponsables();}); $("div#nbSinistresResp",this).each(function(){ testSinistresResponsables(); this.firstChild.onkeyup=function() { testSinistresResponsables();}
}); $("select","div#anciennete").change(function(){ verificationDevisAjax("anciennete", ["datePermis"]);});}
else if (getSelect("logement")) { $("fieldset.separateur_2").hide(); $("input[@name='Valider']").attr("value","Devis"); loadSelectAJAX("logement"); loadSelectAJAX("qualite"); loadSelectAJAX("usage"); $("input","div#dependances").change(function(){ var selVal=this.value.substr(this.value.lastIndexOf("_")+1,this.value.lastIndexOf("_")+1)
if(selVal=="1")
$("div#surfaceDependances").parent().show(); else
$("div#surfaceDependances").parent().hide();}); $("input","div#capital").bind("blur",function(){ if(this.value)
verificationDevisAjax("capital",["nbPieces"]);}); $("input","div#surfaceDependances").bind("blur",function(){ verificationDevisAjax("surfaceDependances",[]);});}
else { $("select","div#typeDocument").change(function(){ var val=this.options[this.selectedIndex].value; switch(val.substr(val.lastIndexOf("_")+1,val.lastIndexOf("_")+1))
{ case "6":
$("div#typeLogement").parent().hide(); $("div#adresseLieu").parent().show(); $("div#dateDebut").parent().show(); $("div#dateFin").parent().show(); $("div#immatriculation").parent().hide(); break; case "8":
$("div#typeLogement").parent().show(); $("div#adresseLieu").parent().show(); $("div#dateDebut").parent().show(); $("div#dateFin").parent().show(); $("div#immatriculation").parent().hide(); break; case "11":
$("div#typeLogement").parent().hide(); $("div#adresseLieu").parent().hide(); $("div#dateDebut").parent().hide(); $("div#dateFin").parent().hide(); $("div#immatriculation").parent().show(); break; default:
$("div#typeLogement").parent().hide(); $("div#adresseLieu").parent().hide(); $("div#dateDebut").parent().hide(); $("div#dateFin").parent().hide(); $("div#immatriculation").parent().hide(); break;}
}); $("select","div#embarcation").change(function(){ var val=this.options[this.selectedIndex].value; switch(val.substr(val.lastIndexOf("_")+1,val.lastIndexOf("_")+1))
{ case "1":
$("div#energieBateau").parent().hide(); $("div#longueur").parent().hide(); $("div#puissance").parent().hide(); $("div#immatriculation").parent().hide(); break; case "2":
$("div#energieBateau").parent().show(); $("div#longueur").parent().show(); $("div#puissance").parent().show(); $("div#immatriculation").parent().show(); break; case "3":
$("div#energieBateau").parent().hide(); $("div#longueur").parent().show(); $("div#puissance").parent().hide(); $("div#immatriculation").parent().show(); break; case "4":
$("div#energieBateau").parent().hide(); $("div#longueur").parent().hide(); $("div#puissance").parent().show(); $("div#immatriculation").parent().hide(); break;}
}); $("select","div#nbEnfants").change(function(){ if (this.value!="select_6_1")
$("div#anneesNaissance").parent().show(); else
$("div#anneesNaissance").parent().hide();});}
$("select","div#modeReponse").change(function(){ var val=this.options[this.selectedIndex].value; switch(val.substr(val.lastIndexOf("_")+1,val.lastIndexOf("_")+1))
{ case "1":
$("div#adresse").parent().show(); $("div#complement").parent().show(); $("div#postal").parent().show(); $("div#commune").parent().hide(); $("div#mail").parent().hide(); $("div#telephone").parent().hide(); $("div#horaire").parent().hide(); $("input","div#adresse").focus(); break; case "2":
$("div#adresse").parent().hide(); $("div#complement").parent().hide(); $("div#postal").parent().hide(); $("div#commune").parent().hide(); $("div#mail").parent().show(); $("div#telephone").parent().hide(); $("div#horaire").parent().hide(); $("input","div#mail").focus(); break; case "3":
$("div#adresse").parent().hide(); $("div#complement").parent().hide(); $("div#postal").parent().hide(); $("div#commune").parent().hide(); $("div#mail").parent().hide(); $("div#telephone").parent().show(); $("div#horaire").parent().show(); $("input","div#telephone").focus(); break;}
}); $("select","div#choixAppel").change(function(){ if (this.options[this.selectedIndex].value=="select_4_11") { $("div#autre").parent().show(); $("input","div#autre").focus();} else
$("div#autre").parent().hide();});}; function selectVehiculeOnChange (categorie)
{ var sel=getSelect(categorie).selectedIndex; autreVehicule(false); switch (categorie)
{ case "typeVehicule" :
viderSelect("carrosserie"); viderSelect("energie"); viderSelect("gamme"); viderSelect("version"); if (sel>1) loadSelectAJAX("marque"); else { viderSelect("marque");}
break; case "marque" :
viderSelect("carrosserie"); viderSelect("energie"); viderSelect("version"); if (sel>1) loadSelectAJAX("gamme"); else { viderSelect("gamme");}
break; case "gamme" :
viderSelect("energie"); viderSelect("version"); if (sel>1) loadSelectAJAX("carrosserie"); else { viderSelect("carrosserie");}
break; case "carrosserie" :
viderSelect("version"); if (sel>1) loadSelectAJAX("energie"); else { viderSelect("energie");}
break; case "energie" :
if (sel>1) loadSelectAJAX("version"); else { viderSelect("version");}
break; case "version" :
break;}
if ((sel==1) && (arrayAutreVehicule.indexOf(categorie)>=0)) autreVehicule(true,categorie);}
function viderSelect(categorie)
{ $("#"+categorie).parent().hide(); for ( var i = getSelect(categorie).length-1; i >=0; i-- )
{ getSelect(categorie).options[i] = null;}
}
function getSelect(categorie)
{ return document.getElementById(arrayIdSelect[categorie]);}
function idChamp(idDiv)
{ return ($("input","#"+idDiv).attr("id")!="")?$("input","#"+idDiv).attr("id"):$("select","#"+idDiv).attr("id");}
function nameChamp(idDiv)
{ return ($("input","#"+idDiv).attr("name")!=undefined)?$("input","#"+idDiv).attr("name"):$("select","#"+idDiv).attr("name");}
function valChamp(idDiv)
{ if ($("input","#"+idDiv).attr("type")=="radio")
{ var valChecked=""; $("[@type=radio][@checked]","#"+idDiv).each(function() { valChecked=this.value;}); return valChecked;}
else
return ($("input","#"+idDiv).attr("name")!=undefined)?$("input","#"+idDiv).attr("value"):$("select","#"+idDiv).attr("value");}
function loadSelectAJAX(categorie,selectedValue){ 
	var idForm=$("input[@name='ajout_reponse']").attr("value");
	var currSelect=getSelect(categorie); 
	var url="spip.php?page=vehicule&id_form="+idForm+"&categorie="+categorie;
	for(nomListe in arrayIdSelect)
	{
		elt=getSelect(nomListe); 
		if (elt)
			if (elt.selectedIndex!=null){ 
				if (elt.selectedIndex>=0)
					url+="&"+nomListe+"="+elt.options[elt.selectedIndex].value;}
			else
				url+="&"+nomListe+"="+elt.value;}
				jQuery.ajax({
					url: url, 
					type: "get", 
					complete: function(res, status){
						json=eval(res.responseText); 
						if (json) { 
							if (json[0])
							{
								if (getSelect("dateMiseEnCirculation")) 
									removeError(getSelect("dateMiseEnCirculation").id); 
									if($(currSelect).attr("type")=="text"){ 
										var liste = "<select id='"+currSelect.id+"' name='"+currSelect.name+"' class='fondl' style='width:320px'></select>"; 
										$(currSelect).remove(); 
										$("div#"+categorie).attr("innerHTML", liste);
									}
									else
										viderSelect(categorie);
								$("#"+categorie).parent().show();
								combo=getSelect(categorie); 
								if (arrayAutreVehicule.indexOf(categorie)>=0)
								{ combo.options[combo.length] = new Option("","-1"); combo.options[combo.length] = new Option("- Autre","Autre"); combo.onchange=function () { selectVehiculeOnChange(categorie) };}
								else if (categorie=="usage") { combo.options[combo.length] = new Option("",""); combo.onchange=function () { }
								}
								else combo.options[combo.length] = new Option("",""); for(var i=0;i<json.length;i++) { combo.options[combo.length] = new Option(json[i].name,"("+json[i].value+") "+json[i].name);}
								if (selectedValue) combo.value=selectedValue; if ((combo.length==3||combo.length==2)&&!selectedValue&&categorie!="usage")
								{ combo.selectedIndex=combo.length-1; if (combo.onchange) combo.onchange();}
							}
						}
					}});
}
function autreVehicule(show, categorie)
{ $("textarea","div#autreVehicule").val(""); if (show)
{ var i=0; while (i<arrayAutreVehicule.length && arrayAutreVehicule[i]!=categorie)
{ $("textarea","div#autreVehicule").val($("textarea","div#autreVehicule").val()+$("select option:selected","div#"+arrayAutreVehicule[i]+"").text()+"\n"); i++;}
$("#autreVehicule").parent().show();}
else
{ $("#autreVehicule").parent().hide();}
}
function testBonus(){ var inputBonus=$("input","div#bonus"); if ((inputBonus.attr("value")=="0.5")||(inputBonus.attr("value")=="0.50"))
$("#bonus50").parent().show(); else $("#bonus50").parent().hide();}
function testSinistresResponsables(){ if (($("input","div#nbSinistresResp").attr("value")>0)&&( $("select","div#bonus50").attr("value")!="select_11_3" ))
$("#dateSinistreResp").parent().show(); else $("#dateSinistreResp").parent().hide();}
function testUsage()
{ if ($("select","div#usage").attr("value")){ var usage=$("select","div#usage").attr("value").substr(0,$("select","div#usage").attr("value").lastIndexOf(")")+1); if (usage=='(1/0)'||usage=='(1/6)'||usage=='(Autre)')
{ $("fieldset.separateur_3").show(); $("input[@name='Valider']").attr("value","Valider");}
else
{ $("fieldset.separateur_3").hide(); $("input[@name='Valider']").attr("value","Devis");}
}
}
function verificationDevisAjax(test, champs, submit){ var idForm=$("input[@name='ajout_reponse']").attr("value"); var url="spip.php?page=devis&id_form="+idForm+"&test="+test; if (submit)
{ url+="&valid=1"; $("input",".form_"+idForm).each(function(){ if (this.type!="radio")
url+= "&"+this.name+"="+escape(this.value); else { var valChecked=""; $("[@name='"+this.name+"'][@type=radio][@checked]").each(function() { valChecked=this.value;}); url+= "&"+this.name+"="+valChecked;}
}); $("textarea",".form_"+idForm).each(function(){ url+= "&"+this.name+"="+escape(this.value);}); $("select",".form_"+idForm).each(function(){ url+= "&"+this.name+"="+this.value;});}
else
{ url+= "&"+nameChamp(test)+"="+valChamp(test); for(var i=0;i<champs.length;i++) { url+= "&"+nameChamp(champs[i])+"="+escape(valChamp(champs[i]));}
}
jQuery.ajax({ url: url, type: "get", complete: function(res, status){ json=eval(res.responseText);}
});}
function getDate(strDate){ day = strDate.substring(0,2); month = strDate.substring(3,5); year = strDate.substring(6,10); d = new Date(); d.setDate(day); d.setMonth(month-1); d.setFullYear(year); return d;}
function getDiff(date_1, date_2){ diff = date_1.getTime()-date_2.getTime(); return diff;}
function checkDate(strDate)
{ if (strDate!="") { var regexDate = /^(\d{1,2}\/){2}\d{4}$/; if (regexDate.test(strDate))
{ var regex = new RegExp("[/-]"); var date = strDate.split(regex); var nbJours = new Array("",31,28,31,30,31,30,31,31,30,31,30,31); var result = true; if ( date["2"]%4 == 0 && date["2"]%100 > 0 || date["2"]%400 == 0 )
nbJours["2"] = 29; if( isNaN(date["2"]) )
result=false; if ( isNaN(date["1"]) || date["1"] > 12 || date["1"] < 1 )
result=false; if ( isNaN(date["0"]) || date["0"] > nbJours[Math.round(date["1"])] || date["0"] < 1 )
result=false; return result;}
else return false;}
else return true;}
function checkCodePostal(strCP)
{ if (strCP!="") { var regexCP = /^[0-9]{5}$/; return regexCP.test(strCP);}
else return true;}
function showError(idField,txt)
{ if (!$("#error"+idField).attr("id")) { var divErreur="<div id='error"+idField+"' class='error'><span style='color:red;font-weight:bold;'>"+txt+"</span></div>"; if ($("#"+idField).attr("type")!="radio")
$("#"+idField).before(divErreur); else
$("#"+idField).parent().before(divErreur);}
else $("#error"+idField).attr("innerHTML","<span style='color:red;font-weight:bold;'>"+txt+"</span>");}
function removeError(idField)
{ $("#error"+idField).remove();}
$(document).ready(function(){ $("div#form").each($.formulaireDevis); $("div#form").show();}); if(!Array.indexOf){ Array.prototype.indexOf = function(obj){ for(var i=0; i<this.length; i++){ if(this[i]==obj){ return i;}
}
return -1;}
}
