<!--
function Tab(n) { 
	this.length = n;
	for(var j=1;j<=n;j++) {
		this[j]=0;
	}
	return this;
}

function ow(name,tit){
	window.open(name,tit,config='toolbar=yes,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=620,height=360,left=150,top=300');
}
function owt1(name,tit){
	window.open(name,tit,config='toolbar=yes,location=no,directories=no,status=no,scrollbars=no,resizable=yes,copyhistory=no,width=520,height=200,left=150,top=300');
}
function owtail(name,tit,heig){
	window.open(name,tit,config='toolbar=yes,location=no,directories=no,status=no,scrollbars=no,resizable=yes,copyhistory=no,width=520,height=280,left=150,top=100');
}
var defaultEmptyOK = false
var decimalPointDelimiter = "."

function isEmpty(s)
{ return ((s == null) || (s.length == 0))
}

function isEmptyOrNull(s)
{return ((isEmpty(s)) || (s == 0))
}

function isDigit (c)
{ return ((c >= "0") && (c <= "9"))
}

function isFloat (s)
{ var i;
var seenDecimalPoint = false;

if (isEmpty(s)) 
 if (isFloat.arguments.length == 1) return defaultEmptyOK;
 else return (isFloat.arguments[1] == true);

if (s == decimalPointDelimiter) return false;
for (i = 0; i < s.length; i++)
{ 
var c = s.charAt(i);
if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
else if (!isDigit(c)) return false;
}
return true;
}

function verif(s)
{
if (isEmpty(s)) return 0;
var c ="";
	var newString = "";
	for (i = 0; i < s.length; i++)
	{ 
	c = s.charAt(i);
			if (c == ",") c=".";
	if (c != "'" && c != " ") newString += c;
	}
if (isEmpty(newString)) newString = 0;
	return newString;
}

function snu(form,ElemName) {
	var SaisieNum= true;
	var Temp = form.elements[ElemName];
	var x;
	if (!isFloat(Temp.value)) {
		SaisieNum = false;
		alert("'" + Temp.value + "'" + " n'est pas valable : saisir une valeur numérique positive.");
		Temp.focus();
		}
    else {
    	if (Temp.value < 0) {
    		SaisieNum = false;
    		alert("'" + Temp.value + "'" + " n'est pas valable : saisir une valeur positive...");
    		Temp.focus();
    		}    
    }
	return SaisieNum;
}
function verilg(form,ElemName,lg) {
	var SaisieOk= true;
	var Temp = form.elements[ElemName];
	if (Temp.value.length > lg) {
		SaisieOk = false;
		alert("'" + Temp.value + "'" + " n'est pas valable : saisir " + lg + " caractères au maximum...");
		Temp.focus();
		}
	return SaisieOk;
}

