
/*---------------------------------------------------
	strToDate()
	
transforme une chaîne 'JJ/MM/AAAA' en date
---------------------------------------------------*/

function strToDate(datstr) {
	var str = new String(datstr);
	var tab = str.split(/\/|-/);
	var dt = new Date(tab[2], parseInt(tab[1], 10) - 1, tab[0]);
	return dt;
}

/*---------------------------------------------------
	strToDateTime()
	
transforme une chaîne 'JJ/MM/AAAA HH:MM:SS' en date
---------------------------------------------------*/

function strToDateTime(datstr) {
	var str = new String(datstr);
	var tab = str.split(" ");
	var tabd = tab[0].split(/\/|-/);
	var tabh = tab[1].split(/:/);
	var dt = new Date(tabd[2], parseInt(tabd[1], 10) - 1, tabd[0], tabh[0], tabh[1], (tabh[2] != null) ? tabh[2] : 0);
	return dt;
}

/*---------------------------------------------------
	dateToStr()
	
Fonction de conversion d'une date en chaîne au format
	DD/MM/YYYY

---------------------------------------------------*/
function dateToStr(dateValue) {
	var dt = new Date(dateValue);
	return String(dt.getDate()+100).substr(1,2) + "/"
		+ String(dt.getMonth()+101).substr(1,2) + "/"
		+ String(dt.getFullYear());
}

/*---------------------------------------------------
	dateTimeToStr()
	
Fonction de conversion d'une date en chaîne au format
	DD/MM/YYYY hh:mm

---------------------------------------------------*/

function dateTimeToStr(dateValue) {
	var dt = new Date(dateValue);
	return String(dt.getDate()+100).substr(1,2) + "/"
		+ String(dt.getMonth()+101).substr(1,2) + "/"
		+ String(dt.getFullYear())
		+ " "
		+ String(dt.getHours()+100).substr(1,2) + ":"
		+ String(dt.getMinutes()+100).substr(1,2);
}

/*---------------------------------------------------
	dateTimeToStrEx()
	
Fonction de conversion d'une date en chaîne au format
	DDMMYYYY hh:mm
Le séparateur de date est passé en paramètre et peut être une chaîne vide.

---------------------------------------------------*/

function dateTimeToStrEx(dateValue, sep1) {
	var dt = new Date(dateValue);
	sep1 = String(sep1).charAt(0);
	return String(dt.getDate()+100).substr(1,2) + sep1
		+ String(dt.getMonth()+101).substr(1,2) + sep1
		+ String(dt.getFullYear())
		+ " "
		+ String(dt.getHours()+100).substr(1,2) + ":"
		+ String(dt.getMinutes()+100).substr(1,2);
}

/*---------------------------------------------------
	Format2D()
	
Fonction de mise en forme d'un nombre avec arrondi à deux décimales
sous forme d'une chaîne de caractères.
- Le séparateur de décimales est le point.
- il y a toujours deux chiffres après la virgule
Remarque : moins complète que Virgule2()

---------------------------------------------------*/
function Format2D(val) {
	var tmp = val * 100.00;
	tmp = String(Math.round(tmp));
	return tmp.substr(0, tmp.length - 2) + "." + tmp.substr(tmp.length - 2, 2);
}

var tab10p = new Array(1.0, 10.0, 100.0, 1000.0, 10000.0, 10000.0, 100000.0);

/*---------------------------------------------------
	Virgule2()
	
Fonction de mise en forme d'un nombre avec arrondi à deux décimales
sous forme d'une chaîne de caractères.
- Le séparateur de décimales est le point.
- il y a toujours deux chiffres après la virgule

---------------------------------------------------*/
function Virgule2 (nombre)
{
	var chainedebut = "";
	if(nombre == 0)
		return "0.00";
	if(nombre == "undefined")
		return "NP";
	
	var sgn = "";
	if ( nombre < 0 ) 
	{
		sgn = "-";
		nombre = -nombre;
	}
		
	var nombre_tmp	= new Number(Math.round(nombre * 100));
	var chaine		= new String(nombre_tmp.toString());

	if( nombre_tmp < 100 )
		chainedebut = "0";
	else
		chainedebut	= chaine.substr(0, chaine.length-2);

	if( parseInt(chaine,10) < 10 )
		chaine = "0" + chaine;

	var chainefin	= new String(chaine.substr(chaine.length-2, chaine.length));

	var resultat	= new String(sgn + chainedebut + "." + chainefin);

	return resultat;
}
	
/*---------------------------------------------------
	Virgule3()
	
Fonction de mise en forme d'un nombre avec arrondi à trois décimales
sous forme d'une chaîne de caractères.
- Le séparateur de décimales est le point.
- il y a toujours trois chiffres après la virgule

---------------------------------------------------*/
function Virgule3 (nombre)
{
	var chainedebut = "";
	if(nombre == 0)
		return "0.000";
	if(nombre == "undefined")
		return "NP";
		
	var sgn = "";
	if ( nombre < 0 ) 
	{
		sgn = "-";
		nombre = -nombre;
	}

	var nombre_tmp	= new Number(Math.round(nombre * 1000));
	var chaine		= new String(nombre_tmp.toString());

	if( nombre_tmp < 1000 )
		chainedebut = "0";
	else
		chainedebut	= chaine.substr(0, chaine.length-3);

	if( parseInt(chaine,10) < 100 )
		chaine = "0" + chaine;

	if( parseInt(chaine,10) < 10 )
		chaine = "0" + chaine;

	var chainefin	= new String(chaine.substr(chaine.length-3, chaine.length));

	var resultat	= new String(sgn + chainedebut + "." + chainefin);

	return resultat;
}

/*---------------------------------------------------
	Arrondi()
	
Fonction retournant la valeur arrondi de nombre à ndec décimales.
(0 <= ndec <= 6)

---------------------------------------------------*/

function Arrondi (nombre, ndec) {
	var tpuiss10 = new Array(1, 10, 100, 1000, 10000, 100000, 1000000);
	var tmp = parseFloat(nombre);
	if (ndec >= 0) {
		tmp = Math.round(tmp * tpuiss10[ndec]) / tpuiss10[ndec];
	}
	if (ndec < 0) {
		tmp = Math.round(tmp / tpuiss10[-ndec]) * tpuiss10[-ndec];
	}
	return tmp;
}

// fonction supprimant les espaces eventuels a la fin d'une chaîne
function RTrim(str) {
	var tmp = new String(str);
	var ix = tmp.length - 1;
	while (tmp.charAt(ix) == ' ') {
		ix--;
		if (ix < 0) break;
	}
	return tmp.substr(0, ix + 1);
}

function show_layer(nom)
{
	var obj = document.getElementById(nom);
	if (obj != null)
	{
		obj.style.display = 'inline';
	}
}

function hide_layer(nom)
{
	var obj = document.getElementById(nom);
	if (obj != null)
	{
		obj.style.display = 'none';
	}
}

function toggle_layer(nom)
{
	var obj = document.getElementById(nom);
	if (obj != null)
	{
	    if (obj.style.display == 'none')    obj.style.display = 'inline';
		else obj.style.display = 'none';
	}
}

