function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
		
	if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else 
			eval("obj."+theProp+"='"+theValue+"'");
  }
}


function YY_checkform() { 
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4) {
    if (a[i+1].charAt(0)=='#') {
			r=true;
			a[i+1]=a[i+1].substring(1);
		} else { 
			r=false
		}
		
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    
		if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){
				err=true
			}
			
     	if (v.length>0)
      
			if (t==1){ //fromto
        ma=a[i+1].split('_');
				//alert (ma[0].length);
				
					
				if (v.length != ma[0].length) {
					err=true;
				}
				
				if(isNaN(v) || v < ma[0]/1 || v > ma[1]/1){
						err=true
				}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");
				if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      } else if (t==7) { //only num between min and max
					 ma=a[i+1].split('_');
					 if(isNaN(v) || v < ma[0]/1 || v > ma[1]/1){
						err=true;
				}
				} else if (t==8) { //only decimal num 
					 
					 if(isNaN(v)){
						 var test = v.split(',');
						 if(isNaN(test[0]) || isNaN(test[1])) {
							err=true;
						}
				}
			
			}
			
			
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){
	  //alert('Les informations suivantes sont incomplètes ou contiennent des erreurs:\t\t\t\t\t\n\n'+s)
  	  document.getElementById("erreur_devis").innerHTML ="Les informations suivantes sont incomplètes ou contiennent des erreurs :<br />"+s+"<br />"; 
  }
  //else { return 1; }
	document.MM_returnValue = (s=='');
}



function validForm1() { //validation des champs de form1
	YY_checkform('form1',
							 'txtAssNom','#q','0','Le Nom.<br />',
							 'txtAssAdr1','#q','0','L\'Adresse.<br />',
							 'txtAssCP','#q','0','Le Code Postal.<br />',
							 'txtAssVille','#q','0','La Ville.<br />',
							 'txtAssEMail','#q','2','L\'adresse e-mail<br />',
							 'txtAssNoRef','0_99999','7','Le Numéro d\'assuré<br />');							
}

function testAnnexe() {
	if ((document.form2.txtAnnMarque.value == "") && (document.form2.txtMotMarqueA1.value == "")) {
		alert ('Veuillez saisir une annexe et\/ou un moteur d\'annexe ci-dessus.');
		document.form2.chkAvbSupAnnexe.checked = false;
		document.MM_returnValue == false;
	}
}