function CheckDate(form, ElemName) {
    // Cette fonction vérifie sommairement (sans nb jour par mois) le format JJ.MM.AAAA
    var amin=1970; // année mini
    var amax=2008; // année maxi
   var Temp = form.elements[ElemName];    
    var DateData = Temp.value;


    if (isEmpty(DateData)) return true;    
    pos_first_slash = DateData.indexOf(".");
    pos_last_slash  = DateData.lastIndexOf(".");
   
    var j = DateData.substring(0,pos_first_slash);
    var m = DateData.substring( (pos_first_slash +1), pos_last_slash);
    var a = DateData.substring( (pos_last_slash +1 ) , DateData.length);
  
    if (((isNaN(j))||(j<1)||(j>31)) ) {
        alert("La date saisie semble incorrecte. Merci de vérifier.");
        Temp.focus();
        return(false);
    }
    
    if ( ((isNaN(m))||(m<1)||(m>12)) ) {
        alert("La date saisie semble incorrecte. Merci de vérifier.");
        Temp.focus();
        return(false);
    }
    
    if ( ((isNaN(a))||(a<amin)||(a>amax)) ) {
        alert("La date saisie semble incorrecte. Merci de vérifier.");
        Temp.focus();
        return(false);
    }
 /* ---------------------- ne fonctionne pas ------------ 
    ok=1;
    
    if (ok==1) {
        var d2=new Date(a,m-1,j);
        j2=d2.getDate();
        m2=d2.getMonth()+1;
        a2=d2.getFullYear();
        
        if (a2<=100) {a2=1900+a2; alert(a);}
        
        if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date saisie semble incorrecte. Merci de vérifier.");
            Temp.focus();
            return(false);
            verif=1;
        }
        else {
            verif=0;
        }
    }
    
    if (verif==1) return(false);
    else return(true)
----------------------------------------------------- */  
}
// ------- déclaration rente
	trem = new Tab(46);	/* table des rentes : montant */
	trel = new Tab(46);	/* table des rentes : libellé */	
	var rsi = 26520;	// rente simple : base pour le reste
	trem[1]=rsi;trel[1]="Simple";
	trem[2]=parseInt((1.5)*rsi);trel[2]="Couple";	
	trem[3]=parseInt((1+0.3)*rsi);trel[3]="Simple + Compl. épouse";	
	trem[4]=parseInt((0.8)*rsi);trel[4]="Veuve/Veuf";	
	trem[10]=parseInt((1+0.3+0.4)*rsi);trel[10]="Simple + Compl. épouse + 1 orphelin";		
	trem[11]=parseInt((1+0.3+0.4*2)*rsi);trel[11]="Simple + Compl. épouse + 2 orphelins";		
	trem[12]=parseInt((1+0.3+0.4*3)*rsi);trel[12]="Simple + Compl. épouse + 3 orphelins";		
	trem[13]=parseInt((1+0.3+0.4*4)*rsi);trel[13]="Simple + Compl. épouse + 4 orphelins";				
	trem[20]=parseInt((1+0.4)*rsi);trel[20]="Simple + 1 orphelin";
	trem[21]=parseInt((1+0.4*2)*rsi);trel[21]="Simple + 2 orphelins";	
	trem[22]=parseInt((1+0.4*3)*rsi);trel[22]="Simple + 3 orphelins";	
	trem[23]=parseInt((1+0.4*4)*rsi);trel[23]="Simple + 4 orphelins";
	trem[30]=parseInt((0.8+0.4)*rsi);trel[30]="Veuve + 1 orphelin";	
	trem[31]=parseInt((0.8+0.4*2)*rsi);trel[31]="Veuve + 2 orphelins";	
	trem[32]=parseInt((0.8+0.4*3)*rsi);trel[32]="Veuve + 3 orphelins";	
	trem[33]=parseInt((0.8+0.4*4)*rsi);trel[33]="Veuve + 4 orphelins";			
	trem[40]=parseInt((1.5+0.4)*rsi);trel[40]="Rente de couple + 1 orphelin";		
	trem[41]=parseInt((1.5+0.4*2)*rsi);trel[41]="Rente de couple + 2 orphelins";		
	trem[42]=parseInt((1.5+0.4*3)*rsi);trel[42]="Rente de couple + 3 orphelins";
	trem[43]=parseInt((1.5+0.4*4)*rsi);trel[43]="Rente de couple + 4 orphelins";			
	trem[45]=parseInt(0.4*rsi);trel[45]="Simple orphelin";	
	trem[46]=parseInt(0.6*rsi);trel[46]="Double orphelin";		

