

  function Calculer_Evolution(CP1, CP2, Resultat, K)
  {
	var PARTIE_NON_COMPTABILISEE=100;

 	var Delta=(CP1-CP2);
	var Evolution=new Array(4);

	//var Delta_Max=500*(K-1)/K;
	var Delta_Max=450;
	
	var Cas_De_Figure;

	if (Delta>Delta_Max)
	{
		Cas_De_Figure="Hors Norme";
		Delta=Delta_Max;
	}
	else if (Delta<-Delta_Max)
	{
		Cas_De_Figure="Hors Norme";
		Delta=-Delta_Max;
	}
	else
	{
		Cas_De_Figure="Normal";
	}

	// C'est ici surtout qu'on doit changer la formule si besoin.
	var Pts_Attendus_A_La_Fin= 1 + Delta/500; //0

	switch (Resultat)
	{
		//Seul dans le cas d'un forfait non-excusé la partie est comptabilisée.
		case "2" : Pts_Realises=2;break;
		case "1" : Pts_Realises=1;break;
		case "0" : Pts_Realises=0;break;
		case "2fne" : Pts_Realises=2;break;
		case "0fne" : Pts_Realises=0;break;

		case "-" : Pts_Realises=PARTIE_NON_COMPTABILISEE;Afficher_Pts_Attendus=true;break;
		case "2fe" : Pts_Realises=PARTIE_NON_COMPTABILISEE;Afficher_Pts_Attendus=false;break;
		case "0fe" : Pts_Realises=PARTIE_NON_COMPTABILISEE;Afficher_Pts_Attendus=false;break;
		case "0r" : Pts_Realises=PARTIE_NON_COMPTABILISEE;Afficher_Pts_Attendus=false;break;
		case "0df" : Pts_Realises=PARTIE_NON_COMPTABILISEE;Afficher_Pts_Attendus=false;break;
	}
	
	if ( CP2==0 )	 //Delta>500 || Delta<-500 ||
	{
		Pts_Realises=PARTIE_NON_COMPTABILISEE;
	}

	if (Pts_Realises==PARTIE_NON_COMPTABILISEE)
	{	
		//alert(CP1 + " - " + CP2 + " - " +  Resultat);
		Evolution[0]=0;
		Pts_Attendus=0;
		if (CP1==0 || CP2==0)
		{
			Afficher_Pts_Attendus=false;
		}
		if (Afficher_Pts_Attendus==false)
		{
			Pts_Attendus=-10000;
			Pts_Attendus_A_La_Fin=-10000;
		}
		Evolution[3]=0; // Signifie que la partie n'est pas comptabilisée
	}
	else
	{
		if (CP1==0)
		{
			Evolution[0]=0;
			Pts_Attendus=-10000;
			Pts_Attendus_A_La_Fin=-10000;
			Pts_Attendus=0;
		}
		else if (Cas_De_Figure=="Normal")
		{
			Evolution[0]=(Pts_Realises-Pts_Attendus_A_La_Fin)*K;
			Pts_Attendus=Pts_Attendus_A_La_Fin;
			//Pts_Attendus=0;
		}
		else if (Cas_De_Figure=="Hors Norme")
		{
			Evolution[0]=(Pts_Realises-Pts_Attendus_A_La_Fin)*K;
			Pts_Attendus=Pts_Attendus_A_La_Fin;			
			//Pts_Attendus=0;			
		}
		Evolution[3]=1; // Signifie que la partie est comptabilisée
	}

	Evolution[1]=Pts_Attendus_A_La_Fin;
	Evolution[2]=Pts_Attendus;

	return Evolution;

  }


function Calculer_Performance(MCP_Rencontres, Pts, Nb_Parties)
  {

	if (Nb_Parties<=4) return 0;
	else return MCP_Rencontres + (Pts-Nb_Parties)/Nb_Parties * 500; 
	//else return 0; 

  }
  
  
function Estimer_Adversaires(CP, Pts, Nb_Parties)
  {
	// Estime la valeur des adversaires non classées
	// Et se servira de cette estimation ensuite.

	if (Nb_Parties<=4) return 0;
	else 
	{
			return CP + (Nb_Parties-Pts) / Nb_Parties * 500; 
	}

  }
  
function Equivalent_CP(Rating_FMJD)
{
	return  Math.floor(1.5 * Rating_FMJD - 1065); // 2130 + (Rating_FMJD-2130) * 1.5
}