function validForm2() { //validation des champs du form2
	var datedeb = document.form2.DebDesarm.value;
	var datefin = document.form2.FinDesarm.value;
	//var currentDate = new Date();
	//var currentyear = currentDate.getFullYear();
	
	var aadeb = eval (datedeb.substring(6,8));
	var aafin = eval (datefin.substring(6,8));
	
	var mmdeb = eval (datedeb.substring(3,5));
	var mmfin = eval (datefin.substring(3,5));
	
	var jjdeb = eval (datedeb.substring(0,2));
	var jjfin = eval (datefin.substring(0,2));
	
	/*if (datedeb!='' && datefin!='') {
		document.form2.mskAvbDebDesarm.value = currentyear+'-'+datedeb.substring(3,5)+'-'+datedeb.substring(0,2);
		document.form2.mskAvbFinDesarm.value = currentyear+'-'+datefin.substring(3,5)+'-'+datefin.substring(0,2);
		*/
	if (datedeb!='' && datefin!='') {
		document.form2.mskAvbDebDesarm.value = '20'+datedeb.substring(6,8)+'-'+datedeb.substring(3,5)+'-'+datedeb.substring(0,2);
		document.form2.mskAvbFinDesarm.value = '20'+datefin.substring(6,8)+'-'+datefin.substring(3,5)+'-'+datefin.substring(0,2);
		/*
		if (mmdeb > mmfin) {
		document.form2.mskAvbFinDesarm.value = 'error';
		*/
		if (aadeb > aafin) {
			document.form2.mskAvbFinDesarm.value = 'error';
			} else if ((aadeb == aafin) && (mmdeb > mmfin)) {
			document.form2.mskAvbFinDesarm.value = 'error';
			} else if ((aadeb == aafin) && (mmdeb == mmfin) && (jjdeb > jjfin)) {
			document.form2.mskAvbFinDesarm.value = 'error';
			}
		}	else if (datedeb !='' && datefin =='') {
			document.form2.mskAvbFinDesarm.value = 'error';
		}	else if (datedeb =='' && datefin !='') {
			document.form2.mskAvbDebDesarm.value = 'error';
		}
	
if (document.form2.isNeuf[0].checked == false) { //renseignement des valeurs des champs valeur agree et valeur eco
	if (document.form2.TypeValeur[0].checked ==true) {
		document.form2.optAvbTypeValeur.value = 1;
	} else if (document.form2.TypeValeur[0].checked ==false) {
		document.form2.optAvbTypeValeur.value = 0;
	} 
	
} else {
		document.form2.optAvbTypeValeur.value = 2;
		}
	
	
	//alert (document.form2.mskAvbDebDesarm.value);
	//alert (document.form2.mskAvbFinDesarm.value);
	
	var verifie = YY_checkform('form2',
							 'cboTybNom','#q','1','Le Type de Bateau.<br />',
							 'txtBatAnnee','#1111_9999','1','L\'année du bateau.<br />',
							 'txtBatLongueur','#','8','La longueur du bateau.<br />',
							 'cboMatNom','#q','1','Le Matériau.<br />',
							 'txtAvbDeptPort','#q','0','Le Département.<br />',
							 'mskAvbDebDesarm','^\([0-9]{4}\)\\-\([0-9][0-9]\)\\-\([0-9][0-9]\)$#3#2#1','3','La date de début du désarmement à terre doit-être au format jj/mm/aa.<br />',
							 'mskAvbFinDesarm','^\([0-9]{4}\)\\-\([0-9][0-9]\)\\-\([0-9][0-9]\)$#3#2#1','3','La date de fin du désarmement à terre doit-être au format jj/mm/aa et > à la date de début.<br />',
							 'txtAvbValeur','#0_99999999999','8','La valeur totale.<br />',
							 'txtAvbVitesseMax','0_100','8','La vitesse max.<br />',
							 'txtMotAnnee1','1111_9999','1','L\'année du moteur.<br />',
							 'txtMotAnnee2','1111_9999','1','L\'année du moteur.<br />',
							 'txtMotPuissance1','#0_99999','8','La puissance du moteur.<br />',
							 'txtMotPuissance2','0_99999','8','La puissance du moteur.<br />',
							 'txtMotValeur1','0_999999','8','La valeur du moteur.<br />',
							 'txtMotValeur2','0_999999','8','La valeur du moteur.<br />',
							 'txtAnnAnnee','1111_9999','1','L\'année de l\'annexe.<br />',
							 'txtAnnLongueur','','8','La longueur de l\'annexe.<br />',
							 'txtAnnValeur','0_999999','8','La valeur de l\'annexe.<br />',
							 'txtMotAnneeA1','1111_9999','1','L\'année du moteur de l\'annexe.<br />',
							 'txtMotPuissanceA1','0_999999999','8','La puissance du moteur de l\'annexe.<br />',
							 'txtMotValeurA1','0_999999','8','La valeur du moteur de l\'annexe.<br />');
		return (verifie);

}

function validForm3() { //validation des champs du form3 avant submit
	
	if (document.form3.chkGarIndMarine.checked == true) {
		var conditionIMNb = '#1_999999';
	} else {
		var conditionIMNb = '0_999999';
	}
	if (document.form3.chkGarRCPassager.checked == true) {
		var conditionRCNb = '#1_999999';
	} else {
		var conditionRCNb = '0_999999';
	}
	if (document.form3.chkGarAugVol.checked == true) {
		var conditionMtVol = '#1_999999';
	} else {
		var conditionMtVol = '0_999999';
	}
	if (document.form3.chkGarAugEffet.checked == true) {
		var conditionMtEffet = '#1_999999';
	} else {
		var conditionMtEffet = '0_999999';
	}
	
	var verifie = YY_checkform('form3',
							'txtGarMtMatVoile','0_999999','8','Le montant des Mât voile et gréement.<br />',
							'txtGarIMNbPassager',conditionIMNb,'7','Le nombre de passagers individuelle Marine est obligatoire.<br />',
							'txtGarMtVol',conditionMtVol,'7','Le capital Arm. & Accessoires Nav est obligatoire.<br />',
							'txtGarMtEffet',conditionMtEffet,'7','Le capital des Biens et effets personnels est obligatoire.<br />',
							'txtGarRCNbPassager',conditionRCNb,'7','Le nombre de passagers RC est obligatoire.<br />');
	
	return (verifie);
	}