function CompuForm(form) 
{ 
	var j;
	var SaisieOk = true;
	
	// affecte le nombre de lignes renseignées
	form.nbl.value = 1;
	
	// remplace space par 0 et virgule par point

//form.lb_motif.value = verif(form.tb_motif.value);

// --------------------------------------------------- calcul sur les valeurs entrées

// revenu
form.tb_rev1.value = verif(form.tb_rev1.value);
form.tb_rev2.value = verif(form.tb_rev2.value);
form.tb_rev3.value = verif(form.tb_rev3.value);
form.tb_for3.value = verif(form.tb_for3.value);
form.tb_immo.value = verif(form.tb_immo.value);

	// vérifie numericite
	SaisieOk = snu(form, 'tb_rev1') && snu(form, 'tb_rev2')  && snu(form, 'tb_rev3') && snu(form, 'tb_for3') && snu(form, 'tb_immo');
	if (!SaisieOk) return false;

// revenu
var rev1 = parseInt(form.tb_rev1.value,10);
form.tb_rev1.value = rev1;
var rev2 = parseInt(form.tb_rev2.value,10);
form.tb_rev2.value = rev2;
var rev3 = parseInt(form.tb_rev3.value,10);
form.tb_rev3.value = rev3;

var tb_revtotbrut = rev1 + rev2 + rev3;
form.tb_revtotbrut.value = tb_revtotbrut;

// fortune
var for3 = parseInt(form.tb_for3.value,10);
form.tb_for3.value = for3;
var immo = parseInt(form.tb_immo.value,10);
form.tb_immo.value = immo;

var tb_fortotbrut = for3 + immo;
form.tb_fortotbrut.value = tb_fortotbrut;

// deduction
form.tb_dedrev1.value = verif(form.tb_dedrev1.value);
form.tb_dedrev2.value = verif(form.tb_dedrev2.value);
form.tb_dedrev3.value = verif(form.tb_dedrev3.value);
form.tb_dedrev4.value = verif(form.tb_dedrev4.value);
form.tb_dedfor1.value = verif(form.tb_dedfor1.value);
form.tb_dedrev5.value = verif(form.tb_dedrev5.value);
form.tb_dedfor2.value = verif(form.tb_dedfor2.value);

	SaisieOk = snu(form, 'tb_dedrev1') && snu(form, 'tb_dedrev2')  && snu(form, 'tb_dedrev3') && snu(form, 'tb_dedrev4') && snu(form, 'tb_dedrev5') && snu(form, 'tb_dedfor1') && snu(form, 'tb_dedfor2');
	if (!SaisieOk) return false;    

var tb_dedtotrev = parseInt(form.tb_dedrev1.value,10) + parseInt(form.tb_dedrev2.value,10) + parseInt(form.tb_dedrev3.value,10) + parseInt(form.tb_dedrev4.value,10) + parseInt(form.tb_dedrev5.value,10);
form.tb_dedtotrev.value = tb_dedtotrev;

var tb_dedtotfor = parseInt(form.tb_dedfor1.value,10) + parseInt(form.tb_dedfor2.value, 10);
form.tb_dedtotfor.value = tb_dedtotfor;

if (tb_revtotbrut > tb_dedtotrev)
	form.tb_rnet.value = tb_revtotbrut - tb_dedtotrev;
else
	form.tb_rnet.value = 0;

if (tb_fortotbrut > tb_dedtotfor)
	form.tb_fnet.value = tb_fortotbrut- tb_dedtotfor;
else 
	form.tb_fnet.value = 0;


form.tb_ia.value = verif(form.tb_ia.value);
// deduction
form.tb_charge.value = verif(form.tb_charge.value);
form.tb_demicharge.value = verif(form.tb_demicharge.value);

	// vérifie numericite
	SaisieOk = snu(form, 'tb_charge') && snu(form, 'tb_demicharge') && snu(form, 'tb_rente') && verilg(form, 'tb_charge', 2) && verilg(form, 'tb_demicharge', 2) && snu(form, 'tb_ia');
	// SaisieOk = ;	
	
	if (form.tb_commune.selectedIndex < 1) {
		form.tb_commune.focus();
		alert ("Vous devez saisir une commune !...");
		SaisieOk = false;
		return SaisieOk;	
	}
		
	if (SaisieOk) {
		if (form.rb_monoparentale[1].checked == '1' && (form.tb_charge.value + form.tb_demicharge.value) < 0.1) {
			form.tb_charge.focus();
			alert ("Si famille monoparentale, alors charge ou demi-charge obligatoire.");
			SaisieOk = false;
			return SaisieOk;
		}	
	}
	
	// window.alert ("rente : " + form.tb_rente.value + "** reb :" + form.tb_revenu_brut.value);
	
	if (SaisieOk) {
		if (parseFloat(form.tb_rente.value) > parseFloat(form.tb_revtotbrut.value)) {
			form.tb_rente.focus();
			alert ("Les rentes ne peuvent être supérieures aux revenus bruts.");
			SaisieOk = false;
			return SaisieOk;
		}		
	}	

	if (SaisieOk) {
		if ((parseFloat(form.tb_dedrev5.value) + parseFloat(form.tb_dedfor2.value) > 0 ) && form.tb_dedlib.value.length < 3)  {
			form.tb_dedlib.focus();
			alert ("La nature est obligatoire si un montant figure sur cette ligne.");
			SaisieOk = false;
			return SaisieOk;
		}		
	}	
	
	SaisieOk = SaisieOk && CheckDate(form, "tb_datearrive");
	return SaisieOk;
	
	/* Fin de compuForm */
}

