  function confirmer()
   { return confirm("Vous êtes sur le point d'effacer pour de toujours. Confirmer ?  /  Confirm erase?"); }
      
  function set_Villiers()
  {
document.biMar.n0.value = 0;		document.biMar.n1.value = 1;		document.biMar.n2.value = 2;		document.biMar.n3.value = 3;		document.biMar.n4.value = 4;
document.biMar.n5.value = 5; 	document.biMar.n6.value = 6; 	document.biMar.n7.value = 8; 	document.biMar.n8.value = 9; 	document.biMar.n9.value = 11;
document.biMar.n10.value = 15; 	document.biMar.n11.value = 18;	document.biMar.n12.value = 20;	document.biMar.n13.value = 26;	document.biMar.n14.value = 32;
document.biMar.n15.value = 34;	document.biMar.n16.value = 38;	document.biMar.n17.value = 41;	document.biMar.n18.value = 43;	document.biMar.n19.value = 44;
document.biMar.n20.value = 45;	document.biMar.n21.value = 47;	document.biMar.n22.value = 53;	document.biMar.n23.value = 55;	document.biMar.n24.value = 56;
document.biMar.n25.value = 58;	document.biMar.n26.value = 64;	document.biMar.n27.value = 72;	document.biMar.n28.value = 74;	document.biMar.n29.value = 99;
document.biMar.n30.value = 100;	document.biMar.n31.value = 107;	document.biMar.n32.value = 118;	document.biMar.n33.value = 201;	document.biMar.n34.value = 230;
document.biMar.n35.value = ""; 	document.biMar.n36.value = "";	document.biMar.n37.value = "";	document.biMar.n38.value = "";	document.biMar.n39.value = "";

document.biMar.Pn0.value =16;	document.biMar.Pn1.value = 7;	document.biMar.Pn2.value = 5;	document.biMar.Pn3.value = 2;	document.biMar.Pn4.value = 2;
document.biMar.Pn5.value = 1;	document.biMar.Pn6.value = 1;	document.biMar.Pn7.value =  1;	document.biMar.Pn8.value = 2;	document.biMar.Pn9.value = 1;
document.biMar.Pn10.value = 1;	document.biMar.Pn11.value = 1;	document.biMar.Pn12.value = 1;	document.biMar.Pn13.value = 1;	document.biMar.Pn14.value = 1;	
document.biMar.Pn15.value = 2;	document.biMar.Pn16.value = 1;	document.biMar.Pn17.value = 2;	document.biMar.Pn18.value =1;	document.biMar.Pn19.value = 2;
document.biMar.Pn20.value = 2;	document.biMar.Pn21.value = 1;	document.biMar.Pn22.value = 1;	document.biMar.Pn23.value = 1;	document.biMar.Pn24.value = 2;
document.biMar.Pn25.value = 1;	document.biMar.Pn26.value = 1;	document.biMar.Pn27.value = 1;	document.biMar.Pn28.value = 1;	document.biMar.Pn29.value = 1;
document.biMar.Pn30.value = 1;	document.biMar.Pn31.value = 1;	document.biMar.Pn32.value = 2;	document.biMar.Pn33.value = 1;	document.biMar.Pn34.value = 1;
document.biMar.Pn35.value = "";	document.biMar.Pn36.value = "";	document.biMar.Pn37.value = "";	document.biMar.Pn38.value = "";	document.biMar.Pn39.value = "";
}

  function set_Jacquet()
  {
document.biMar.n0.value = 0;		document.biMar.n1.value = 1;		document.biMar.n2.value = 2;		document.biMar.n3.value = 3;		document.biMar.n4.value = 4;
document.biMar.n5.value = 5;		document.biMar.n6.value = 6;		document.biMar.n7.value = 7; 	document.biMar.n8.value = 9; 	document.biMar.n9.value = 14;
document.biMar.n10.value = 15; 	document.biMar.n11.value = 19;	document.biMar.n12.value = 20;	document.biMar.n13.value = 25;	document.biMar.n14.value = 26;
document.biMar.n15.value = 27;	document.biMar.n16.value = 31;	document.biMar.n17.value = 34;	document.biMar.n18.value = 35;	document.biMar.n19.value = 36;
document.biMar.n20.value = 37;	document.biMar.n21.value = 39;	document.biMar.n22.value = 46;	document.biMar.n23.value = 47;	document.biMar.n24.value = 51;
document.biMar.n25.value = 57;	document.biMar.n26.value = 58;	document.biMar.n27.value = 62;	document.biMar.n28.value = 67;	document.biMar.n29.value = 71;
document.biMar.n30.value = 73;	document.biMar.n31.value = 76;	document.biMar.n32.value = 78;	document.biMar.n33.value = 92;	document.biMar.n34.value = 95;
document.biMar.n35.value = 105;	document.biMar.n36.value = 112;	document.biMar.n37.value = 139;	document.biMar.n38.value = 200;	document.biMar.n39.value = "";

document.biMar.Pn0.value = 12;	document.biMar.Pn1.value = 9;	document.biMar.Pn2.value = 3;	document.biMar.Pn3.value = 3;	document.biMar.Pn4.value = 5;
document.biMar.Pn5.value = 1; 	document.biMar.Pn6.value = 2; 	document.biMar.Pn7.value =  2; 	document.biMar.Pn8.value = 4; 	document.biMar.Pn9.value = 3;
document.biMar.Pn10.value = 2;	document.biMar.Pn11.value = 1;	document.biMar.Pn12.value = 2;	document.biMar.Pn13.value = 1;	document.biMar.Pn14.value = 1;	
document.biMar.Pn15.value = 2;	document.biMar.Pn16.value = 1;	document.biMar.Pn17.value = 2;	document.biMar.Pn18.value =2;	document.biMar.Pn19.value = 2;
document.biMar.Pn20.value = 1;	document.biMar.Pn21.value = 1;	document.biMar.Pn22.value = 1;	document.biMar.Pn23.value = 1;	document.biMar.Pn24.value = 1;	
document.biMar.Pn25.value = 1;	document.biMar.Pn26.value = 1;	document.biMar.Pn27.value = 1;	document.biMar.Pn28.value = 1;	document.biMar.Pn29.value = 1;
document.biMar.Pn30.value = 1;	document.biMar.Pn31.value = 1;	document.biMar.Pn32.value = 1;	document.biMar.Pn33.value = 1;	document.biMar.Pn34.value = 1;
document.biMar.Pn35.value = 1;	document.biMar.Pn36.value = 1;	document.biMar.Pn37.value = 1;	document.biMar.Pn38.value = 2;	document.biMar.Pn39.value = "";
}

  function set_Petit()
  {
document.biMar.n0.value = 0;	document.biMar.n1.value = 1;	document.biMar.n2.value = 2;	document.biMar.n3.value = 3;	document.biMar.n4.value = 5;
document.biMar.n5.value = 6;	document.biMar.n6.value = 7;	document.biMar.n7.value = 13;	document.biMar.n8.value = 17;	document.biMar.n9.value = 20;
document.biMar.n10.value = 21; 	document.biMar.n11.value = 22;	document.biMar.n12.value = 25;	document.biMar.n13.value = 27;	document.biMar.n14.value = 37;
document.biMar.n15.value = 38;	document.biMar.n16.value = 39;	document.biMar.n17.value = 44;	document.biMar.n18.value = 53;	document.biMar.n19.value = 68;
document.biMar.n20.value = 70;	document.biMar.n21.value = 72;	document.biMar.n22.value = 77;	document.biMar.n23.value = 105;	document.biMar.n24.value = 110;
document.biMar.n25.value = 135;	document.biMar.n26.value = "";	document.biMar.n27.value = "";	document.biMar.n28.value = "";	document.biMar.n29.value = "";
document.biMar.n30.value = "";	document.biMar.n31.value = "";	document.biMar.n32.value = "";	document.biMar.n33.value = "";	document.biMar.n34.value = "";
document.biMar.n35.value = "";	document.biMar.n36.value = "";	document.biMar.n37.value = "";	document.biMar.n38.value = "";	document.biMar.n39.value = "";

document.biMar.Pn0.value = 7;	document.biMar.Pn1.value = 1;	document.biMar.Pn2.value = 3;	document.biMar.Pn3.value = 1;	document.biMar.Pn4.value = 1;
document.biMar.Pn5.value = 2;	document.biMar.Pn6.value = 1;	document.biMar.Pn7.value =  4;	document.biMar.Pn8.value = 1;	document.biMar.Pn9.value = 1;
document.biMar.Pn10.value = 1;	document.biMar.Pn11.value = 1;	document.biMar.Pn12.value = 1;	document.biMar.Pn13.value = 1;	document.biMar.Pn14.value = 1;	
document.biMar.Pn15.value = 1;	document.biMar.Pn16.value = 1;	document.biMar.Pn17.value = 1;	document.biMar.Pn18.value =1;	document.biMar.Pn19.value = 1;
document.biMar.Pn20.value = 1;	document.biMar.Pn21.value = 1;	document.biMar.Pn22.value = 1;	document.biMar.Pn23.value = 1;	document.biMar.Pn24.value = 1;	
document.biMar.Pn25.value = 1;	document.biMar.Pn26.value = "";	document.biMar.Pn27.value = "";	document.biMar.Pn28.value = "";	document.biMar.Pn29.value = "";
document.biMar.Pn30.value = "";	document.biMar.Pn31.value = "";	document.biMar.Pn32.value = "";	document.biMar.Pn33.value = "";	document.biMar.Pn34.value = "";
document.biMar.Pn35.value = "";	document.biMar.Pn36.value = "";	document.biMar.Pn37.value = "";	document.biMar.Pn38.value = "";	document.biMar.Pn39.value = "";
}

  function get_data()
  {
alert(document.biMar.raw_data.value);

}

  function CalculTotal()
  {
var data_size = 0;
var n = new Array(40);			var Pn = new Array(40);
 n[0]=eval(document.biMar.n0.value);	 Pn[0]=eval(document.biMar.Pn0.value);
 n[1]=eval(document.biMar.n1.value);	 Pn[1]=eval(document.biMar.Pn1.value);
 n[2]=eval(document.biMar.n2.value);	 Pn[2]=eval(document.biMar.Pn2.value);
 n[3]=eval(document.biMar.n3.value);	 Pn[3]=eval(document.biMar.Pn3.value);
 n[4]=eval(document.biMar.n4.value);	 Pn[4]=eval(document.biMar.Pn4.value);
 n[5]=eval(document.biMar.n5.value);	 Pn[5]=eval(document.biMar.Pn5.value);
 n[6]=eval(document.biMar.n6.value);	 Pn[6]=eval(document.biMar.Pn6.value);
 n[7]=eval(document.biMar.n7.value);	 Pn[7]=eval(document.biMar.Pn7.value);
 n[8]=eval(document.biMar.n8.value);	 Pn[8]=eval(document.biMar.Pn8.value);
 n[9]=eval(document.biMar.n9.value);	 Pn[9]=eval(document.biMar.Pn9.value);
n[10]=eval(document.biMar.n10.value);	Pn[10]=eval(document.biMar.Pn10.value);
n[11]=eval(document.biMar.n11.value);	Pn[11]=eval(document.biMar.Pn11.value);
n[12]=eval(document.biMar.n12.value);	Pn[12]=eval(document.biMar.Pn12.value);
n[13]=eval(document.biMar.n13.value);	Pn[13]=eval(document.biMar.Pn13.value);
n[14]=eval(document.biMar.n14.value);	Pn[14]=eval(document.biMar.Pn14.value);
n[15]=eval(document.biMar.n15.value);	Pn[15]=eval(document.biMar.Pn15.value);
n[16]=eval(document.biMar.n16.value);	Pn[16]=eval(document.biMar.Pn16.value);
n[17]=eval(document.biMar.n17.value);	Pn[17]=eval(document.biMar.Pn17.value);
n[18]=eval(document.biMar.n18.value);	Pn[18]=eval(document.biMar.Pn18.value);
n[19]=eval(document.biMar.n19.value);	Pn[19]=eval(document.biMar.Pn19.value);
n[20]=eval(document.biMar.n20.value);	Pn[20]=eval(document.biMar.Pn20.value);
n[21]=eval(document.biMar.n21.value);	Pn[21]=eval(document.biMar.Pn21.value);
n[22]=eval(document.biMar.n22.value);	Pn[22]=eval(document.biMar.Pn22.value);
n[23]=eval(document.biMar.n23.value);	Pn[23]=eval(document.biMar.Pn23.value);
n[24]=eval(document.biMar.n24.value);	Pn[24]=eval(document.biMar.Pn24.value);
n[25]=eval(document.biMar.n25.value);	Pn[25]=eval(document.biMar.Pn25.value);
n[26]=eval(document.biMar.n26.value);	Pn[26]=eval(document.biMar.Pn26.value);
n[27]=eval(document.biMar.n27.value);	Pn[27]=eval(document.biMar.Pn27.value);
n[28]=eval(document.biMar.n28.value);	Pn[28]=eval(document.biMar.Pn28.value);
n[29]=eval(document.biMar.n29.value);	Pn[29]=eval(document.biMar.Pn29.value);
n[30]=eval(document.biMar.n30.value);	Pn[30]=eval(document.biMar.Pn30.value);
n[31]=eval(document.biMar.n31.value);	Pn[31]=eval(document.biMar.Pn31.value);
n[32]=eval(document.biMar.n32.value);	Pn[32]=eval(document.biMar.Pn32.value);
n[33]=eval(document.biMar.n33.value);	Pn[33]=eval(document.biMar.Pn33.value);
n[34]=eval(document.biMar.n34.value);	Pn[34]=eval(document.biMar.Pn34.value);
n[35]=eval(document.biMar.n35.value);	Pn[35]=eval(document.biMar.Pn35.value);
n[36]=eval(document.biMar.n36.value);	Pn[36]=eval(document.biMar.Pn36.value);
n[37]=eval(document.biMar.n37.value);	Pn[37]=eval(document.biMar.Pn37.value);
n[38]=eval(document.biMar.n38.value);	Pn[38]=eval(document.biMar.Pn38.value);
n[39]=eval(document.biMar.n39.value);	Pn[39]=eval(document.biMar.Pn39.value);


for(i=0; i<40; i++)	{ if(n[i]>=0&&Pn[i]>=0)	{data_size=i+1;}}

if(data_size>0){
score=0; innings=0;
for(i=0; i<data_size; i++) {score+=n[i]*Pn[i];	innings+=Pn[i];}
m0=score/innings;
document.biMar.m0.value=m0;

var mu = new Array(data_size);
mu[data_size-1] = Pn[data_size-1]/innings;
for(i=data_size-2; i>=0; i--)	{mu[i]=Pn[i]/innings+mu[i+1];}





//Conjugate gradient
gr=(3-Math.sqrt(5))/2;
delta=Math.pow(10,-7);

rho2b=1/2+m0/(m0+1)*1/2; rho1b=.5; m1b = rho1b/(1-rho1b);	m2b = rho2b/(1-rho2b);
sigma2b= 0;
for(i=1; i<data_size; i++) {sigma2b += Math.pow((m2b-m1b)*mu[i]-(m2b-m0)*Math.pow(rho1b,n[i])-(m0-m1b)*Math.pow(rho2b,n[i]),2)/(m2b-m1b)/(m2b-m1b)/mu[i]}
document.biMar.sigma.value=Math.sqrt(sigma2b);

j=0;g1=0;g2=0;h1=1;h2=0;
while((Math.abs(h1)>delta || Math.abs(h2)>delta) && j<100)
{j++;
document.biMar.eigen1.value=100*rho1b;document.biMar.eigen2.value=100*rho2b;
g1old=g1;g2old=g2;
g1=0;g2=0;
for(i=1; i<data_size; i++)
{
	g0 =  -2*((m2b-m1b)*mu[i]-(m2b-m0)*Math.pow(rho1b,n[i])-(m0-m1b)*Math.pow(rho2b,n[i]))/Math.pow(m2b-m1b,3)/mu[i];
	g1 += g0*(m2b-m0)*m1b*((1+m1b+(m2b/m1b-1)*n[i])*Math.pow(rho1b,n[i])-(m1b+1)*Math.pow(rho2b,n[i]))/rho1b;
	g2 -= g0*(m0-m1b)*m2b*((1+m2b+(m1b/m2b-1)*n[i])*Math.pow(rho2b,n[i])-(1+m2b)*Math.pow(rho1b,n[i]))/rho2b;
}
if(j==1) {h1=g1;} else {h1=g1+((g1-g1old)*g1+(g2-g2old)*g2)/(g1old*g1old+g2old*g2old)*h1;}
if(j==1) {h2=g2;} else {h2=g2+((g1-g1old)*g1+(g2-g2old)*g2)/(g1old*g1old+g2old*g2old)*h2;}

rho1a=rho1b; rho2a=rho2b; m1a = m1b;	m2a = m2b; sigma2a=sigma2b;
rho1b=rho1a-h1/200; rho2b=rho2a-h2/200; 
while(rho2b>.999) {//alert("rho2b>.999 : " + rho2b);
	rho1b=rho1a+(rho1b-rho1a)/1.2;rho2b=rho2a+(rho2b-rho2a)/1.2;}
m1b = rho1b/(1-rho1b);	m2b = rho2b/(1-rho2b);
sigma2b= 0;
for(i=1; i<data_size; i++) {sigma2b += Math.pow((m2b-m1b)*mu[i]-(m2b-m0)*Math.pow(rho1b,n[i])-(m0-m1b)*Math.pow(rho2b,n[i]),2)/(m2b-m1b)/(m2b-m1b)/mu[i]}
if(sigma2b < sigma2a)
{
	rho1c=rho1a+(rho1b-rho1a)*1.1;rho2c=rho2a+(rho2b-rho2a)*1.1; if(rho2c>.999) {rho1c=rho1a+(rho1b-rho1a)*1.01;rho2c=rho2a+(rho2b-rho2a)*1.01;} m1c = rho1c/(1-rho1c);	m2c = rho2c/(1-rho2c);
	sigma2c= 0;
	for(i=1; i<data_size; i++) {sigma2c += Math.pow((m2c-m1c)*mu[i]-(m2c-m0)*Math.pow(rho1c,n[i])-(m0-m1c)*Math.pow(rho2c,n[i]),2)/(m2c-m1c)/(m2c-m1c)/mu[i]}
}
 else 
{
	rho1c=rho1b; rho2c=rho2b; sigma2c=sigma2b; m1c=m1b; m2c=m2b;
	rho1b=rho1a+(rho1c-rho1a)/5; rho2b=rho2a+(rho2c-rho2a)/5; m1b = rho1b/(1-rho1b);	m2b = rho2b/(1-rho2b);
	sigma2b= 0;
	for(i=1; i<data_size; i++) {sigma2b += Math.pow((m2b-m1b)*mu[i]-(m2b-m0)*Math.pow(rho1b,n[i])-(m0-m1b)*Math.pow(rho2b,n[i]),2)/(m2b-m1b)/(m2b-m1b)/mu[i]}
}
while(sigma2b > sigma2a)
{
	rho1c=rho1b; rho2c=rho2b; sigma2c=sigma2b; m1c=m1b; m2c=m2b;
	rho1b=rho1a+(rho1c-rho1a)/5; rho2b=rho2a+(rho2c-rho2a)/5; m1b = rho1b/(1-rho1b); m2b = rho2b/(1-rho2b);
	sigma2b= 0;
	for(i=1; i<data_size; i++) {sigma2b += Math.pow((m2b-m1b)*mu[i]-(m2b-m0)*Math.pow(rho1b,n[i])-(m0-m1b)*Math.pow(rho2b,n[i]),2)/(m2b-m1b)/(m2b-m1b)/mu[i]}
}
while(sigma2b > sigma2c)
{
	rho1b=rho1c; rho2b=rho2c; sigma2b=sigma2c; m1b=m1c; m2b=m2c;
	rho1c=rho1a+1.1*(rho1b-rho1a); rho2c=rho2a+1.1*(rho2b-rho2a); if(rho2c>.999) {rho1c=rho1a+(rho1b-rho1a)*1.01;rho2c=rho2a+(rho2b-rho2a)*1.01;} m1c = rho1c/(1-rho1c); m2c = rho2c/(1-rho2c);
	sigma2c= 0;
	for(i=1; i<data_size; i++) {sigma2c += Math.pow((m2c-m1c)*mu[i]-(m2c-m0)*Math.pow(rho1c,n[i])-(m0-m1c)*Math.pow(rho2c,n[i]),2)/(m2c-m1c)/(m2c-m1c)/mu[i]}
}

k=0;
while((Math.abs(sigma2b-sigma2a)>delta || Math.abs(sigma2b-sigma2c)>delta)&& k<50)
{k++;
	if(Math.pow(rho1b-rho1a,2)+Math.pow(rho2b-rho2a,2)>Math.pow(rho1b-rho1c,2)+Math.pow(rho2b-rho2c,2))
		{side="a";rho1d=rho1b+(rho1a-rho1b)*gr;	rho2d=rho2b+(rho2a-rho2b)*gr; m1d = rho1d/(1-rho1d); m2d = rho2d/(1-rho2d);}
	else 	{side="c";rho1d=rho1b+(rho1c-rho1b)*gr;	rho2d=rho2b+(rho2c-rho2b)*gr; m1d = rho1d/(1-rho1d); m2d = rho2d/(1-rho2d);}
	sigma2d= 0;
	for(i=1; i<data_size; i++) {sigma2d += Math.pow((m2d-m1d)*mu[i]-(m2d-m0)*Math.pow(rho1d,n[i])-(m0-m1d)*Math.pow(rho2d,n[i]),2)/(m2d-m1d)/(m2d-m1d)/mu[i]}
	if(sigma2d < sigma2b)
		{rho1b=rho1d; rho2b=rho2d; sigma2b=sigma2d; m1b=m1d; m2b=m2d;
		if(side=="c")
			{rho1a=rho1b; rho2a=rho2b; sigma2a=sigma2b; m1a=m1b; m2a=m2b;}
		else	{rho1c=rho1b; rho2c=rho2b; sigma2c=sigma2b; m1c=m1b; m2c=m2b;}
		}
	 else 	{if(side=="a")
			{rho1a=rho1d; rho2a=rho2d; sigma2a=sigma2d; m1a=m1d; m2a=m2d;}
		else	{rho1c=rho1d; rho2c=rho2d; sigma2c=sigma2d; m1c=m1d; m2c=m2d;}
		}
}
document.biMar.eigen1.value=100*rho1b;document.biMar.eigen2.value=100*rho2b;document.biMar.sigma.value=Math.sqrt(sigma2b);
}

rho1=rho1b; rho2=rho2b; m1 = rho1/(1-rho1); m2 = rho2/(1-rho2);avg=m0;

dk1Min = 2*(1+avg)/(1+m1+m2+m1*m2) - 1/(1-avg+m1+m2) - 1;
dk1Max = (1+2*avg-m1)/(1+m1+m2+m1*m2) - 1;

k11Min = -(-m1*m2+(m1+m2-2*avg)*dk1Max+(1+m1)*(1+m2)*dk1Max*dk1Max)/2/(-avg+m2+(1+m2)*(m1+dk1Max*(1+m1)));
k11Max = -(-m1*m2+(m1+m2-2*avg)*dk1Min+(1+m1)*(1+m2)*dk1Min*dk1Min)/2/(-avg+m2+(1+m2)*(m1+dk1Min*(1+m1)));
k21Min = k11Max + dk1Min;
k21Max = k11Min + dk1Max;

k12Min = ((m2-m1)*(m2-m1)-Math.pow(-4*avg+3*m1+3*m2+2*m1*m2+2*(1+m1)*(1+m2)*dk1Max,2))/8/(m1+1)/(m2+1)/(-avg+m2+(1+m2)*(m1+dk1Max*(1+m1)));
k12Max = ((m2-m1)*(m2-m1)-Math.pow(-4*avg+3*m1+3*m2+2*m1*m2+2*(1+m1)*(1+m2)*dk1Min,2))/8/(m1+1)/(m2+1)/(-avg+m2+(1+m2)*(m1+dk1Min*(1+m1)));
k22Min = k12Max + 2 + dk1Min - 2*(1+avg)/(1+m1+m2+m1*m2);
k22Max = k12Min + 2 + dk1Max - 2*(1+avg)/(1+m1+m2+m1*m2);

document.biMar.k11.value=100*(k11Min+k11Max)/2;	document.biMar.dk11.value=100*(k11Max-k11Min)/2;
document.biMar.k12.value=100*(k12Min+k12Max)/2;	document.biMar.dk12.value=100*(k12Max-k12Min)/2;
document.biMar.k21.value=100*(k21Min+k21Max)/2;	document.biMar.dk21.value=100*(k21Max-k21Min)/2;
document.biMar.k22.value=100*(k22Min+k22Max)/2;	document.biMar.dk22.value=100*(k22Max-k22Min)/2;
}

}