function fAffich(pEltNameAct, pEltNameMod, pElt1, pElt2) { //Affichage des div generiques (jusquà 4 params : nom de l'acteur, nom de l'elt à modifier, 2 valeurs à initialiser.)
			var objAct = MM_findObj(pEltNameAct);
			var objMod = MM_findObj(pEltNameMod);
			
			if (pElt1 !='') {
				var objElt1 = MM_findObj(pElt1);
			}
			if (pElt2 !='') {
				var objElt2 = MM_findObj(pElt2);
			}
			
	if ((objAct.checked == true) && (objMod.style.visibility == 'hidden')) {
		MM_changeProp(pEltNameMod,'','style.visibility','visible','DIV');
	}

	else if ((objAct.checked == false) && (objMod.style.visibility == 'visible')) {
		MM_changeProp(pEltNameMod,'','style.visibility','hidden','DIV');
		if (pElt1 !='') {
				objElt1.value = '';
			}
			if (pElt2 !='') {
				objElt2.value = '';
			}
	}
	
}

function fAffich2(pEltNameAct, pEltNameMod, pEltNameMod2) { //Affichage des div du form2 (evt onclick)
			var objAct = MM_findObj(pEltNameAct);
			var objMod = MM_findObj(pEltNameMod);
			var objMod2 = MM_findObj(pEltNameMod2);
			
			
	
	if ((objAct[0].checked == true) && (objMod.style.visibility == 'hidden')) {
		MM_changeProp(pEltNameMod,'','style.visibility','visible','DIV');
		MM_changeProp(pEltNameMod2,'','style.visibility','hidden','DIV');
	}

	else if ((objAct[0].checked == false) && (objMod.style.visibility == 'visible')) {
		MM_changeProp(pEltNameMod,'','style.visibility','hidden','DIV');
		MM_changeProp(pEltNameMod2,'','style.visibility','visible','DIV');
	}
	
}


function initForm1() {	//initialisation de l'Affichage des div du form1 (evt onload)
	var objchkAssure = MM_findObj('chkAssure');

	
	if (objchkAssure.checked==true) {
		MM_changeProp('infosAssure','','style.visibility','visible','DIV');
		}

}

function fType() {
	if ((document.form2.optAvbTypeValeur.value == 1) || (document.form2.optAvbTypeValeur.value == 0)) { 
		document.form2.isNeuf[1].checked = true;
	}
	else if (document.form2.optAvbTypeValeur.value == 2) {
		document.form2.isNeuf[0].checked = true;
	}
		if (document.form2.optAvbTypeValeur.value == 1) { 
		document.form2.TypeValeur[0].checked = true;
		}
		if (document.form2.optAvbTypeValeur.value == 0) { 
		document.form2.TypeValeur[1].checked = true;
		}
	
}

function initForm2() {	//initialisation de l'Affichage des div du form2 (evt onload)
	
	fType();
	fAffich2('isNeuf', 'neuf', 'occas');
}

function initForm3() {	//initialisation de l'Affichage des div du form3 (evt onload)
	var objZoneNav = MM_findObj('optGarZoneNav');
	var objUsage = MM_findObj('optGarUsage');
	var objGarIndMarine = MM_findObj('chkGarIndMarine');
	var objGarAugVol = MM_findObj('chkGarAugVol');
	var objAugEffet = MM_findObj('chkGarAugEffet');
	var objMatVoile = MM_findObj('chkGarMatVoile');
	var objRCPassager = MM_findObj('chkGarRCPassager');
	var objPolAssureAnte = MM_findObj('chkPolAssureAnte');
	
	
	
	if (objPolAssureAnte.checked==true) {
		MM_changeProp('SinAnte','','style.visibility','visible','DIV');
		}

	if (objGarIndMarine.checked==true) {
		MM_changeProp('IMNbPass','','style.visibility','visible','DIV');
		}

		if (objGarAugVol.checked==true) {
		MM_changeProp('MtVol','','style.visibility','visible','DIV');
		}
		
		if (objAugEffet.checked==true) {
		MM_changeProp('MtEffet','','style.visibility','visible','DIV');
		}

	if (objMatVoile.checked==true) {
		MM_changeProp('MatVoile','','style.visibility','visible','DIV');
		}
		
		if (objRCPassager.checked==true) {
		MM_changeProp('RCNbPass','','style.visibility','visible','DIV');
		}
		

	if (objZoneNav[2].checked==true) {
		MM_changeProp('zone','','style.visibility','visible','DIV');
		}
		
	if (objUsage[6].checked==true) {
		MM_changeProp('LocId','','style.visibility','visible','DIV');
		}
}