/************************************************************************/
/* utilsLesMarches.js -> Divers fonctions utilisées pour les marchés	*/
/* Developpeur  :  LE BERRE Servane										*/
/* Société 	    :  PROCAPITAL											*/
/* Dernère Modif:  29/09/2004											*/
/************************************************************************/
function blocLigneCouleur( libelle, score, couleur )
{
	var color_text = "black";
	if (couleur == "green")color_text = "white";
	if (score == null || score == "null")
		return("&nbsp");
	else
		return	"<td align='center' width='"
				+ score * 5
				+ "px' style='color:"+color_text + ";background-color:"
				+ couleur
				+ "'>" + ((score!=0)?score:"") + "</td>";
}

function blocCouleur( libelle, score, couleur )
{
	if (score == null || score == "null")
		return("&nbsp");
	else
		return	"<table width='200px' border='0' cellspacing='1' cellpadding='0'><tr><td width='110px'><b>"
				+ libelle
				+ "</b></td><td align='right' width='"
				+ score * 10
				+ "px' style='background-color:"
				+ couleur
				+ "'></td>"
				+ "<td align='left' style='color:"
				+ couleur
				+ "' width='"
				+ ( 90 - score * 10 )
				+ "px'>"
				+ score
				+ "</td></tr></table>";
}

function calculBeta(cours, benef)
{
	if (cours == null || benef == null || benef == 0)
		return("");
	var beta = afficheNombre(cours/benef,2);
	if (beta<0)
		beta = "-Négatif-";
	return(beta);
}
function calculPotentiel(objectif, cours)
{
	if (objectif == "" || cours == "" || objectif == "n/a")
		return("");
	var res = objectif - cours;
	res = res / cours * 100;
	return (res + "%");
}

