﻿/**
 * @author shuet
 */
var Fonctions = {
	formatNumber : function (tampon) {
		tampon = String(tampon).replace(/,/gi, ".");
		tampon = tampon.replace(/ /gi, "");
		for(var i=1;i<tampon.length;i++)
		{tampon=tampon.replace(String.fromCharCode(160),'');}
		tampon = tampon.replace(/e/gi, "###");
		if(tampon.slice(0,1)=='-' || tampon.slice(0,1)=='+'){
			signe=tampon.slice(0,1);
			tampon=tampon.substring(1,tampon.length);
		}
		else{
			signe='';
		}
	
		if (isNaN(tampon) || tampon == "") tampon = "0";
		var nb_decimals = 3;
		
		if (tampon.indexOf(".") == -1) tampon += ".000";
		var tablo_tampon = tampon.split(".");
		
		// Traitement de decimaux
		if (tablo_tampon[1].length < nb_decimals)
		{
			var limit = 0;
			while (tablo_tampon[1].length < nb_decimals && limit++ < nb_decimals+2)
			{
				tablo_tampon[1] = tablo_tampon[1] + "0";
			}	
		}else{
			quatrieme_decimale = tablo_tampon[1].substr(4, 1);
			tablo_tampon[1] = tablo_tampon[1].substr(0, 3);
			if (quatrieme_decimale >= 5) {
				tablo_tampon[1] = parseInt(tablo_tampon[1]) + 1;
			}
		}
	
		// Traitement de la partie entiere
		var retour_entier = "";
		for (var i=0; i<=tablo_tampon[0].length; i++) {
			if ((i-1) % 3 == 0 && i>1) retour_entier = " " + retour_entier;
			retour_entier = tablo_tampon[0].substr(tablo_tampon[0].length-i, 1) + "" + retour_entier;
		}
		tablo_tampon[0] = retour_entier;
		tampon = signe + tablo_tampon[0] + "," + tablo_tampon[1];
	
		return tampon;
	},

	/**
	 * Ajoute un maxlength aux textarea
	 * @param element : le textarea
	 * @param maxlength : le maximum
	 */
	gererMaxlengthTextarea: function (element, maxlength) {
		element.addEvent('keyup', function () {
			if ( element.value.length > maxlength ) {
				element.value = element.value.substring(0, maxlength);
			}
		});
	},
	
	/**
	 * A partir d'un nombre brut, on retourne un nombre exploitable en JS et arrondi
	 * @param nombre : le nombre à traiter
	 * @param nb_decimales : nombre de décimales arrondies (par défaut 2)
	 */
	nettoyerNombre: function (nombre, nb_decimales) {
		if ( nb_decimales == null ) {
			nb_decimales = 2;
		}
		nombre = parseFloat(nombre.replace(',', '.'));
		// Arrondi
		nombre = Math.round(Math.pow(10, nb_decimales) * nombre) / Math.pow(10, nb_decimales);
		return nombre;
	},
	
	afficherPopin: function () {
		if ( !$('div_floue') ) {
			var div_floue = new Element('div');
			div_floue.set({'id': 'div_floue'});
			$('page').adopt(div_floue);
			div_floue.fade(0, 0.4);
			
			var popin = new Element('div');
			popin.set({'id': 'popin'});
			
			$('page').adopt(popin);
			popin.fade(0, 1);
			
			var croix = new Element('img');
			croix.set({'src': './images/application/fermer-popin.png', 'id': 'fermer_popin', 'alt':'X'});
			croix.addEvent('click', Fonctions.cacherPopin);
			$('page').adopt(croix);
			croix.fade(0, 1);

			div_floue.addEvent('click', Fonctions.cacherPopin);
		}
	},
	
	cacherPopin: function () {
		if ( $('div_floue') ) {
			$('fermer_popin').destroy();
			$('popin').destroy();
			$('div_floue').destroy();
		}
	}
	
};
