/*
*	number_format()
*	version du 18/08/2008
*
*	Equivalent JavaScript de la fonction PHP number_format()
*	Retourne le nombre au format demande
*	Par defaut, le nombre est en notation anglaise (1234.5 => 1,234)
*
*	- nombre : nombre a afficher
*	- nbDecimales : nombre de decimales a afficher
*			valeur par defaut : 0
*	- sepDecimales : chaine de caracteres pour separer la partie entiere et la partie decimale
*			valeur par defaut : "."
*	- sepMilliers : chaine de caracteres pour separer les milliers
*			valeur par defaut : ","
*/
number_format = function(nombre, nbDecimales, sepDecimales, sepMilliers)
{
	// Valeurs par défaut
	if (nbDecimales == null || isNaN(nbDecimales) || nbDecimales < 0)
		nbDecimales = 0;
	if (sepDecimales == null)
		sepDecimales = ".";
	if (sepMilliers == null)
		sepMilliers = ",";
	
	// Variable pour le nombre de decimales
	var arrondi = 1;
	for (var i = 0; i < nbDecimales; ++i)
		arrondi *= 10;
	
	// Calculs des decimales en arrondissant au nombre de decimales voulu
	var entier = parseInt(nombre, 10);
	var decimal = nombre - entier;
	var decimal_result = Math.abs(parseInt(Math.round(decimal * arrondi), 10));
	
	// Separation des milliers
	var strEntier = entier + "";
	var nbChiffres = 0;
	for (var i = strEntier.length - 1; i >= 0; --i)
	{
		if ((strEntier.length - i) % 4 == 0)
			strEntier =
				strEntier.substr(0, i + 1) +
				sepMilliers +
				strEntier.substr(i + 1, strEntier.length - (i + 1));
	}
	if (nbDecimales == 0)
		return strEntier;
	
	// Ajout des zeros pour respecter le nombre de decimales voulu
	var strDecimales = decimal_result + "";
	while(strDecimales.length < nbDecimales)
	{
		if (decimal_result < arrondi / 10)
			strDecimales = "0" + strDecimales;
		else
			strDecimales += "0";
	}
	
	return strEntier + sepDecimales + strDecimales;
}