function verifTitre(titre)
{
	//alert(titre);
	var titreF = "";
	titreF = titre.replace(/[\x2A\x0A\x0D\x09\x23\x7C]/g, ""); // \x23 = # \x7C = |
	titreF = titre.replace(/\"/g, "\\\"");
	titreF = titre.replace( /\x27/g, "&#039;" );
	titreF = titre.replace( /\'/g, "&#039;" ); //'
	titreF = titre.replace( /&apos;/g, "&#039;" );
	return(titreF);
}

function plisin_complet(plisin)
{
	while((plisin.split("_")[0]).length < 3)
		plisin = "0" + plisin;
	return plisin;
}

function tendance(nomVar)
{
	if (nomVar ==null || nomVar == "") return "";
	else{
		if (nomVar <= 2) return ("/static/FRT5.2/images/fleche_3_baisse.gif");
		else if (nomVar == 3) return ("/static/FRT5.2/images/fleche_2_neutre.gif");
		else if (nomVar > 3) return ("/static/FRT5.2/images/fleche_1_hausse.gif");
	}
}

function verifDerniereDate( lastDate, newDate ) 
{
	if ( lastDate[0] > newDate[0] )
		return lastDate;
	if ( lastDate[1] > newDate[1] )
		return lastDate;
	return newDate;
}
function transformeHeure(heure)
{
	if (heure == null || heure == "")
		return("");
	var d = new Array();
	while (heure.length < 6) 
		heure = "0" + heure;
	for(var i=0; i<10; i++)
		d = heure.split("");
	return( d[0] + d[1] + ":" + d[2] + d[3]);
}

/*
function getQuotient(sommeQuotient, nb_analystes, type)
{
	var quotient = parseInt(sommeQuotient);
	var q = quotient/nb_analystes;
	if(sommeQuotient == 0 || nb_analystes == 0)
		q = 0.002;
	if (type == "chiffre")
		return (afficheNombre(q,2));
	if (type == "couleur")
	{
	  	var res;
		if ( q > 1 ) 
		{
	    	if ( q > 2 ) coul = "green";
	    	else coul = "lightgreen";
	    } 
	    else if ( q < 0 ) 
	    {
	    	if ( q < -2 ) coul = "red";
	   		else coul = "orange";
	    } 
	    else if ( q >= 0) coul = "yellow";
	    else coul = "white";
	 
	   return	"_<div align='center' width='10px'"
				+ "style='color:black;background-color:"
				+ coul
				+ "'>" + afficheNombre(q,2) + "</div>";
	}
	if (type == "texte")
	{
		if ( nb_analystes == 0 )
			return ("&nbsp;");
		if ( q > 1 ) 
		{
	    	if ( q > 2 ) return ("<span style='background-color:green;'>&nbsp;Acheter </span>");
	    	else return ("<span style='background-color:lightgreen'>&nbsp;Surpondérer </span>");
	    } 
	    else if ( q < 0 ) 
	    {
	    	if ( q < -2 ) return ("<span style='background-color:red;'>&nbsp;Vendre </span>");
	   		else return ("<span style='background-color:orange'>&nbsp;Souspondérer </span>");
	    } 
	    else if ( q >= 0) return ("<span style='background-color:yellow'>&nbsp;Conserver </span>");
	    else return ("<span style='background-color:yellow'>&nbsp;Conserver </span>");
	}
}

*/

function getQuotient2(sommeQuotient, type)
{
	var q = parseFloat(sommeQuotient);
	var color_text = "black";
	
	if (type == "chiffre")
		return (afficheNombre(q,2));
	
	if (type == "couleur")
	{
	  		
		if ( q <=1.30 ){ 
			coul = "green";
			color_text = "white";
  		}else if ( (q > 1.30) &&(q <=1.75) ) coul = "lightgreen";
  		else if ( (q > 1.75) &&(q <=2.25) ) coul = "yellow";
  		else if ( (q > 2.25) &&(q <=2.70) ) coul = "orange";
  		else if( (q > 2.70) &&(q <=3) ) coul = "red";
	
			else coul = "white";
		
			 
	   return	"_<div align='center' width='10px'"
				+ "style='color:"+color_text+";background-color:"
				+ coul
				+ "'>" + afficheNombre(q,2) + "</div>";
	}
	
	if (type == "texte")
	{
		if ( q <=1.30 ) return ("<span style='background-color:green;'>&nbsp;Acheter </span>");
  		else if ( (q > 1.30) &&(q <=1.75) ) return ("<span style='background-color:lightgreen'>&nbsp;Surpondérer </span>");
  		else if ( (q > 1.75) &&(q <=2.25) ) return ("<span style='background-color:yellow'>&nbsp;Conserver </span>");
  		else if ( (q > 2.25) &&(q <=2.70) ) return ("<span style='background-color:orange'>&nbsp;Souspondérer </span>");
  		else if( (q > 2.70) &&(q <=3) ) return ("<span style='background-color:red;'>&nbsp;Vendre </span>");
	
			else return ("&nbsp;");
	}
}

function decimalisation(dec)
{
	var decim = dec.replace(/(^\s*)|(\s*$)/g,"");
	switch(decim){
		case "DI" :
			return "Dizième";
		break;
		case "CE" :
			return "Centième";
		break;
		case "MI" :
			return "Millième";
		break;
		case "DM" :
			return "Dix millième";
		break;
		case "CM" :
			return "Cent milième";
		break;
		case "EM" :
			return "Non décimalisable";
		default :
			return "Non rens.";
	}
}

function calculeBeta(cours, benef, croissance, valeur)
{
	var per = afficheNombre(cours/benef,2);
	var rend = afficheNombre((cours/benef)*100,2);
	if(per<0)
		per = "-Négatif-";
	else if(per==0)
		per = "-";
	var peg;
	if (croissance=="n/a" || isNaN(per))
		peg = "&nbsp;";
	else
		peg = afficheNombre(per/croissance, 2);
	if (valeur=="per") return(per);
	if (valeur=="rend") return (rend + "%");
	if (valeur=="peg") return(peg);
}
function pourcent(n, frais)
{
	if (frais){
		if( n == null || n == "null" || n == "")
			return("Non Rens.")
		else if( n == 0 ) return ("0 %");
	}
	else if( n == 0 || n == "Infinity") 
		return ("-");
	return	(afficheNombre(n.replace(",","."),2) + "&nbsp;%");
}

function ratioDR(supct, supmt, resct, resmt, cours)
{
	//alert("supct>>>" + supct + "<<supmt>>>" + supmt + "<<resct>>>" + resct + "<<resmt>>>" + resmt + "<<cours>>>" + cours);
	if (supct=="" || supmt=="" || resct=="" || resmt=="" || cours=="" || cours=="null")
		return("");		
	var sup = supct;
	var resist = resct;
	if(cours < sup) sup = supmt;
	if(cours > resist) resist = resmt;
	return ( afficheNombre((100 *(2* cours - resist - sup)/(sup - resist)),2) + "%" );
}

function buildHTMLArray( tab, id )
{
	var res = "<table " + ( ( id != null ) ? "id='" + id + "' " : "" ) +
		"class='TABLEAULIGNESUP' style='text-align:right;padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='100%'>";
	for( var i = 0; i < tab.length; i++ )
	{
		res += "<tr>";
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td>" + tab[ i ][ j ] + "</td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;
}

function buildHTMLArrayFicheVal( tab )
{
	var res = "<table " + 
		"class='TABLEAULIGNESUP' style='text-align:right;padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='100%'>";
	for( var i = 0; i < tab.length; i++ )
	{
		res += "<tr>";
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td><nobr>&nbsp;" + tab[ i ][ j ] + "&nbsp;</nobr></td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;
}

function buildHTMLArrayDetaille( tab, taille )
{
	var res = "<table " + 
		"class='TABLEAULIGNESUP' style='text-align:right;padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='" + taille + "'>";
	for( var i = 0; i < tab.length; i++ )
	{
		res += "<tr>";
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td><nobr>&nbsp;" + tab[ i ][ j ] + "&nbsp;</nobr></td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;
}

function buildHTMLArrayImage( tab )
{
	var res = "<table " + 
		"class='TABLEAULIGNESUP' style='text-align:right;padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='100%'>";
	for( var i = 0; i < tab.length; i++ )
	{
		res += "<tr width='100%'>";
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td width='100%'>" + tab[ i ][ j ] + "</td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;
}

function buildHTMLArraySimple( tab )
{
	var res = "<table " +
		"class='TABLEAULIGNESUP' style='background-color:white;text-align:left;padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='100%' height='100%'>";
	for( var i = 0; i < tab.length; i++ )
	{
		res += "<tr>";
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td>&nbsp;" + tab[ i ][ j ] + "&nbsp;</td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;
}

function buildHTMLArrayPanorama ( tab, id, grisIndice ) {
	var gris = true;
	if ( grisIndice ) {
		var res = "<table " + ( ( id != null ) ? "id='" + id + "' " : "" ) +
			"style='padding:0;border:0;margin:0' border='0' cellpadding='1px' cellspacing='1px' width='100%'>";
	} else {
		var res = "<table " + ( ( id != null ) ? "id='" + id + "' " : "" ) +
				"class='TABLEAULIGNESUP' style='padding:0;border:0;margin:0' border='0' cellpadding='0' cellspacing='0' width='100%'>";
	}

	for( var i = 0; i < tab.length; i++ ) {
		if ( grisIndice && (gris == true) ) {
			res += "<tr bgcolor=#efefef>";
			gris=false;
		} else {
			res += "<tr>";	
			gris=true;
		}	
		for( var j = 0; j < tab[ i ].length; j++ )
			res += "<td " +
			(
				( !isNaN( parseInt( tab[ i ][ j ] ) ) || tab[ i ][ j ].search( "%" ) != -1 
				|| tab[ i ][ j ].search( "interrogation" ) != -1 || tab[ i ][ j ].search( "note_at_mt" ) != -1) ?
				"style='text-align:right'" :
				""
			) +
			">&nbsp;" +
			tab[ i ][ j ] +
			"&nbsp;</td>";
		res += "</tr>";
	}
	res += "</table>";
	return res;	
}

function verifNull(champs, date_id)
{
	if (champs == null || champs == "null" || date_id)
		return ("");
	else
		return champs.replace(/\x27/g, "&#039;");
}
/************************************************************/
/*			Fonctions de remplissage des filtres			*/
/*			in : tableau, nom du filtre, valeur				*/
/*															*/
/************************************************************/
function insereFiltre(tab, filtre, valeur)
{
	for( var i = 0; i < tab.length; i++){
		var o  = new Option(tab[ i ].substr(0,30), tab[ i ],false,false);
		document.getElementById( filtre ).options
		 [ document.getElementById( filtre ).options.length ] 
		  = o;
		if (valeur){
			if ( tab[ i ]  == valeur)
				o.selected = true;
		}
	}
}
function insereFiltreIndice(tab, filtre, valeur)
{
	for( var i in tab){
		var o  = new Option(tab[ i ], i,false,false);
		document.getElementById( filtre ).options
		 [ document.getElementById( filtre ).options.length ] 
		  = o;
		if (valeur){
			if ( i  == valeur)
				o.selected = true;
		}
	}
}