function clearForm(form) {
	form.rb_monoparentale.value = "";
	form.rb_activite.value  	= "";
	form.rb_situation.value  	= "";
	form.cb_tyrente.value  	= "";
	form.tb_rente.value		="";	

	form.tb_rev1.value  	="";
	form.tb_rev2.value  	="";
	form.tb_rev3.value  	="";
	form.tb_revtotbrut.value ="";
	form.tb_fortotbrut.value ="";
	form.tb_dedrev1.value  	="";
	form.tb_dedrev2.value  	="";
	form.tb_dedrev3.value  	="";
	form.tb_dedrev4.value  	="";
	form.tb_dedfor1.value  	="";
	form.tb_dedlib.value  	="";
	form.tb_dedrev5.value 	="";
	form.tb_dedfor2.value 	="";
	form.tb_dedtotrev.value ="";
	form.tb_dedtotfor.value ="";
	form.tb_rnet.value  	="";
	form.tb_fnet.value  	="";
	form.tb_immo.value  	="";
	form.tb_ia.value  		="";
	form.tb_provenance.value ="";
	form.tb_datearrive.value ="";

	form.rb_moins12.value 		="";
	form.tb_charge.value		="";
	form.tb_demicharge.value 	="";
}

function Tab(n) { 
	this.length = n;
	for(var j=1;j<=n;j++) {
		this[j]=0;
	}
	return this;
}
	
// ------- formulaire
// rb_activite rb_situation
function eteint_activite(theForm) {
	theForm.rb_activite[0].checked = ''; 
	theForm.rb_activite[1].checked = '';	
	theForm.rb_activite[2].checked = '';
}
function allume_activite1(theForm) {
	theForm.rb_activite[0].checked = '1'; 
	theForm.rb_activite[1].checked = '';	
	theForm.rb_activite[2].checked = '';
}
// rb_monoparentale rb_situation
function eteint_monoparentale(theForm) {
	theForm.rb_monoparentale[0].checked = ''; 
	theForm.rb_monoparentale[1].checked = '';	
}
function allume_monoparentale2(theForm) {
	theForm.rb_monoparentale[0].checked = ''; 
	theForm.rb_monoparentale[1].checked = '1';	
}
function checkall(theForm,nomchk) {	
	for (i=0,n=theForm.elements.length;i<n;i++) {
		if (theForm.elements[i].name==nomchk) xx=theForm.elements[i].checked;
		for (i=0,n=theForm.elements.length;i<n;i++) 
			if (theForm.elements[i].name.indexOf(nomchk) ==0) theForm.elements[i].checked = xx;
	}
}

function givechoice(s) {	
	for (i=0,n=s.length;i<n;i++) {
		// window.alert("** give len:" + s.length + "*" + s[i].name +"(" + i + "):" + s[i].checked);
		if (s[i].checked) return i;
	}
}
function Dochoice(s1, j) {	
	for (i=0,n=s1.length;i<n;i++) {
		if (i==j) s1[i].checked = '1';	
		else s1[i].checked = '';	
	}
	return true;
}

//-->
