var rollon = 0;
var first_reseau = true;
var first_dep = true;
var first_centre = true;
var multi = false;

function setcentre(v){
	if (v == 1 && first_centre){
		first_centre = false
		document.frm.centre4.value = document.frm.centre3.value = document.frm.centre2.value = document.frm.centre1.value;
	}
}

function setdep(v){
	if (v == 1 && first_dep){
		first_dep = false;
		document.frm.dep4.value = document.frm.dep3.value = document.frm.dep2.value = document.frm.dep1.value;
		multi = true;
	}
}

function y2k(number)
{ return (number < 1000) ? number + 1900 : number; }

var today = new Date();
var day   = today.getDate();
var month = today.getMonth();
var year  = y2k(today.getYear());
var curfield = 1;

function padout(number) {
return (number < 10) ? '0' + number : number;
}

function restart() {
eval("document.frm."+curfield+".value = '" + padout(day) + "/" + padout(month - 0 + 1) + "/" + year + "'");
mywindow.close();
}

function newcal(x,y) {
if (y)tutu=true;
else tutu = false;
curfield = x;
mywindow=open('calendrier.htm','myname','resizable=no,width=290,height=250, left=100, top=100');
if (mywindow.opener == null) mywindow.opener = self;
mywindow.focus();
}

function set_nb_vec(){
	nb_voiture = document.frm.nbvec.value;
	for(i=2; i<=nb_voiture ; i++){
		eval("voit_"+i+"_1.style.display='block'");
		eval("voit_"+i+"_2.style.display='block'");
	}
	
	for(; i<=4 ; i++){
		eval("voit_"+i+"_1.style.display='none'");
		eval("voit_"+i+"_2.style.display='none'");
	}

}

var thevoiture = false;

function setlistecentre(voiture){
	setdep(voiture);
	centre = eval("document.frm.dep"+voiture+".value");
	parent.bufferFrame.document.location = "http://www.securitest.fr/alerte/centres.php?code=" + centre + "&voiture=" + voiture;
	eval("div_centre"+voiture+".innerHTML=\"Chargement de la liste en cours\"");
	thevoiture = voiture;
}

function load_liste_ok(){
	if(thevoiture) {
		eval("div_centre"+thevoiture+".innerHTML=parent.bufferFrame.document.body.innerHTML");
	}
	if (multi){
		str = parent.bufferFrame.document.body.innerHTML;
		div_centre2.innerHTML=str.replace(/centre1/,"centre2");
		div_centre3.innerHTML=str.replace(/centre1/,"centre3");
		div_centre4.innerHTML=str.replace(/centre1/,"centre4");
		multi = false;
	}
}

function verif(){
	var adresse = frm.mail.value;
	var place = adresse.indexOf("@",1);
	var point = adresse.indexOf(".",place+1);
	if (!((place > -1)&&(adresse.length >2)&&(point > 1))) {
		alert("Veuillez SVP entrer une adresse e-mail valide.");
		return false;
	}

	for(vec = 1 ; vec <= frm.nbvec.value; vec++){
		if (! verif_vehicule(vec)) return false;
	}
	return true;
}

function verif_vehicule(i){
	imatr = eval("frm.imatr" + i + ".value");
	if (imatr == "") { alert("Veuillez SVP entrer l'immatriculation du véhicule n° " + i); return false; }
	
	datemc = eval("frm.date1mc" + i + ".value");
	if (! isDate(datemc)) { alert("Veuillez SVP saisir un date de première mise en circulation valide pour le véhicule n° " + i + " (ex: 01/05/2001)"); return false; }
	
	jmc = parseInt(datemc.split("/")[0], 10); // jour
	mmc = parseInt(datemc.split("/")[1], 10); // mois
  	amc = parseInt(datemc.split("/")[2], 10); // année
	maintenant = new Date();
	pmc = new Date(amc,mmc - 1,jmc,0,0,0);
	var diff = Math.floor((maintenant.getTime() / 1000 - pmc.getTime() / 1000)/3600/24);
	if(diff > 1460){
		datedct = eval("frm.datedct" + i + ".value");
		if (! isDate(datedct)) { alert("Veuillez SVP saisir une date de dernier contrôle technique valide pour le véhicule n° " + i + " (ex: 01/05/2001)"); return false; }
	}
	return true;
}

function isDate(d) {
  if (d == "")
    return false;
  
  e = new RegExp("^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$");
  
  if (!e.test(d))
    return false;

  j = parseInt(d.split("/")[0], 10); // jour
  m = parseInt(d.split("/")[1], 10); // mois
  a = parseInt(d.split("/")[2], 10); // année

  // Définition du dernier jour de février
  if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
  else fev = 28;

  // Nombre de jours pour chaque mois
  nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

  // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
  return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}