/****************************************************************/
/* utilsTabFRT.js -> Création de tableaux dynamiques triables	*/
/* Developpeur  :  ROBERT Cédric								*/
/* Société 	    :  PROCAPITAL									*/
/* Dernère Modif:  10/05/2005									*/
/****************************************************************/

/****************************************************************/
/*									METHODE D'APPEL				*/
/****************************************************************/
/*	tableauDynamiqueTriable										*/
/*	(															*/
/*		titreTableau,											*/
/*																*/
/*		tabTitre,												*/
/*																*/
/*		tabDonnees,												*/
/*																*/
/*		indexTri,												*/
/*																*/
/*		lignesAAfficher,										*/
/*																*/
/*		afficherLigneCasse										*/
/*	);															*/
/*==============================================================*/
/*  titreTableau:												*/
/*		le titre du tableau à afficher							*/
/*																*/
/*	tabTitre de la forme:										*/
/*		[														*/
/*			[													*/
/*				"titreDeLaColonne"                           	*/
/*				, "[non]visible"                             	*/
/*				, "[non]triable"                             	*/
/*				, "[non]convertible"                         	*/
/*				, [nbChiffresApresVirgule]                   	*/
/*				, [decimalisation]								*/
/*			],	                                             	*/
/*			[                                                	*/
/*				"titreDeLaColonne"                           	*/
/*				, "[non]visible"                             	*/
/*				, "[non]triable"                             	*/
/*				, "[non]convertible"                         	*/
/*				, [nbChiffresApresVirgule]                   	*/
/*			],	                                             	*/
/*			...                                              	*/
/*			[                                                	*/
/*				"titreDeLaColonne"                           	*/
/*				, "[non]visible"                             	*/
/*				, "[non]triable"                             	*/
/*				, "[non]convertible"                         	*/
/*				, [nbChiffresApresVirgule]                   	*/
/*			]	                                             	*/
/*                                                           	*/
/*		] ou null												*/
/*																*/
/*	tabDonnees de la forme:										*/
/*		[														*/
/*			[													*/
/*				donnée_1                                     	*/
/*				, donnée_2                                   	*/
/*				, donnée_3                                   	*/
/*				, donnée_4                                   	*/
/*				, ...                                        	*/
/*				, donnée_tabTitre.length                     	*/
/*			],                                             		*/
/*			[                                               	*/
/*				donnée_1                                     	*/
/*				, donnée_2                                   	*/
/*				, donnée_3                                   	*/
/*				, donnée_4                                   	*/
/*				, ...                                        	*/
/*				, donnée_tabTitre.length                     	*/
/*			],                                              	*/
/*			...                                             	*/
/*			[                                               	*/
/*				donnée_1                                     	*/
/*				, donnée_2                                   	*/
/*				, donnée_3                                   	*/
/*				, donnée_4                                   	*/
/*				, ...                                        	*/
/*				, donnée_tabTitre.length                     	*/
/*			]                                               	*/
/*		] ou null												*/
/*																*/
/*	indexTri:													*/
/*		index données sur lesquelles s'effectuent le tri		*/
/*		ou -1 si pas de tri										*/
/*																*/
/*	lignesAAfficher:											*/	
/*		nombre de lignes à afficher par page					*/
/*																*/
/*	afficherLigneCasse: true ou false:							*/
/*		indique si il y a une ligne de séparation				*/
/*																*/
/****************************************************************/

function resumeTexte(texte) {
	var res = "";
	if ( texte.length && (texte.length > 95) ) {
		res = texte.substr(0, 95);
		while ( (res.length > 1) && (res.charAt(res.length - 1)) && (res.charAt(res.length - 1) != " " ) )
			res = res.substr(0, res.length - 2);
		return (res + "...");
	}
	return texte;
}
function transfoTypeValeur(type){
	switch (type){
		/*  Actions  */
		case "041" :
		case "042" :
		case "044" :
		case "045" :
		case "050" :
		case "051" :
		case "058" :
		case "059" :
		case "069" :
		case "084" :
		case "085" :
		case "086" :
		case "ACTIONS" :
			return("action");
			break;
		
		/*  Obligations  */
		case "010" :
		case "011" :
		case "019" :
		case "021" :
		case "022" :
		case "024" :
		case "025" :
		case "032" :
		case "111" :
		case "162" :
		case "250" :
		case "251" :
		case "252" :
		case "254" :
		case "255" :
		case "259" :
		case "261" :
		case "262" :
		case "OBLIGATIONS" :
			return("obligations");
			break;
	
		/* Sicav  */
		case "061" :	
		case "062" :
		case "070" :
		case "242" :
		case "243" :
		case "244" : 
		case "245" :
		case "246" :
		case "264" :
		case "SICAV" :
			return ("OPCVM");
			break;
		
		/*  Warrants  */
		case "248" :
		case "105" :
		case "106" :
		case "071" :
		case "WARRANTS" :
			return ("warrants");
			break;
			
		/*  Trackers */
		case "263" :
		case "TRACKERS" :
			return ("trackers");
		break;
		
		/*  Indices */
		case "068" :
		case "INDICES" :
			return ("indice");
		break;
		
		/* Bons de souscription*/
		case "072" :
		case "BONS DE SOUSCRIPTION" :
			return ("bon souscription");
		break;
		
		/*  Droits de garde */
		case "" :
		case "555" :
		case "DROITS DE GARDE" :
			return ("vide");
		break;
		
		/*  Certificats */
		case "257" :
		case "CERTIFICATS" :
			return ("certificats");
		break;
		
		/*  Autres  */	
		default :
			return ("autres");
			break;
	}	
}

function pictosSelonType (plisin, typeValeur, popup, devise) {
	
	//var devise = "";
	var pictoPasseOrdre 		= affichePictoHtml(plisin, "+", 1 )
								+ affichePictoHtml(plisin, "-", 1 );
	var pictoPasseOrdrePopup 	= affichePictoHtml(plisin, "+P", 1 )
								+ affichePictoHtml(plisin, "-P", 1 );
	var pictoAlerte 			= affichePictoHtml(plisin, "AL", 1 );
	var pictoGraphique 			= affichePictoHtml(plisin, "GR", 1 );
	var pictoFicheValActions 	= affichePictoHtml(plisin, "FVA", 1 );
	var pictoFicheValWarrant 	= affichePictoHtml(plisin, "FVW", 1 );
	var pictoFicheValBS 		= affichePictoHtml(plisin, "FVBS", 1 );
	var pictoFicheValCertificat = affichePictoHtml(plisin, "FVC", 1 );
	var pictoFicheValTracker 	= affichePictoHtml(plisin, "FVT", 1 );
	var pictoFicheValObligations = affichePictoHtml(plisin, "FVO", 1 );
	var pictoFicheValIndice 	= affichePictoHtml(plisin, "FVI", 1 );
	var pictoFicheValOPCVM 		= affichePictoHtml(plisin, "FVOP", 1, devise );
	var pictoNoticeCOB			= affichePictoHtml(plisin, "NO", 1);
	var pictoComparateur		= affichePictoHtml(plisin, "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>", 1);

	if (top.estClient()){
		var pictoAjoutListe = affichePictoHtml(plisin, "LP", 1 );
		var pictoTraderQuotes 		= affichePictoHtml(plisin, "TQ", 1 );
	}else {
		var pictoAjoutListe 	= "";
		var pictoTraderQuotes 	= "";
	}
	if(plisin.split("_")[1] == "FR0007052816")
		typeValeur = "555";
		
	switch(transfoTypeValeur(typeValeur)) { 
		/*  Actions  */
		case "action" :
			if (popup)
				return (pictoPasseOrdrePopup
						+ pictoFicheValActions
						+ pictoGraphique
						+ pictoTraderQuotes);
			else
				return (pictoPasseOrdre
						+ pictoFicheValActions
						+ pictoGraphique
						+ pictoTraderQuotes);
			break;
		
		/*  Obligations  */
		case "obligations" :
		case "obligation" :
			return (pictoPasseOrdre
					+ pictoFicheValObligations
					+ pictoGraphique
					+ pictoTraderQuotes);
			break;
	
		/* Sicav  */
		case "OPCVM" :
			return (pictoPasseOrdre
					+ pictoFicheValOPCVM
					+ pictoNoticeCOB
					+ ((top.estClient())?((top.estPTN())?"":pictoComparateur):pictoComparateur));
			break;
		
		/*  Warrants  */
		case "warrants" :
			return (pictoPasseOrdre
					+ pictoFicheValWarrant
					+ pictoGraphique
					+ pictoTraderQuotes);
			break;
			
		/* Bons de souscription */
		case "bon souscription" :
			return (pictoPasseOrdre
					+ pictoFicheValBS
					+ pictoGraphique
					+ pictoTraderQuotes);
			break;
			
		/*  Trackers */
		case "trackers" :
			return (pictoPasseOrdre
					+ pictoFicheValTracker
					+ pictoGraphique
					+ pictoTraderQuotes);
		break;
		/*  Certificats */
		case "certificats" :
			return (pictoPasseOrdre
					+ pictoFicheValCertificat
					+ pictoGraphique
					+ pictoTraderQuotes);
		break;			
		
		/*  Indices */
		case "indice" :
			return (pictoFicheValIndice
					+ pictoGraphique);
				
		break;
		
		/*  Droits de garde */
		case "vide" :
			return ("");
		break;
		
		/*  Autres  */	
		default :
			return (pictoPasseOrdre
					+ pictoFicheValActions);
			break;
	}	
}

/****************************************************************/
/*         Redirection vers le passage d'ordre           	    */
/****************************************************************/
/*in:  plisin la code plisin de la valeur               	  	*/
/*	   sens le sens de la transaction: achat/vente -> 0/1       */
/*out: Redirige la bonne page vers le passage d'ordre			*/
/****************************************************************/
function passeOrdreUtilTab( plisin, sens ) {
	if( top.opener )	// Si on est en popup
	{
		try
		{
			var urlOpener = top.opener.top.location.href.split("/");
			urlOpener = urlOpener[urlOpener.length - 1];
			urlOpener = urlOpener.split("?")[0];
			var pageCourante = top.document.location.href.split("/");
			pageCourante = pageCourante[pageCourante.length - 1];
			pageCourante = pageCourante.split("?")[0];
			if ( ( (urlOpener == "mainFRT.jsp") || (urlOpener == "loginFRT.jsp") || (urlOpener == "loginFRT.jsp#") ) && (pageCourante != "passerUnOrdreFRT_Popup.jsp") )
			{
				if (pageCourante == "warrantComClient.jsp")
					top.opener.main.location.href
						= opener.top.clientMakeScriptURL( "/WebBank/scripts/FRT5.2/passageDOrdre/saisieOrdreFRT.jsp?plisin=" + plisin )
						+ ( ( sens != null ) ? "&sens=" + sens : "" );
				else
					top.opener.location.href
						= top.opener.top.clientMakeScriptURL( "/WebBank/scripts/FRT5.2/passageDOrdre/saisieOrdreFRT.jsp?plisin=" + plisin )
						+ ( ( sens != null ) ? "&sens=" + sens : "" );
			}
			else if (urlOpener == "passerUnOrdreFRT_Popup.jsp" || pageCourante == "passerUnOrdreFRT_Popup.jsp")
			{
				opener.top.popUpAchatVente.location.href
					= opener.top.clientMakeScriptURL( "/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp?name=" + plisin.split("_")[1] )
					+ ( ( sens != null ) ? "&sens=" + sens : "" );
			}
		}
		catch( e )
		{
			// Si la page a un opener qui ne nous appartient pas, on ouvre dans la frame main
			try
			{
				top.main.location =
					top.clientMakeScriptURL( "/WebBank/scripts/FRT5.2/passageDOrdre/saisieOrdreFRT.jsp?plisin=" + plisin ) +
					( ( sens != null ) ? "&sens=" + sens : "" );
			}
			catch( e2 )
			{
			}
		}
	}
	else
	{
		top.change_class((sens==0)?"Achat":"Vente");
		document.location.href
			= top.clientMakeScriptURL( "/WebBank/scripts/FRT5.2/passageDOrdre/saisieOrdreFRT.jsp?plisin=" + plisin )
			+ ( ( sens != null ) ? "&sens=" + sens : "" );
	}
}

/****************************************************************/
/*         Affichage d'un separateur           	    			*/
/****************************************************************/
/*in:  										              	  	*/
/*out: Saute a la ligne									 		*/
/****************************************************************/
function separateur() {
	document.write("<br>");	
}

/****************************************************************/
/*         Affichage du titre de la page		           	    */
/****************************************************************/
/*in: 	nom l'intitulé du titre               	  				*/
/*  	width la taille du titre               	  				*/
/*  	tabLiens le tableau de liens à afficher               	*/
/*out: Affiche le titre mis en forme avec ses liens			 	*/
/****************************************************************/
function afficheTitre(nom, width, tabLiens, color){
	res.length = 0;
	if ( ! color )  color = '#B2EA65';
	res[ res.length ] = "<table cellspacing='0' cellpadding='0' width='" + width + "px'>";
	res[ res.length ] = "<tr height='10px'><td colspan='3'></td></tr>";
	res[ res.length ] = "<tr height='15px'>"
		 + "<td width='10px'>"
		 + "<div style='width:8px;height:8px;background-color:"+color+";font-size:5px;'></div></td>"
		 + "<td class='titrePage'>&nbsp;"+ nom
		  + "</td>"; 
	res[ res.length ] = "<td style='text-align:right' class='lienMenuHaut'>";
	if (tabLiens && tabLiens.length!=0)
		for (var i in tabLiens) {
			res[ res.length ] = tabLiens[i];
			if ( i < (tabLiens.length - 1) && tabLiens[i]!="")
				res[ res.length ] = " | ";
		}
	res[ res.length ] = "</td>"
		 + "</tr>"
		 + "<tr><td style='background-color:"+color+"' height='1px' colspan='3'></td></tr></table>";
	
	document.write(res.join( "" )); 
}

/****************************************************************/
/*         Affichage du Menu pour une valeur				    */
/****************************************************************/
/*in: 	nom l'intitulé du titre               	  				*/
/*  	width la taille du titre               	  				*/
/*  	tabLiens le tableau de liens à afficher               	*/
/*out: Affiche le titre mis en forme avec ses liens			 	*/
/****************************************************************/
function afficheMenuValeur( cval, titrePage ){
	var titreDuTableau = "";
	var plisin = "";
	var info_titre = "";
	if (cval.split(":")[1]!=null && cval.split(":")[1]!=","){
		var infos = cval.split(":")[1];
		info_titre = infos.split(",")[0] + cval.split(":")[2] + "&nbsp;&nbsp;" + formatPourcent(infos.split(",")[1]);
	}
	var cval = cval.split(":")[0];

	/*  __CVAL__codePlace_codeIsin;mnemonique;type_valeur;libelle  */
	if ( (cval).substr(0, 8) == "__CVAL__") { 
		var codePlace = (((cval).split(";")[0]).substr(8) ).split("_")[0];
		var codeIsin = (((cval).split(";")[0] ).substr(8) ).split("_")[1];
		plisin = codePlace + "_" + codeIsin;
		var mnemonique = (cval).split(";")[1];
		if ((mnemonique != null) && (mnemonique != ""))
			mnemonique = " (" + mnemonique + ")";
			 
		var type_valeur = (cval).split(";")[2];
		var libelle = (cval).split(";")[3].replace("'","&#039;");
		if ( (cval).split(";")[4] )
			var devise = (cval).split(";")[4];
		else
			var devise = "";
		if (!codePlace)
			codePlace = "";
		var codePlaceLibelle = getPlaceLibelle( codePlace );
	
		titreDuTableau += "<b>" + libelle + mnemonique + "</b><br><NOBR>";
		
		titreDuTableau += pictosSelonType (plisin, type_valeur, true, devise);
		
		titreDuTableau	+= "</NOBR>";
	} 
	
	if ( (!plisin) || (plisin == "") || (plisin.split("_")[0] == "") || (plisin.split("_")[1] == "") ) {
		return;
	}
	var ficheVal = "FVA";
	switch(transfoTypeValeur(type_valeur)) {
		case "action" :
			ficheVal = "FVA";
			if(top.estClient())
				var tabLiens = [
									[ "Graphique"			, "GR"	, ""],
									[ "Analyse Technique"	, "AT"	, ""],
									[ "Conseils"			, "C"	, ""],
									[ "Warrants"			, "W"	, ""],
									[ "L`entreprise"		, "E"	, ""],
									[ "Chiffres clés"		, "0-9"	, ""],
									[ "Trader Quotes"		, "TQ"	, ""],
									[ "Echanges jour"		, "TS"	, ""],
									[ "Alerte"				, "AL"	, ""],
									[ "Positions valeur"	, "PTR"	, ""],
									[ "Ordres en cours"		, "OC"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
				var tabLiens = [
									[ "Graphique"			, "GR"	, ""],
									[ "Analyse Technique"	, "AT"	, ""],
									[ "Conseils"			, "C"	, ""],
									[ "Warrants"			, "W"	, ""],
									[ "L`entreprise"		, "E"	, ""],
									[ "Chiffres clés"		, "0-9"	, ""]
								];
		break;
		case "warrants" :
		case "warrant" :
			ficheVal = "FVW";
			if(top.estClient())
				var tabLiens = 	[
									[ "Alerte"				, "AL"	, ""],
									[ "Trader Quotes"		, "TQ"	, ""],
									[ "Positions Tps réel"	, "PTR"	, ""],
									[ "Pricer"				, "P"	, ""],
									[ "Simulateur"			, "S"	, ""],
									[ "Graphique"			, "GR"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Pricer"				, "P"	, ""],
									[ "Simulateur"			, "S"	, ""]
								];
		break;
		case "certificats" :
			ficheVal = "FVC";
			if(top.estClient())
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
					var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""]
								];
		break;
		case "bon souscription" :
			ficheVal = "FVBS";
			if(top.estClient())
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
					var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""]
								];
		break;
		case "trackers" :
			ficheVal = "FVT";
			if(top.estClient())
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Notice AMF"			, "NO"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
					var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Notice AMF"			, "NO"	, ""]
								];
		break;
		case "obligations" :
			ficheVal = "FVO";
			if(top.estClient())
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""],
									[ "Ajouter Liste"		, "LP"	, ""]
								];
			else
				var tabLiens = 	[
									[ "Graphique"			, "GR"	, ""]
								];
		break;
		case "OPCVM" :
			ficheVal = "FVOP";
			if(top.estClient()){
				if(top.estPTN())
					var tabLiens = 	[
										[ "Graphique"			, "GR"	, ""],
										[ "Notice AMF complet"	, "NO"	, ""],
										[ "Notice AMF simplifié", "NOS"	, ""],
										[ "Ajouter Liste"		, "LP"	, ""]
									];
					else
						var tabLiens = 	[
										[ "Graphique"			, "GR"	, ""],
										[ "Notice AMF complet"	, "NO"	, ""],
										[ "Notice AMF simplifié", "NOS"	, ""],
										[ "Comparateur"			, "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>"	, ""],
										[ "Ajouter Liste"		, "LP"	, ""]
									];
			}else
				var tabLiens = 	[
								[ "Graphique"			, "GR"	, ""],
								[ "Notice AMF complet"	, "NO"	, ""],
								[ "Notice AMF simplifié", "NOS"	, ""],
								[ "Comparateur"			, "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>"	, ""]
							];
		break;
		case "indice" :
			ficheVal = "FVI";
			if(top.estClient())
				var tabLiens = 	[
										[ "Graphique"					, "GR"	, ""],
										[ "Analyse Technique"			, "AT"	, ""],
										[ "Composition de l&#039;indice", "CI"	, ""],
										[ "Warrants"					, "W"	, ""],
										[ "Ajouter Liste"				, "LP"	, ""]
									];
			else
				var tabLiens = 	[
										[ "Graphique"					, "GR"	, ""],
										[ "Analyse Technique"			, "AT"	, ""],
										[ "Composition de l&#039;indice", "CI"	, ""],
										[ "Warrants"					, "W"	, ""]
									];
		break;
	}

	res.length = 0;
	res[ res.length ] = "<table cellspacing='0' width='100%' cellpadding='0' border='0' class='lienMenuHaut'>";
	res[ res.length ] = "<tr>";
	var prem = true;
	for (var i in tabLiens) {
		if( top.estClient() && i == tabLiens.length/2 && ficheVal!="FVOP" && ficheVal!="FVW" 
		&& ficheVal!="FVC" && ficheVal!="FVO" && ficheVal!="FVT" && ficheVal!="FVBS" && ficheVal!="FVI" ){
			res[ res.length ] = "</tr><tr>";
			prem = true;
		}
		if (prem == false) 
			res[ res.length ] = "<td style='text-align:center'>&nbsp;|&nbsp;</td><td class='lienMenuHaut' style='text-align:center'><nobr>" + afficheLienPictoHtml(plisin, tabLiens[i][1], tabLiens[i][0],((tabLiens[i][1] == titrePage)? true:false)) + "</nobr></td>";
		else {
			res[ res.length ] = "<td class='lienMenuHaut' style='text-align:center'><nobr>" + afficheLienPictoHtml(plisin, tabLiens[i][1], tabLiens[i][0],((tabLiens[i][1] == titrePage)? true:false)) + "</nobr></td>";
			prem = false;
		}
	}
	res[ res.length ] = "</tr>";
	res[ res.length ] = "</table>";
	var tabEntete ="<table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'><tr><td><NOBR><b>&nbsp;&nbsp;&nbsp;" 
	+ cval.split( ";" )[ 3 ] + " (" + cval.split( ";" )[ 1 ] + ")  " 
	+ ((!info_titre || info_titre=="")? "":": " + info_titre) + "</b></NOBR></td><td style='text-align:right'>"
	+ "<table height='100%' border='0' cellspacing='0' cellpadding='0'><tr><td><NOBR>"
	+ ((top.estClient())?"":
	((transfoTypeValeur(type_valeur)=="OPCVM")?"":(affichePictoHtml(plisin, "AL", 1 ) 
	+ afficheLienPictoHtml(plisin, "AL", "Alerte") + "&nbsp;</NOBR></td><td><NOBR>")))
	+ ((type_valeur == "068")?"":
	(affichePictoHtml(plisin, "+P", 1 ) 
	+ afficheLienPictoHtml(plisin, "+P", "Achat") + "&nbsp;</NOBR></td><td><NOBR>"
	+ affichePictoHtml(plisin, "-P", 1 ) 
	+ afficheLienPictoHtml(plisin, "-P", "Vente") + "&nbsp;</NOBR></td><td><NOBR>"))
	+ affichePictoHtml(plisin, ficheVal, 1, devise )
	+ afficheLienPictoHtml(plisin, ficheVal, "Fiche Valeur", false, devise)
	+ "</NOBR></td></tr></table></td></tr></table>";
	document.write( "<table width='610px' border='0' style='border-style:solid;border-width:1px;border-color:black' cellspacing='1px' cellpadding='0'>");
	document.write( "<tr height='22px'><td  class='CARTOUCHE'>" + tabEntete + "</td></tr><tr><td width='100%'>" + res.join( "" ) + "</td></tr></table>" );

}
function afficheTitreValeur(cval){
	var titreDuTableau = "";
	var plisin = "";

	/*  __CVAL__codePlace_codeIsin;mnemonique;type_valeur;libelle;devise  */
	if ( (cval).substr(0, 8) == "__CVAL__") { 
		var codePlace = (((cval).split(";")[0]).substr(8) ).split("_")[0];
		var codeIsin = (((cval).split(";")[0] ).substr(8) ).split("_")[1];
		plisin = codePlace + "_" + codeIsin;
		var mnemonique = (cval).split(";")[1];
		if ((mnemonique != null) && (mnemonique != ""))
			mnemonique = " (" + mnemonique + ")";
			 
		var type_valeur = (cval).split(";")[2];
		var libelle = (cval).split(";")[3].replace("'","&#039;");
		if ( (cval).split(";")[4] )
			var devise = (cval).split(";")[4];
		else
			var devise = "";
		if (!codePlace)
			codePlace = "";
		var codePlaceLibelle = getPlaceLibelle( codePlace );
	
		titreDuTableau += "<b>" + libelle + mnemonique + "</b><br><NOBR>";
		
		titreDuTableau += pictosSelonType (plisin, type_valeur, true, devise);
		
		titreDuTableau	+= "</NOBR>";
	} 
	if ( (!plisin) || (plisin == "") || (plisin.split("_")[0] == "") || (plisin.split("_")[1] == "") ) {
		return;
	}
	var ficheVal = "FVA";
	switch(transfoTypeValeur(type_valeur)) {
		case "action" :
			ficheVal = "FVA";
		break;
		case "warrants" :
		case "warrant" :
			ficheVal = "FVW";
		break;
		case "certificats" :
			ficheVal = "FVC";
		break;
		case "bon souscription" :
			ficheVal = "FVBS";
		break;
		case "trackers" :
			ficheVal = "FVT";
		break;
		case "obligations" :
			ficheVal = "FVO";
		break;
		case "OPCVM" :
			ficheVal = "FVOP";
		break;
		case "indice" :
			ficheVal = "FVI";
		break;
	}

	var tabEntete ="<table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'><tr><td><NOBR><b>&nbsp;&nbsp;&nbsp;" 
	+ cval.split( ";" )[ 3 ] + " (" + cval.split( ";" )[ 1 ] + ")  " 
	+ "</b></NOBR></td><td style='text-align:right'>"
	+ "<table height='100%' border='0' cellspacing='0' cellpadding='0'><tr><td><NOBR>"
	+ ((type_valeur == "068")?"":
	(affichePictoHtml(plisin, "+P", 1 ) 
	+ afficheLienPictoHtml(plisin, "+P", "Achat") + "&nbsp;</NOBR></td><td><NOBR>"
	+ affichePictoHtml(plisin, "-P", 1 ) 
	+ afficheLienPictoHtml(plisin, "-P", "Vente") + "&nbsp;</NOBR></td><td><NOBR>"))
	+ affichePictoHtml(plisin, ficheVal, 1, devise )
	+ afficheLienPictoHtml(plisin, ficheVal, "Fiche Valeur", false, devise)
	+ "</NOBR></td></tr></table></td></tr></table>";
	document.write( "<table width='610px' border='0' style='border-style:solid;border-width:1px;border-color:black' cellspacing='1px' cellpadding='0'>");
	document.write( "<tr height='22px'><td  class='CARTOUCHE'>" + tabEntete + "</td></tr></table>" );
}

/****************************************************************/
/*         Transformation d'une date en entier           	    */
/****************************************************************/
/*in:  arg1 la date de la forme jj/mm/yyyy               	  	*/
/*out: la date en entier de la forme yyyymmjj			 		*/
/****************************************************************/
function dateToInt(arg1) {
	return parseInt(
					arg1.substring(6,10) 
					+ arg1.substring(3,5) 
					+ arg1.substring(0,2)
				);
}

/****************************************************************/
/*         Décimalisation d'un nombre		             		*/
/****************************************************************/
/*in:  nombre le nombre à afficher		                 		*/
/*	   nbChiffresApresVirgule le nombre de chiffres 	 		*/
/*			apres la virgule								 	*/
/*	   arrondir indique si la valeur doit etre arrondie ou pas	*/
/*			true / false										*/
/*out: nb le nombre dans le format voulu				 		*/
/****************************************************************/
function afficheNombre(nombre, nbChiffresApresVirgule, arrondir) {
	if ( (nombre) && (nombre.length > 6) && ( nombre.substr(0,6) == "_EFFE_") && (nombre.substr(6,nombre.length)) && (!isNaN( nombre.substr(6,nombre.length) )) )
		return "" + nombre.substr(6,nombre.length);
    
	if (nombre == null || isNaN( nombre ) || (nombre == "" && nombre != "0") || (nombre.length < 1) ){
		return "";
	}
	nombre = "" + nombre; 
	if ( nombre.substr(nombre.length-1, 1) == " " )
		nombre = nombre.substr(0, nombre.length-1);
		
	var nb = "";
	var chiffresAvantVirgule = nombre.split(".")[0];
	if (chiffresAvantVirgule == "")
		chiffresAvantVirgule = "0";
	if(chiffresAvantVirgule == "-")
		chiffresAvantVirgule = "-0";
	var chiffresApresVirgule = nombre.split(".")[1];
	if( chiffresApresVirgule == null )
		chiffresApresVirgule = "0";
	while( chiffresApresVirgule.length < nbChiffresApresVirgule )
		chiffresApresVirgule += "0";
	if( (arrondir != null) && (arrondir == true) && ((chiffresApresVirgule.substr( nbChiffresApresVirgule, 1 )*1)  > 4) ) {
		chiffresApresVirgule = ( chiffresApresVirgule.substr( 0, nbChiffresApresVirgule ) * 1 ) + 1;
		chiffresApresVirgule += "";
	} else
		chiffresApresVirgule = chiffresApresVirgule.substr( 0, nbChiffresApresVirgule );
	var k = 1;
	var partieEntiereFormatee = "";
	
	for( var i = chiffresAvantVirgule.length - 1; i > -1; i-- )
	{
		partieEntiereFormatee = chiffresAvantVirgule.charAt( i ) + partieEntiereFormatee;
		if( !( k++ % 3 ) && (chiffresAvantVirgule.charAt( i-1 )) && (chiffresAvantVirgule.charAt( i-1 ) != "-") ) 
			partieEntiereFormatee = "&nbsp;" + partieEntiereFormatee
	}
	
	return partieEntiereFormatee + ( ( nbChiffresApresVirgule > 0 ) ? Multilingue_numericSeparator + chiffresApresVirgule : "" );
}

/****************************************************************/
/*      Décompression d'un tableau					     		*/
/****************************************************************/
/*in:  tableau compressé (avec des $numeroDeLaLigne)     		*/
/*			on recupère la donnée 								*/
/*			de la même colonne à la ligne indiquée	par le $	*/
/*out: tableau décompressé (avec toutes les données)			*/
/*	   															*/
/****************************************************************/
function decompresseTableau( tab ) {
	var chaineDebut = "__CACHETAB__LIGNE__";
	for( var i in tab )
		for( var j in tab[ i ] )
			if( tab[ i ][ j ].substr( 0, chaineDebut.length ) == chaineDebut )
				tab[ i ][ j ] =
					tab[ parseInt( tab[ i ][ j ].substr( chaineDebut.length ) ) ][ j ];
}

/****************************************************************/
/*   Vérifie si une valeur est déjà présente dans le tableau	*/
/****************************************************************/
/*in: tab le tableau ou chercher							    */
/*	  valeur la valeur à chercher								*/
/*out: true si la valeur est trouvée dans le tableau			*/
/*	   sinon false												*/
/****************************************************************/
function isPresent(tab, valeur) {
	if ( (tab == null) || (valeur == null) )
		return false;
	for (var i in tab)
		if ( tab[i] == valeur )
			return true;
	return false;
}

/****************************************************************/
/*      Affichage du filtre sur les valeurs			     		*/
/****************************************************************/
/*in: tableau le tableau de données								*/
/*out: écrit pour chaque valeur du tableau 						*/
/*	   le libellé de la valeur comme option du <select> 		*/
/****************************************************************/
function afficheLibelleValeur(tableau) {
	if (tableau == null)
		document.write("<option>Pas d'autres valeurs</option>");
	else {
		decompresseTableau(tableau);
		var tabLibelle = [];
		for (var i in tableau)
			if ( !isPresent(tabLibelle, tableau[i][1]) )
				tabLibelle[tabLibelle.length] = tableau[i][1];
		tabLibelle.sort(function(a, b) {
							if ( a.split(";")[3] < b.split(";")[3] )
								return -1;
							return 1;
						});
		for (var i in tabLibelle)
			document.write("<option value='" + tabLibelle[i] +"'>" + tabLibelle[i].split(";")[3] + "</option>");
	}
}

/****************************************************************/
/*      Verification d'une date au format jj/mm/aaaa     		*/
/****************************************************************/
/*in:  stringDate la chaine a analyser                   		*/
/*out: renvoi false si stringDate n'est pas une Date valide		*/
/*	   renvoi true si stringDate est une Date valide			*/
/****************************************************************/
function isDate(stringDate) {
	if( stringDate == null || stringDate.substring == null )
		return false;
	var d = (stringDate.substring(0,2));
    var m = (stringDate.substring(3,5));
    var y = (stringDate.substring(6));
    
	if ( (isNaN(d))
			|| (d<1)
			|| (d>31)
    		|| (isNaN(m))
    		|| (m<1)
    		|| (m>12)
     		|| (isNaN(y))
     		|| (y.length != 4)
   			|| (stringDate.substring(2,3)!='/')
   			|| (stringDate.substring(5,6)!='/') )
        return false;
	return true;	
}

/****************************************************************/
/*      Verification d'une devise     							*/
/****************************************************************/
/*in:  stringDevise la chaine a analyser                   		*/
/*out: renvoi false si stringDevise n'est pas une devise valide	*/
/*	   renvoi true si stringDevise est une devise valide		*/
/****************************************************************/
function isDevise(stringDevise) {
	if ( stringDevise == "EUR" || stringDevise == "USD" || stringDevise == "GBP" || stringDevise == "CHF")
		return true;
	return false;
}

/****************************************************************/
/*   Verification d'une donnée                     				*/
/****************************************************************/
/*in:  data la donnée a verifier                   				*/
/*		 type le type de la donnee								*/																														
/*out: renvoi la donnée ou son equivalent null		     		*/
/****************************************************************/
function replaceNull (data, type) {
	if ( type == null )
		return "--string null--";
	if ( !data || (data == "" && data != "0") 
		|| (data == "null") || (data == "&nbsp;") ) {
		switch (type) {
			case "date":
				return "--date null--"
			break;
			case "pourcent":
				return "--percent null--";
			break;
			case "nombre":
				return "--number null--";
			break;
			case "monnaie":
				return "--currency null--";
			break;
			case "string":
				return "--string null--";
			break;
			default:
				return "--string null--";
			break;
		}
	}
	return data;
}

/****************************************************************/
/*   Verification d'une donnée                     				*/
/****************************************************************/
/*in:  data la donnée a verifier                   				*/
/*		 type le type de la donnee								*/																														
/*out: renvoi la donnée ou son equivalent null		     		*/
/****************************************************************/
function verifNullData (data) {
	if ( (data == null) || ((data == "") && (data != "0")) 
		|| (data == "null") || (data == "&nbsp;") )
		return "--string null--";
	if ( (data == "--date null--") || (data == "--percent null--")
		|| (data == "--number null--") || (data == "--currency null--")
		|| (data == "--string null--") )
		return data;
	
	return "not null";
}

/****************************************************************/
/*          Selection du type de tri                     		*/
/****************************************************************/
/*in:  arg1 la donnée a trier                   				*/
/*out: renvoi le type des données à trier			     		*/
/****************************************************************/
function triType (arg1) {
	if( arg1 == null )
		return 0;
	if( arg1 == "" || arg1 == " " || arg1 == "--string null--")
		return "triString";
	/* afficheNombre ajoute un espace comme séparateur de millier, arg1 n'est plus une nombre, il faut faire une vérification*/
	if ( !isNaN(arg1) || (isNaN(arg1) && !isNaN(arg1.substr(arg1.length-6)) && (arg1.substr(arg1.length-12)).substr(0,6)=="&nbsp;" ) || arg1 == "--number null--" )
		return "triNum"; 
	if (isDate(arg1) || arg1 == "--date null--")
		return "triDate"; 
	if ((arg1.substring(0,2) == "<a") || (arg1.substring(0,3) == "< a"))
		return "triLien";
	if (arg1.substring(0,8) == "<center>")
		return "triCenter";
	if (arg1.substr((arg1.split("</")[0]).length - 1, 1) == "%" 
		|| arg1 == "n/a" || arg1 == "--percent null--")
		return "triPourCent";
	if ( ( arg1.substr(0, arg1.length - 3) 
		&& ( arg1.substr(0, arg1.length - 3)!= "" ) 
		&& ( !isNaN( arg1.substr(0, arg1.length - 3) ) ) 
		&& ( isNaN( arg1.substr( arg1.length - 3, arg1.length ) ) ) )
		|| arg1 == "--currency null--" || arg1.substring(0,5)=="<span" )
		return "triMonnaie";
	if ( arg1.substr(0, 6) == "graphe")
		return "triGraphe";
	if ( arg1.substr(0, 5) == "image")
		return "triImage";
	return "triString";
}

/****************************************************************/
/*		Redimentionnement de la page 					 		*/
/*		en fonction de la taille du tableau              		*/ 
/****************************************************************/
/*in:  													 		*/
/*out: redimentionne la page							 		*/
/****************************************************************/
function redimPage(){
	if ( !document.getElementById( "bodyt" ))
		return 0;
	var hmin = 450, hcalculee, hnew;
	if (document.all && (navigator.platform != "MacPPC"))
		hcalculee = document.getElementById( "bodyt" )[ "scrollHeight" ] + 40;
	else {
		if ( (navigator.appName == "Microsoft Internet Explorer") && (navigator.platform == "MacPPC") )
			hcalculee = document.getElementById( "bodyt" )[ "offsetHeight" ];
		else
			hcalculee = document.getElementById( "bodyt" )[ "offsetHeight" ] + 40;	
	}
	hnew = ( ( hcalculee > hmin ) ? hcalculee : hmin );
	if (top.document.getElementById( "main" ))
		top.document.getElementById( "main" ).style.height = hnew; 
	top.window.scrollTo(0, 0);	
	return 1;	
}

/****************************************************************/
/*				Affichage du haut de page	 			 		*/
/****************************************************************/
/*in: nomVisiteur le nom du visiteur actif						*/
/*	  compte le numero de compte du visiteur actif				*/
/*	  dateAAfficher	la date de MAJ de la page en cours			*/
/*	  titrePage	le titre de la page en cours				 	*/
/*out: Affichage										 		*/
/****************************************************************/
function afficheHautPage(nomVisiteur, compte, dateAAfficher, titrePage, isPEA) {
	res.length = 0;
	res[ res.length ] = "<table width=\"100%\">"
			+  "<tr>"
				+  "<td colspan=\"2\" class=\"fixeTitrePage\">";
		if (isPEA)
			res[ res.length ] =  "COMPTE PEA";
		else
			res[ res.length ] =  "COMPTE TITRES";
			res[ res.length ] = ": <span class=\"donn&eacute;eTitrePage\">N&ordm; " 
				+ compte 
				+ "</span> de <span class=\"donn&eacute;eTitrePage\">" 
				+ nomVisiteur 
				+ "</span></td>"
			+  "</tr>"
			+  "<tr>"
				+  "<td class=\"fixeTitrePage\">"
				+  "SITUATION AU <span class=\"donn&eacute;eTitrePage\">" 
				+ dateAAfficher 
				+ "</span></td>"
				+  "<td style=\"text-align:right\">"
				+  "<a href=\"javascript:window.print()\" class=\"optionPage\">"
				+  "<img src=\"/images/WebBank/ING/print.gif\" "
				+  "style=\"text-align:center\" border=\"0\">&nbsp;Imprimer la page</a></td>"
			+  "</tr>"
		+  "</table>"
		+  "<p class=\"TitrePage\"><b>" + titrePage + "</b></p>"
		+  "<br>";
	document.write( res.join() );
}

/****************************************************************/
/*		Redimentionnement de la page 					 		*/
/*		en fonction de la taille du tableau              		*/ 
/****************************************************************/
/*in: 	placePatio le code place provenant de Patio 			*/
/*out: 	le code place correspondant chez IS						*/
/****************************************************************/
function codePlaceISFRT( placePatio ){
	switch( placePatio )
	{
		case "025" : return "PSE";
		case "038" : return "ASX";
		case "006" : return "BSE";
		case "065" : return "NYS";
		case "067" : return "NAS";
		case "066" : return "ASE";
		case "044" : return "ETR";
		case "046" : return "MIX";
	}
	return null;
}

function afficheLienPictoHtml(plisin, titre , texte, gras, devise){
	var res = [];
	res.length = 0;
	var urlLien = "";	
	var isin = plisin.split("_")[1];
	var place = plisin.split("_")[0];
	res[ res.length ] = "<a class='menuHaut'";
	
	if (plisin && plisin != "") {
		var appel = "";
		if (top.estClient()){
			appel = 'top.change_class(\"' + texte + '\");';
		}
		
		if (top.opener) {	
			try {
				if ( window.opener && window.opener.top.main )
					appel = 'top.opener.location.href=opener.top.clientMakeScriptURL';
				else
					appel = 'document.location.href=top.clientMakeScriptURL';
			} catch(e) {
				appel = 'top.main.location=top.clientMakeScriptURL';
			}
		} else
			appel += 'document.location.href=top.clientMakeScriptURL';
		switch( titre ) {	
			case "GR":
				urlLien =	appel + '( "/WebBank/scripts/FRT5.2/lesMarches/graphique.jsp" ) + "&plisin='
							+ plisin
							+ '"';
			break;
			case "AL":
				if (!top.estClient())
					urlLien = "";
				else if ( top.opener )
				{
					try {
						var urlOpener = top.opener.top.location.href.split("/");
						urlOpener = urlOpener[urlOpener.length - 1];
						urlOpener = urlOpener.split("?")[0];
						if(urlOpener == "passerUnOrdreFRT_Popup.jsp")
							urlLien  = 'opener.top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
						else
							urlLien  = 'top.opener.reloadMainFrame( "ALERTES", "' +  plisin + '")';
					} catch (e) {
						urlLien  = 'top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
					}
				}
				else
					urlLien  = 'top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
			break;
			case "TQ":
				if (top.opener) 	
					urlLien = 'window.open( top.opener.top.clientMakeScriptURL("/WebBank/scripts/FRT5.2/passageDOrdre/redirectTraderQuotes.jsp")'
					+ ' + "&plisin=' + plisin + '","",'
					+ '"status=no,width=860,height=220,resizable=yes,menubar=no,alwaysRaised=yes")';
				else
					urlLien = 'window.open( top.clientMakeScriptURL("/WebBank/scripts/FRT5.2/passageDOrdre/redirectTraderQuotes.jsp")'
					+ ' + "&plisin=' + plisin + '","",'
					+ '"status=no,width=860,height=220,resizable=yes,menubar=no,alwaysRaised=yes")';
			break;
			case "TS":
				urlLien = 'window.open("/cgi-bin/webact/WebBank/scripts/transaction/order/TED/timesales_frameset.jsp'
						+ '?PLISIN=' + plisin + '", "",'
						+ '"status=no,toolbar=no,fullscreen=no,resizable=no,scrollbars=no,width=300,height=500")';
			break;
			case "+P":
				if (top.estClient())
				{
					if ( window.opener )
					urlLien = 'window.open( "' + 
								opener.top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=0' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
					else
					urlLien = 'window.open( "' + 
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=0' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
				}
				else
					urlLien = "alert(\"Pour passer un ordre, merci de vous identifier\")";
			break;
			case "-P":
				if (top.estClient())
				{
					if ( window.opener )
					urlLien = 'window.open( "' +
								opener.top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=1' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
					else
					urlLien = 'window.open( "' +
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=1' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
				}
				else
					urlLien = "alert(\"Pour passer un ordre, merci de vous identifier\")";
			break;	
			case "FVA":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeur.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVBS":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurBS.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVW":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurWarrant.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVC":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurCertificat.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVT":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurTrackers.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVO":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurObligations.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVI":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurIndice.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVOP":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurOPCVM.jsp\" ) + \"&plisin=" + plisin + "&devise=" + devise + "\"";
			break;
			case "CI":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/actions.jsp\" ) + \"&CI=yes&plisinIndice=" + plisin + "\"";
			break;
			case "P":
				urlLien = 'window.open( "' +
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/lesMarches/pricer.jsp' ) +
								'&plisin=' + plisin + 
								'&force=1' +
								'", "2", "status=no,toolbar=no,scrollbars=no,resizeable=no,width=680,height=600")';
			break;
			case "S":
				urlLien = 'window.open( "' +
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/lesMarches/simulateur.jsp' ) +
								'&plisin=' + plisin + 
								'&force=1' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=600")';
			break;
			case "W":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/selecteurWarrants.jsp\" )+ \"&plisin=" + plisin + "\"";
			break;
			case "C":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/infosConseils.jsp\") + \"&type=conseils&plisin=" + plisin + "\"";
			break;
			case "AT":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheAnalyseTechnique.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "AC":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheAvisConsensus.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "E":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/entreprise.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "0-9":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/chiffresCles.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "OC":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/MesComptes/ordresEnCours.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;	
			case "PTR":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/MesComptes/valorisation_temps_reel.jsp\" ) + \"&isin=" + plisin.split("_")[1] + "\"";
			break;
			case "LP":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/listesperso/choixListe.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>":
				urlLien = appel + "( \"/WebBank/scripts/FRT5.2/opcvm/comparateurOPCVM.jsp\" ) + \"&isin=" + plisin.split("_")[1] + "\"";
			break;
			case "NO":
				urlLien = 'window.open( "' + plisin.split("_")[1] + 
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=800,height=680")';
			break;
			case "NOS":
				urlLien = 'window.open( "' + plisin.split("_")[1] + 
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=800,height=680")';
			break;
		}
	}
	if(!top.estClient() && titre == "AL" )	
		res[ res.length ] = " href='" + urlLien + "'>" +  texte + "</a>";
	else
		res[ res.length ] = " href='#' onclick='" + urlLien + ";return false;'>" + ((gras)?"<b>":"") + texte + ((gras)?"</b>":"") + "</a>";
	
	return res.join( "" );
}


/****************************************************************/
/*				Affichage d'un pictos							*/
/****************************************************************/
/*in:  plisin le plisin de la valeur associée					*/
/*     titre le titre du picto									*/
/*     stylePicto le style du picto (entre 1 et 4)				*/
/*out: Affiche le picto 										*/
/****************************************************************/
var res2 = [];
function affichePictoHtml(plisin, titre, stylePicto, devise ){
	res2.length = 0;
	var urlPicto = "";	
	//var titre_page = titre;
	//if (titre == "+" || titre == "+P") titre_page = "Achat";
	//if (titre == "-" || titre == "-P") titre_page = "Vente";

	var isin = plisin.split("_")[1];
	var place = plisin.split("_")[0];
	
	if ( stylePicto == 1 ) stylePicto = "";
	
	if( titre != "+" && titre != "-" && titre != "+P" && titre != "-P" && titre != "AT" )
		res2[ res2.length ] = "<a class='btnVal'";
	if (titre == "AT") res2[ res2.length ] = "<a class='btnValUn'";
	
	if (plisin && plisin != "") {
		var appel = "";
		if (top.estClient()){
			if (titre != "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>")
				appel = 'top.change_class(\"' + titre + '\");';
		}
		if (top.opener) {	
			try {
				if ( top.opener && top.opener.top.main )
					appel = 'top.opener.top.main.location.href=top.opener.top.clientMakeScriptURL';
				else
					appel = 'document.location.href=top.clientMakeScriptURL';
			} catch(e) {
				appel = 'top.main.location=top.clientMakeScriptURL';
			}
		} else
			 appel += 'document.location.href=top.clientMakeScriptURL';
		switch( titre ) {	
			case "GR":
			urlPicto =	appel + '( "/WebBank/scripts/FRT5.2/lesMarches/graphique.jsp" ) + "&plisin='
						+ plisin
						+ '"';
			break;
			case "AL":
				if (!top.estClient()){
					urlPicto = "" + isin + "&plcot_id=" + place + "&num_alerte=-1";
				}else if ( top.opener ){
					try {
						var urlOpener = top.opener.top.location.href.split("/");
						urlOpener = urlOpener[urlOpener.length - 1];
						urlOpener = urlOpener.split("?")[0];
						if(urlOpener == "passerUnOrdreFRT_Popup.jsp")
							urlPicto  = 'opener.top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
						else
							urlPicto  = 'top.opener.top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
					} catch (e) {
						urlPicto  = 'top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
					}
				}
				else
					urlPicto  = 'top.reloadMainFrame( "ALERTES", "' +  plisin + '")';
			break;
			case "TQ":    
				if (top.opener) 	
					urlPicto = 'window.open( top.opener.top.clientMakeScriptURL("/WebBank/scripts/FRT5.2/passageDOrdre/redirectTraderQuotes.jsp")'
					+ ' + "&plisin=' + plisin + '","",'
					+ '"status=no,width=860,height=220,resizable=yes,menubar=no,alwaysRaised=yes")';
				else
					urlPicto = 'window.open( top.clientMakeScriptURL("/WebBank/scripts/FRT5.2/passageDOrdre/redirectTraderQuotes.jsp")'
					+ ' + "&plisin=' + plisin + '","",'
					+ '"status=no,width=860,height=220,resizable=yes,menubar=no,alwaysRaised=yes")';
			break;
			case "TS":
				urlPicto = 'window.open("/cgi-bin/webact/WebBank/scripts/transaction/order/TED/timesales_frameset.jsp'
						+ '?PLISIN=' + plisin + '", "",'
						+ '"status=no,toolbar=no,fullscreen=no,resizable=no,scrollbars=no,width=300,height=500")';
			break;
			case "+":
				res2[ res2.length ] = "<a class='btnValVert'";
				if (top.estClient())
					urlPicto = 'passeOrdreUtilTab("' + plisin + '", 0)';
				else
					urlPicto = "alert(\"Pour passer un ordre, merci de vous identifier\")";	
			break;
			case "-":
				res2[ res2.length ] = "<a class='btnValRouge'";
				if (top.estClient())
					urlPicto = 'passeOrdreUtilTab("' + plisin + '", 1)';
				else
					urlPicto = "alert(\"Pour passer un ordre, merci de vous identifier\")";
			break;
			case "+P":
				res2[ res2.length ] = "<a class='btnValVert'";
				if (top.estClient()){
					if ( window.opener )
					urlPicto = 'window.open( "' + 
								opener.top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=0' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
					else
					urlPicto = 'window.open( "' + 
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=0' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
				}
				else
					urlPicto = "alert(\"Pour passer un ordre, merci de vous identifier\")";
			break;
			case "-P":
				res2[ res2.length ] = "<a class='btnValRouge'";
				if (top.estClient())
				{
					if ( window.opener )
					urlPicto = 'window.open( "' +
								opener.top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=1' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
					else
					urlPicto = 'window.open( "' +
								top.clientMakeScriptURL( '/WebBank/scripts/FRT5.2/passageDOrdre/passerUnOrdreFRT_Popup.jsp' ) +
								'&isin=' + isin + 
								'&sens=1' +
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=710,height=500")';
				}
				else
					urlPicto = "alert(\"Pour passer un ordre, merci de vous identifier\")";
			break;	
			case "FVA":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeur.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVBS":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurBS.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVW":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurWarrant.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVC":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurCertificat.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVT":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurTrackers.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVO":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurObligations.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVI":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurIndice.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "FVOP":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurOPCVM.jsp\" ) + \"&plisin=" + plisin + "&devise=" + devise + "\"";
			break;
			case "AT":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheAnalyseTechnique.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "AC":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheAvisConsensus.jsp\" ) + \"&plisin=" + plisin + "\"";
			break;
			case "<img src='/static/FRT5.2/images/icone_comparer.gif' alt='Comparez ce fonds' border='0'>":
				urlPicto = appel + "( \"/WebBank/scripts/FRT5.2/opcvm/comparateurOPCVM.jsp\" ) + \"&isin=" + plisin.split("_")[1] + "\"";
			break;
			case "NO":
				urlPicto = 'window.open( "' + isin + 
								'", "2", "status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=800,height=680")';
			break;
		}
	}
	if(!top.estClient() && titre == "AL" )	
		res2[ res2.length ] = " href='" + urlPicto + "'>";
	else
		res2[ res2.length ] = " href='#' onclick='" + urlPicto + ";return false;'>";
	
	if (titre == "FVA" || titre == "FVO" || titre == "FVOP" || titre == "FVI" || titre == "FVW" || titre == "FVC" || titre == "FVT" || titre == "FVBS")
		res2[ res2.length ] = "FV";
	else if (titre == "+" || titre == "+P")
		res2[ res2.length ] = "+";
	else if (titre == "-" || titre == "-P")
		res2[ res2.length ] = "-";
	else
		res2[ res2.length ] = titre;
	
	res2[ res2.length ] = "</a>";

	return res2.join( "" );
}

/****************************************************************/
/*				Affichage des pictos							*/
/*				en bas de page									*/
/****************************************************************/
/*in:  															*/
/*out: Affiche les pictos pour une valeur						*/
/****************************************************************/
function affichePictos() {
	var res = "";
	var picto = [
					["+ -", "Passer un ordre"],
					["T Q", "TraderQuotes"],
					["!", 	"Alertes"],
					["G", 	"Graphiques"]
				];
	document.write("<br><NOBR>");
	var stylePicto = 1;
	for (var i in picto) {
		document.write( affichePictoHtml("", picto[i][0], stylePicto, "") + "&nbsp;" + picto[i][1] );
		if ( picto[i][0] != "G" )
			document.write("&nbsp;-&nbsp;");
	}
	document.write("</NOBR>");
}

/****************************************************************/
/*				Affichage du chronomètre	 			 		*/
/****************************************************************/
/*in: 	dateDebut	la date de début du chrono					*/
/*	  	dateFin la Date de fin du chrono						*/
/*out: 	Calcul et affiche le temps écoulé entre les 2 dates 	*/
/****************************************************************/
function afficheChrono(dateDebut, dateFin) {
	var chrono = (dateFin - dateDebut);
	document.write
	(
		"<br><br><table border=1><tr>"
		+ "<td>Chronomètre</td><td>"
		+  chrono
		+ "ms</td></tr></table>"
	);
}

/****************************************************************/
/*				Récupération du libellé d'une place		 		*/
/****************************************************************/
/*in: codePlace le code de la place recherchée					*/
/*out: renvoi le libellé de la place					 		*/
/****************************************************************/
function getPlaceLibelle(codePlace) {
	if ( (codePlace == null) || (codePlace == "") )
		return "";
	var placeLibelle = 
	{
		"004" : "Suisse",
		"006" : "Bruxelles",
		"011" : "Bruxelles",
		"025" : "Paris",
		"027" : "Lyon",
		"028" : "Marseille",
		"030" : "Bordeaux",
		"031" : "Nantes",
		"032" : "Lille",
		"036" : "London",
		"038" : "Amsterdam",
		"044" : "Xetra",
		"046" : "Italie",
		"054" : "Espagne",
		"065" : "NYSE",
		"066" : "ASE/AMEX",
		"067" : "Nasdaq NM",
		"260" : "Paris/OPCVM",
		"310" : "Dow Jons Indice",
		"361" : "London",
		"863" : "Xetra"
	};
	if ( (isNaN(codePlace)) || (!placeLibelle[codePlace]) )
		return codePlace;
	return placeLibelle[codePlace];
}

/****************************************************************/
/*				Affichage de la page suivante		 			*/
/****************************************************************/
/*in: direction le sens précédente/suivante -> -1/1				*/
/*out: renvoi la partie du tableau à afficher			 		*/
/****************************************************************/
var res3 = [];
function affPageNext( direction )
{
	res3.length = 0;
	if (direction < 0)
		res3[ res3.length ] = "document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.ligneDepart -=" 
			+ this.lignesAAfficher
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.indexPage -= 1";
	else
		res3[ res3.length ] = "document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.ligneDepart +=" 
			+ this.lignesAAfficher
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.indexPage += 1";
	res3[ res3.length ] = ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.affiche()"
		+ ";";
	return res3.join( "" );
}

/****************************************************************/
/*				Affichage d'une page précise		 			*/
/****************************************************************/
/*in: i le numéro de la page à afficher							*/
/*out: renvoi la partie du tableau à afficher			 		*/
/****************************************************************/
function affPage( i )
{
	return "document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.indexPage = " + i
		 	+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.ligneDepart = ((" + i + "- 1) * " 
			+ this.lignesAAfficher + ")"
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.affiche()"
			+ ";";
}

/****************************************************************/
/*				Change le tri du tableau			 			*/
/****************************************************************/
/*in: i la colonne de Tri										*/
/*out: renvoi le tableau trié selon la colonne i			 	*/
/****************************************************************/
function changeTri( i ){
	return	"document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.ligneDepart = 0"
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.indexPage = 1"
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.trieTableau(" + i + ")"
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.affiche()"
			+ ";";
}

/****************************************************************/
/*				Convertisseur EUR/FRF		 					*/
/****************************************************************/
/*in: 															*/
/*out: renvoi le tableau avec les données converties			*/
/****************************************************************/
function convertisseur(){
	return	"convertisseurOn = (" + convertisseurOn +" == true) ? false : true"
			+ ";document.getElementById( \"" 
			+ this.nomDivReferrent 
			+ "\" ).tableauDynamiqueTriable.affiche()"
			+ ";";
}

/****************************************************************/
/*				Tri du tableau à 2 dimensions		 			*/
/****************************************************************/
/*in: indexTri l'index de la colonne de Tri						*/
/*out: renvoi le tableau trié selon la colonne demandée			*/
/****************************************************************/
function tri2dim( indexTri ) {
		
	// Modif mat
	if ( this.tabMisEnForme ) {
		if( this.tabMisEnForme.tableauACalculPartiel )
			this.tabMisEnForme.calculeTout();
	}
	// Fin modif mat
	
	if ( !this.tabMisEnForme || !this.tabMisEnForme[0] || !this.tabMisEnForme[ 0 ][ indexTri ] || (triType( this.tabMisEnForme[ 0 ][ indexTri ] ) == 0) )
		return this.tabMisEnForme;
			
	var tab2 = [];
	var tabNeg = [];
	switch( triType( this.tabMisEnForme[ 0 ][ indexTri ] ) ){
		case "triNum" :
			this.sensTri	= "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				if ( ("" + this.tabMisEnForme[ i ][ indexTri ]).substring(0,1) == "-" )
					tabNeg[ tabNeg.length ] = "-" 
											+ this.tri2dim.floatVersChaineDeCaracteresTriable( ("" + this.tabMisEnForme[ i ][ indexTri ]).split("-")[1] ) 
											+ this.tri2dim.separateur 
											+ i;
				else
					tab2[ tab2.length ] = this.tri2dim.floatVersChaineDeCaracteresTriable( this.tabMisEnForme[ i ][ indexTri ] ) 
										+ this.tri2dim.separateur 
										+ i;
			}
			break;

		case "triDate" :
			this.sensTri	= "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ )
				tab2[ i ] = dateToInt( this.tabMisEnForme[ i ][ indexTri ] ) 
						  + this.tri2dim.separateur 
						  + i;
			break;
		
		case "triLien" :
		case "triCenter" :
			this.sensTri	= "croissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ )
				tab2[ i ] = ((( this.tabMisEnForme[ i ][ indexTri ] ).split(">")[1]).split("<")[0]).toLowerCase() 
						  + this.tri2dim.separateur 
						  + i;
			break;
		
		case "triPourCent" :  
			this.sensTri	= "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				if ( ( this.tabMisEnForme[ i ][ indexTri ] ).substr(( this.tabMisEnForme[ i ][ indexTri ] ).length - 1, 1) == "%" )
					var valeurPourCent = ( this.tabMisEnForme[ i ][ indexTri ] ).substr(0, ( this.tabMisEnForme[ i ][ indexTri ] ).length - 1);
				else {
					var valeurPourCent = (this.tabMisEnForme[ i ][ indexTri ]).split("-->")[0];
					valeurPourCent = valeurPourCent.substr(4, valeurPourCent.length);
				}  
				if ( ("" + valeurPourCent).substring(0,1) == "-" )  
					tabNeg[ tabNeg.length ] = "-" 
											+ this.tri2dim.floatVersChaineDeCaracteresTriable( ("" + valeurPourCent).split("-")[1] ) 
											+ this.tri2dim.separateur 
											+ i;
				else
					tab2[ tab2.length ] = this.tri2dim.floatVersChaineDeCaracteresTriable( valeurPourCent ) 
										+ this.tri2dim.separateur   
										+ i;
			}
			break;
		case "triMonnaie" :
			this.sensTri	= "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				if ( ("" + this.tabMisEnForme[ i ][ indexTri ]).substring(0,1) == "-" )
					tabNeg[ tabNeg.length ] = "-" 
											+ this.tri2dim.floatVersChaineDeCaracteresTriable( ("" + (this.tabMisEnForme[ i ][ indexTri ]).substr(0,((this.tabMisEnForme[ i ][ indexTri ]).length) - 3)).split("-")[1] ) 
											+ this.tri2dim.separateur 
											+ i;
				else
					tab2[ tab2.length  ] = this.tri2dim.floatVersChaineDeCaracteresTriable((this.tabMisEnForme[ i ][ indexTri ]).substr(0,((this.tabMisEnForme[ i ][ indexTri ]).length) - 3) ) 
										 + this.tri2dim.separateur 
										 + i;
			}
			break;
		
		case "triGraphe" :
			this.sensTri = "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				var moyenneGraphe = (this.tabMisEnForme[ i ][ indexTri ]).split("_")[1];
				 	
			 	if ( ("" + moyenneGraphe).substring(0,1) == "-" )
					tabNeg[ tabNeg.length ] = "-" 
											+ this.tri2dim.floatVersChaineDeCaracteresTriable( ("" + moyenneGraphe).split("-")[1] ) 
											+ this.tri2dim.separateur 
											+ i;
				else
					tab2[ tab2.length ] = this.tri2dim.floatVersChaineDeCaracteresTriable( moyenneGraphe ) 
										+ this.tri2dim.separateur 
										+ i;
			}
			break;
		
		case "triImage" :
			this.sensTri = "decroissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				var nombre = (this.tabMisEnForme[ i ][ indexTri ]).split("_")[1];
				 	
				tab2[ tab2.length ] = this.tri2dim.floatVersChaineDeCaracteresTriable( nombre ) 
									+ this.tri2dim.separateur 
									+ i;
			}
			break;
		
		case "triString" :
			this.sensTri = "croissant";
			for( var i = 0; this.tabMisEnForme.length != null && i < this.tabMisEnForme.length; i++ ) {
				if ( (this.tabMisEnForme[i][indexTri]).substr(0, 8) == "__CVAL__") {
					tab2[ i ] = ((this.tabMisEnForme[i][indexTri]).split(";")[3]
								+ "-"
								+ (this.tabMisEnForme[i][indexTri]).split(";")[0]
								+ "-"
								+ (this.tabMisEnForme[i][indexTri]).split(";")[1]).toLowerCase() + this.tri2dim.separateur + i;
				 } else
					tab2[ i ] = (this.tabMisEnForme[ i ][ indexTri ]).toLowerCase() + this.tri2dim.separateur + i;
			}
	}
	tabNeg.sort();
	tabNeg.reverse();
	tab2.sort();
	tab2 = tabNeg.concat(tab2);
	var tab3 = [];
	for( var i = 0; i < tab2.length; i++ )
		tab3[ i ] = this.tabMisEnForme[ tab2[ i ].split( this.tri2dim.separateur )[ 1 ] ];
	this.tabMisEnForme = tab3;  
	return this.tabMisEnForme;
}

/****************************************************************/
/*			Transformation d'un float en une chaine triable		*/
/****************************************************************/
/*in: f le float												*/
/*out: renvoi le float sous la forme d'une chaine triable		*/
/****************************************************************/
function floatVersChaineDeCaracteresTriable( f ){
	return (
		( "00000000000000000000000000000000000" + f ).substr( ( f + "." ).indexOf( "." ) )
	);
}

/****************************************************************/
/*				Affichage du tableau							*/
/****************************************************************/
/*in: 															*/
/*out: res le tableau à afficher								*/
/****************************************************************/
var res = [];
var lienPage = [];
function affTabMulti(){
	res.length = 0;	
	lienPage.length = 0;

	var plusieursPages = false;
	var nbTitresVisibles = 0;
	
	/* Calcul du nombre de colonnes à afficher */
		for (var t in this.tabTitre)
			if ( this.tabTitre[t][1] == "visible" )
				nbTitresVisibles++;
	
	if (this.tabMisEnForme != null) { 
		/* Calcul du nombre de pages pour le tableau */
		if (this.lignesAAfficher < this.tabMisEnForme.length) { 
			plusieursPages = true;
			if (this.tabMisEnForme.length % this.lignesAAfficher == 0)
				var nbPages = this.tabMisEnForme.length / this.lignesAAfficher;
			else
				var nbPages = parseInt(this.tabMisEnForme.length / this.lignesAAfficher, 10) + 1;
		} else { 
		var nbPages = 1;
		} 
		
		/* Création de la pagination du tableau */
		if (this.indexPage > 1)
			lienPage[lienPage.length] = "<td class='pageTabPrec'>"
					 + "<a class='pageTabPrec' href='#' onClick='javascript:" 
					 + this.affPageNext(-1) 
					 + "return false;'>"
					 + Multilingue_precedent + "</a>"
					 + "</td>";				
		else 
			lienPage[lienPage.length] = "<td class='pageTabPrec'>"
					 + "<span class='pageTabPrec'>" + Multilingue_precedent + "</span></td>";

		if (nbPages < 6) { 
			lienPage[lienPage.length] = "<td class='pageTab'>";
			for(var i = 1; i < nbPages + 1; i++) {
				if (i == this.indexPage) { 
					lienPage[lienPage.length] = "<span class='pageActuelle'>" + i + "</span>";
				} else { 
					lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(i) + "return false;'>";
					lienPage[lienPage.length] =  i + "</a>";
				} 
				if (i != nbPages)
					lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span>";
			} 
			
			lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span><a class='pageTab' href='#' onClick='javascript:document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.lignesAAfficher=document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.tabMisEnForme.length;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.ligneDepart = 0;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.affiche();calcul_hauteur_block_referencement();return false;'>"+Multilingue_tous+"</a> ";
			
			lienPage[lienPage.length] = "</td>";
		} else { 
			if (this.indexPage < 4) { 
				lienPage[lienPage.length] = "<td class='pageTab'>";
				for(var i = 1; i < 6; i++) { 
					if (i == this.indexPage) { 
						lienPage[lienPage.length] = "<span class='pageActuelle'>" + i + "</span><span class='pageTabSeparateur'>|</span>";
					} else { 
						lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(i) + "return false;'>";
						lienPage[lienPage.length] =  i + "</a><span class='pageTabSeparateur'>|</span>";
					} 
				} 
				lienPage[lienPage.length] = "... ";
				lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(nbPages) + "return false;'>";
				lienPage[lienPage.length] =  nbPages + "</a>";
				
				lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span><a class='pageTab' href='#' onClick='javascript:document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.lignesAAfficher=document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.tabMisEnForme.length;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.ligneDepart = 0;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.affiche();calcul_hauteur_block_referencement();return false;'>"+Multilingue_tous+"</a> ";
			
				lienPage[lienPage.length] = "</td>";
			} else if (this.indexPage > (nbPages - 3)) { 
				lienPage[lienPage.length] = "<td class='pageTab'>";
				lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(1) + "return false;'>";
				lienPage[lienPage.length] =  1 + "</a>";
				lienPage[lienPage.length] = "...<span class='pageTabSeparateur'>|</span>";
				for(var i = nbPages - 4; i < nbPages + 1; i++) {
					if (i == this.indexPage) { 
						lienPage[lienPage.length] = "<span class='pageActuelle'>" + i + " </span>";
					} else { 
						lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(i) + "return false;'>";
						lienPage[lienPage.length] =  i + "</a>";
					} 
					if (i != nbPages)
					lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span>";
				} 
				
				lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span><a class='pageTab' href='#' onClick='javascript:document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.lignesAAfficher=document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.tabMisEnForme.length;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.ligneDepart = 0;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.affiche();calcul_hauteur_block_referencement();return false;'>"+Multilingue_tous+"</a> ";
			
				lienPage[lienPage.length] = "</td>";
			} else { 
				lienPage[lienPage.length] = "<td class='pageTab'>";
				lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(1) + "return false;'>";
				lienPage[lienPage.length] =  1 + "</a>";
				lienPage[lienPage.length] = "...<span class='pageTabSeparateur'>|</span>";
				for(var i = this.indexPage - 2; i < (this.indexPage + 3); i++) { 
					if (i == this.indexPage) { 
					lienPage[lienPage.length] = "<span class='pageActuelle'>" + i + "</span> - ";
					} else { 
						lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(i) + "return false;'>";
						lienPage[lienPage.length] =  i + "</a><span class='pageTabSeparateur'>|</span>";
					} 
				} 
				lienPage[lienPage.length] = "... ";
				lienPage[lienPage.length] = "<a class='pageTab' href='#' onClick='javascript:" + this.affPage(nbPages) + "return false;'>";
				lienPage[lienPage.length] =  nbPages + "</a>";
				
				lienPage[lienPage.length] = "<span class='pageTabSeparateur'>|</span><a class='pageTab' href='#' onClick='javascript:document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.lignesAAfficher=document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.tabMisEnForme.length;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.ligneDepart = 0;document.getElementById( \"" + this.nomDivReferrent + "\" ).tableauDynamiqueTriable.affiche();calcul_hauteur_block_referencement();return false;'>"+Multilingue_tous+"</a> ";
			
				lienPage[lienPage.length] = "</td>";
			} 
		} 
		if (this.indexPage < nbPages) { 
			lienPage[lienPage.length] = "<td class='pageTabSuiv'>"
					 + "<a class='pageTabSuiv' href='#' onClick='javascript:" 
					 + this.affPageNext(1) 
					 + "return false;'>"
					 + Multilingue_suivant + "</a>"
					 + "</td>";
		} else { 
			lienPage[lienPage.length] = "<td class='pageTabSuiv'>"
					 + "<span class='pageTabSuiv'>"+ Multilingue_suivant +"</span></td>";
		} 
	} 
	
	res[res.length] = "<table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td><table class='table1' cellspacing='0' cellpadding='0' border='0'>";
	TitreTableauExiste = false;
	/* Affichage du titre du tableau */
	if (this.titreTableau) {
		var titreDuTableau = "";
			
		/*  __CVAL__codePlace_codeIsin;mnemonique;type_valeur;libelle;devise  */
		if ( (this.titreTableau).substr(0, 8) == "__CVAL__") { 
			var codePlace = (((this.titreTableau).split(";")[0]).substr(8) ).split("_")[0];
			var codeIsin = (((this.titreTableau).split(";")[0] ).substr(8) ).split("_")[1];
			var mnemonique = (this.titreTableau).split(";")[1];
			if ( (!mnemonique) || (mnemonique == "") )
				mnemonique = "";
			else
				mnemonique = " (" + mnemonique + ")";
				 
			var type_valeur = (this.titreTableau).split(";")[2];
			var libelle = (this.titreTableau).split(";")[3];
			if ( (this.titreTableau).split(";")[4] )
				var devise = (this.titreTableau).split(";")[4];
			else
				var devise = "";
			if (!codePlace)
				codePlace = "";
			var codePlaceLibelle = getPlaceLibelle( codePlace );
				
			titreDuTableau += "<b>" + libelle + mnemonique + "</b><br><nobr>";
			
			titreDuTableau += pictosSelonType (codePlace + "_" + codeIsin, type_valeur, false, devise );
		
			titreDuTableau	+= "</NOBR>";

		/*  String quelconque  */
		} else {
			titreDuTableau = this.titreTableau;
		}
		res[res.length] = "<tr height='22px' vertical-align='top' class='TABLEAUENTETETITRE'>"
			+ "<td class='TABLEAUENTETE' width='100%' colspan='"
			+ nbTitresVisibles
			+ "'><span><span>"
			+ titreDuTableau
			+ "</span></span></td></tr>";
			
			TitreTableauExiste = true;
	}
	
	/* Affichage pagination */
	if ( nbPages > 1) 
		res[res.length] = ""
		//res[res.length] = "<tr class='lignePagination'><td colspan='"
		//	+ nbTitresVisibles
		//	+ "'>"
		//	+"<table width='100%'>"
		//	+ lienPage.join( "" ) 
		//	+ "</table>"
		//	+"</td></tr>";
	
	/* Affichages des titres de colonnes */
	if(	document
		.getElementById( this.nomDivReferrent )
		.tableauDynamiqueTriable
		.afficherTitres())
	{ 

		// Si titre dnas le tableau
		if(TitreTableauExiste){
			TitreTableauExisteClass = "TABLEAUENTETE1";
		}else{
			TitreTableauExisteClass = "TABLEAUENTETE";
		}

		res[res.length] = "<tr class='" + TitreTableauExisteClass + "' height='22px'>";

		// Ajoute une class aux colonnes de l'entete (idem lignes))
		var X_MaClass = "col";
		var X_MaClassCompt = 1;
		
		for( var i in this.tabTitre )
			if (this.tabTitre[i][1] == "visible") 
				if (this.tabTitre[i][2] == "triable") { 
					res[res.length] = "<td class='"+ X_MaClass + X_MaClassCompt + " TABLEAUENTETE' style='text-align:center'>"
					X_MaClassCompt++;

					if(this.tabTitre[ i ][0].match("Libellé") != null)
					    res[res.length] = "<nobr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
					
					res[res.length] = " <a href='#' class='"
						+ ((i == this.indexTri) ? "TABLEAUENTETEACTIF" : "TABLEAUENTETE")
						+ "'";
					if ( this.tabMisEnForme != null )
						res[res.length] = " onClick='javascript:"
							+ this.changeTri(i)
							+ "return false;'";
					res[res.length] = ">"
						+ this.tabTitre[ i ][0]
						+ "</a></nobr>";
					if(this.tabTitre[ i ][0].match("Libellé") != null)
					    res[res.length] = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</nobr>"
					
				    res[res.length] = "</td>";
				} else {
					res[res.length] = "<td class='"+ X_MaClass + X_MaClassCompt + " TABLEAUENTETE' style='text-align:center'>"
						+ this.tabTitre[i][0]
						+ "</td>";
					X_MaClassCompt++;
				}

		res[res.length] = "</tr>";
	} 
	
	var messages_erreur = "";
	if( (this.tabDonnees == null) || (this.tabDonnees.length > 0) )
	{
		messages_pas_de_valeur = Multilingue_pasDeValeurCritere;
	}
	else
	{
		messages_pas_de_valeur = Multilingue_pasDeValeur;
	}
	/* Affichage des données */
	if ( (this.tabMisEnForme == null) || (this.tabMisEnForme.length == 0) ) { 
		res[res.length] = "<tr class='tabNull'><td colspan='" + this.tabTitre.length + "'>"+messages_pas_de_valeur+"</td></tr>";
	} else if (this.tabMisEnForme == "erreur") {
		res[res.length] = "<tr class='tabNull'><td colspan='" + this.tabTitre.length + "'>Données momentanément indisponibles</td></tr>";
	} else { 
		var couleurCellule = 0;
		var nbLigneDernierePage = this.tabMisEnForme.length % this.lignesAAfficher;
		
		/* Ligne supplementaire pour tableau genere dynamiquement mat */			
		if( this.tabMisEnForme.tableauACalculPartiel )
			this.tabMisEnForme.calculeLignes
			(
				this.ligneDepart,
				this.ligneDepart + this.lignesAAfficher
			);
		// Fin ligne supp
		
		for(	var i = this.ligneDepart;
				i < (this.ligneDepart + this.lignesAAfficher) && i < this.tabMisEnForme.length;
				i++ )
		{ 
			if (this.tabMisEnForme[ i ].ligneDeCasse != null)
					res[res.length] =	"<tr class='ligneDeCasse' height='22px'><td  colspan='" 
						+ this.tabTitre.length 
						+ "'><div class='ligneDeCasse'><strong>"
						+ this.tabMisEnForme[ i ].ligneDeCasse 
						+ "</strong></div></td></tr>";
						
			if (couleurCellule++ % 2)
				res[res.length] = "<tr class='lignes TABLEAULIGNE2' onmouseover='memo_class=this.className;this.className=this.className+&#39; hover_lignes_menu&#39;+menu_actif;'  onmouseout='this.className=memo_class;'>"; 
			else
				res[res.length] = "<tr class='lignes TABLEAULIGNE1' onmouseover='memo_class=this.className;this.className=this.className+&#39; hover_lignes_menu&#39;+menu_actif;'  onmouseout='this.className=memo_class;'>";
			
			var testPositionEnLiquidation = false;
			

			// ajoute une class au colonne dans les lignes
			var X_MaClass = "col";
			var X_MaClassCompt = 1;
			for( var j = 0; j < this.tabTitre.length; j++ ) { 
				if ( this.tabTitre[ j ][ 1 ] != "visible")
					continue;

				if(X_MaClassCompt != this.tabTitre.length){
					res[res.length] = "<td class=\""+ X_MaClass + X_MaClassCompt +"\"";
				}else{
					res[res.length] = "<td class=\""+ X_MaClass + X_MaClassCompt +"\"";
				}
				X_MaClassCompt++;
				
				// Si donnée vide ou null
				if ( verifNullData(this.tabMisEnForme[ i ][ j ]) != "not null" ) {
					this.tabMisEnForme[ i ][ j ] = verifNullData(this.tabMisEnForme[ i ][ j ]);
					res[res.length] = "style='text-align:center'>&nbsp;";
				} else { // Donnée existante 
					if ( ((triType( this.tabMisEnForme[ 0 ][ j ] ) == "triNum") 
							|| (triType( this.tabMisEnForme[ 0 ][ j ] ) == "triDate") 
							|| (triType( this.tabMisEnForme[ 0 ][ j ] ) == "triPourCent") 
							|| (triType( this.tabMisEnForme[ 0 ][ j ] ) == "triMonnaie")) )
//						res[res.length] = "style='text-align:right'>";
						res[res.length] = ">";
					/*else if (triType( this.tabMisEnForme[ 0 ][ j ] ) == "triCenter")
						res[res.length] = "style='text-align:center'>";*/
					else
//						res[res.length] = "style='text-align:left'>";
						res[res.length] = ">";
					
					/**********************************/
					/* Données non convertible en EUR */
					/**********************************/
					if ( (this.tabTitre[j][3] == "nonconvertible")
								&& (!isNaN( (this.tabMisEnForme[ i ][ j ]).substr( 0, (this.tabMisEnForme[ i ][ j ]).length - 3 ) ) )
								&& ( isDevise( (this.tabMisEnForme[ i ][ j ]).substr( (this.tabMisEnForme[ i ][ j ]).length - 3, (this.tabMisEnForme[ i ][ j ]).length ) ) ) ) 
					{ 
						var valeur = (this.tabMisEnForme[ i ][ j ]).substr(0, (this.tabMisEnForme[ i ][ j ]).length - 3) + "";
						var devise = (this.tabMisEnForme[ i ][ j ]).substr( (this.tabMisEnForme[ i ][ j ]).length - 3, (this.tabMisEnForme[ i ][ j ]).length );
						res[res.length] = "<NOBR>" + afficheNombre(valeur, 2) + " " + devise + "</NOBR>";
					}
					
					/*************************************/
					/* Données sans style				 */
					/*************************************/
					else if ( this.tabTitre[j][3] == "nonmodifiable" ) {
						res[res.length] = "<NOBR>" + this.tabMisEnForme[ i ][ j ] + "</NOBR>";
					}
					/********************************/
					/*	DATE (JJ/MM/AAAA)			*/
					/* retire les 2 premiers 		*/
					/* chiffres de l'année 			*/	
					/* ( aaaa -> aa)				*/
					/********************************/
					else if ( isDate(this.tabMisEnForme[ i ][ j ]) ) {
						var arg = this.tabMisEnForme[ i ][ j ];
						
						res[res.length] =	arg.substring(0,2)
							+"/" 
							+ arg.substring(3,5) 
							+"/"
							+ arg.substring(8,10);
					}	
					/****************/	
					/* Pourcentages */
					/****************/
					else if ( ((this.tabMisEnForme[ i ][ j ]).substr( (this.tabMisEnForme[ i ][ j ]).length - 1, (this.tabMisEnForme[ i ][ j ]).length ) == "%" )
								&& (!isNaN((this.tabMisEnForme[ i ][ j ]).substr( 0, (this.tabMisEnForme[ i ][ j ]).length - 1 ))) ) {
						var valeur = (this.tabMisEnForme[ i ][ j ]).substr(0, (this.tabMisEnForme[ i ][ j ]).length - 1) + "";
						res[res.length] = "<NOBR>" + formatPourcent( "" + valeur ) + "</NOBR>";
					}
					/***********/ 
					/* Nombres */
					/***********/
					else { 
						if (!isNaN( this.tabMisEnForme[ i ][ j ] ) && this.tabMisEnForme[ i ][ j ] != "" && this.tabMisEnForme[ i ][ j ] != " " || this.tabMisEnForme[ i ][ j ].substr(0,6) == "_EFFE_") { 
							var valeur = this.tabMisEnForme[i][j] + "";
							if ( this.tabTitre[j][5] && (this.tabTitre[j][5]!="nondecimalisable") ) {
								var codeIsin = this.tabMisEnForme[i][0];
								var decimalisation = 0;
								if (this.tabTitre[j][5][codeIsin]) {
									switch( this.tabTitre[j][5][codeIsin] )
								 	{
									 	case "EM" :
									 	case "1" :
									 	case 1 :
									 		valeur = valeur;
									 		break;
									 	case "DI" :
									 	case "10" :
									 	case 10 :
									 		decimalisation = 1;
									 		break;
									 	case "CE" :
									 	case "100" :
									 	case 100 :
									 		decimalisation = 2;
									 		break;
									 	case "MI" :
									 	case "1000" :
									 	case 1000 :
									 		decimalisation = 3;
									 		break;
									 	case "DM" :
									 	case "10000" :
									 	case 10000 :
									 		decimalisation = 4;
									 		break;
									 	case "CM" :
									 	case "100000" :
									 	case 100000 :
									 		decimalisation = 5;
									 		break;					
									 	default:
									 		valeur = valeur;
									 		break;
									 }
								}
								valeur = valeur;
								res[res.length] = "<NOBR>" + afficheNombre(valeur, decimalisation) + "</NOBR>";
							} else
								res[res.length] = "<NOBR>" + afficheNombre(valeur, this.tabTitre[j][4]) + "</NOBR>";
						}
						/***********/ 
						/* String  */
						/***********/
						else {
							/*  __CVAL__codePlace_codeIsin;mnemonique;type_valeur;libelle;devise  */
							if ( (this.tabMisEnForme[i][j]).substr(0, 8) == "__CVAL__") { 
								var plisin = ((this.tabMisEnForme[i][j]).split(";")[0]).substr(8);
								var codePlace = (((this.tabMisEnForme[i][j]).split(";")[0]).substr(8) ).split("_")[0];
								var codeIsin = (((this.tabMisEnForme[i][j]).split(";")[0] ).substr(8) ).split("_")[1];
								var mnemonique = (this.tabMisEnForme[i][j]).split(";")[1];
								if ( (!mnemonique) || (mnemonique == "") )
									mnemonique = "";
								else
									mnemonique = " (" + mnemonique + ")";
									 
								var type_valeur = (this.tabMisEnForme[i][j]).split(";")[2];
								var libelle = (this.tabMisEnForme[i][j]).split(";")[3];
								if ( (this.tabMisEnForme[i][j]).split(";")[4] )
									var devise = (this.tabMisEnForme[i][j]).split(";")[4];
								else
									var devise = "";
								if (!codePlace)
									codePlace = "";
								var codePlaceLibelle = getPlaceLibelle( codePlace );
								var appel = "";
								if (top.estClient()){
									appel = 'top.change_class(\"FV\");';
								}
								if (top.opener) {	
									try {
										
										if ( top.opener && top.opener.top.main )
											appel = 'top.opener.top.main.location.href=top.opener.top.clientMakeScriptURL';
										else
											appel = 'document.location.href=top.clientMakeScriptURL';
									} catch(e) {
										appel = 'top.main.location=top.clientMakeScriptURL';
									}
								} else
									appel += 'document.location.href=top.clientMakeScriptURL';
								var urlFV = "";
									switch(transfoTypeValeur(type_valeur)) { 
										case "action" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeur.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "indice" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurIndice.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "bon souscription" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurBS.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "obligations" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurObligations.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "OPCVM" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurOPCVM.jsp\" ) + \"&plisin=" + plisin + "&devise=" + devise + "\"";
										break;
										case "warrants" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurWarrant.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "certificats" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurCertificat.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										case "trackers" :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeurTrackers.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
										default :
											urlFV = appel + "( \"/WebBank/scripts/FRT5.2/lesMarches/ficheValeur.jsp\" ) + \"&plisin=" + plisin + "\"";
										break;
									}	
								
			
								res[res.length] = "<b><a href='#' onClick='" + urlFV + ";return false;'>" + jolinom( libelle ) + mnemonique + "</a></b><br><nobr>";
								res[res.length] = pictosSelonType (codePlace + "_" + codeIsin, type_valeur, false, devise )
								res[res.length]	= "</NOBR>";
								
								/*if ( comptantOuSrd != "" )
									res[res.length] = "<br>" + comptantOuSrd + "";*/

							/*  Graphe Avis consensus  */
							} else if ( (this.tabMisEnForme[i][j]).substr(0, 6) == "graphe") { 
								res[res.length] = (this.tabMisEnForme[ i ][ j ]).split("_")[2];
							/*  Image Style Rating  */
							} else if ( (this.tabMisEnForme[i][j]).substr(0, 5) == "image") { 
								res[res.length] = (this.tabMisEnForme[ i ][ j ]).substr(8);
							/*  String quelconque  */	
							} else 
								res[res.length] = (this.tabMisEnForme[ i ][ j ] == "null") ? " " : this.tabMisEnForme[ i ][ j ];
						} 
					}
				}
				res[res.length] = "</td>";
			} 
			res[res.length] = "</tr>";
		} 
		res[res.length] = "</td></tr>";
	} 
	
	/* Affichage pagination bas */
	if ( nbPages > 1)
		res[res.length] = "<tr class='lignePagination'><td colspan='"
			+ nbTitresVisibles
			+ "'><table width='100%'>"
			+ lienPage.join( "" )
			+ "</table></td></tr>";
	res[res.length] = "</table></td></tr></table>";
	return res.join("");
}

/****************************************************************/
/*			Afficher le tableau filtré							*/
/****************************************************************/
/*in: 	colonneFiltre la colonne correspondante au filtrage 	*/
/*		fonctionFiltre la fonction de définition du filtre		*/
/*			à appliquer											*/
/*out: 	affiche le tableau filtré								*/
/****************************************************************/
function filtrer( colonneFiltre, fonctionFiltre ) {
	if( this.tabMisEnForme.tableauACalculPartiel )
		this.tabMisEnForme.calculeTout();

	this.colonneFiltre	= ( isNaN( colonneFiltre ) ?
								this.indexColonne( colonneFiltre ) : colonneFiltre );
	this.fonctionFiltre	= fonctionFiltre;

	// Retour au debut du tableau
	this.indexPage		= 1;
	this.ligneDepart	= 0;

	// Application du filtre et affichage
	this.filtreTableau();
	this.affiche();
}

/****************************************************************/
/*			Afficher le tableau inversé							*/
/****************************************************************/
/*in: 	colonneFiltre la colonne correspondante au filtrage 	*/
/*		fonctionFiltre la fonction de définition du filtre		*/
/*			à appliquer											*/
/*out: 	affiche le tableau filtré								*/
/****************************************************************/
function inverser() {
	if( this.tabMisEnForme.tableauACalculPartiel )
		this.tabMisEnForme.calculeTout();
	this.tabMisEnForme.reverse();
	this.affiche();
}

/****************************************************************/
/*			Annuler le Filtrage du tableau						*/
/****************************************************************/
/*in: 														 	*/
/*out: 	affiche le tableau filtré								*/
/****************************************************************/
function nePasFiltrer(){
	if ( this.tabMisEnForme.length != this.tabDonnees.length )
		this.tabMisEnForme =  this.tabDonnees;
	this.filtrer( null, null );
}

/****************************************************************/
/*				Filtrer le tableau								*/
/****************************************************************/
/*in: 														 	*/
/*out: 	applique la fonction de filtre sur le tableau			*/
/*			possibilité de plusieurs filtres					*/
/****************************************************************/
function filtreTableau(){	
	/******************  Plusieurs Filtres  *************************/
	var tabFiltre		= [];
	for( var i = 0; i < this.tabMisEnForme.length; i++ )
		if(	this.colonneFiltre == null ||
			this.fonctionFiltre( 
					this.tabMisEnForme[ i ][ this.colonneFiltre ] ) 
			)
			tabFiltre[tabFiltre.length] = this.tabMisEnForme[ i ];
	if ( (tabFiltre == null) || (tabFiltre[0] == null) )
		this.tabMisEnForme	= [];
	else
		this.tabMisEnForme	= tabFiltre;
	if( (this.indexTri != -1) && (tabFiltre != null) && (tabFiltre[0] != null) && (this.afficherLigneCasse != true) )
	{
		this.tabMisEnForme	= this.tri2dim( this.indexTri );
		this.trieTableau( this.indexTri );
	}
	/****************  Fin dePlusieurs Filtres  **********************/
}

/****************************************************************/
/*			Vérification du sens de trie						*/
/****************************************************************/
/*in: 	indexTri l'index de la colonne de tri				 	*/
/*out: 	détermine le sens du tri croissant/decroissant			*/
/*		lance le tri du tableau (tri2dim)						*/
/****************************************************************/
function trieTableau( indexTri ){
	if( this.tabMisEnForme.tableauACalculPartiel )
		this.tabMisEnForme.calculeTout();
	// Si deja trie sur cette colonne, on trie dans l'autre sens
	if( this.indexTri == indexTri ) {
		this.tabMisEnForme.reverse();
		this.sensTri = ( this.sensTri == "croissant" ) ? 
							"decroissant" : "croissant";
	} else {
		this.tabMisEnForme	= this.tri2dim( indexTri );
		if( this.sensTri == "decroissant" )
			this.tabMisEnForme.reverse();
		this.indexTri		= indexTri;
	}
}

/*========================================================================*/
/*==********************************************************************==*/
/*==      Creation de la zone et du tableau dynamique à afficher		==*/
/*==********************************************************************==*/
/*==  													 			   	==*/
/*==		La fonction principale d'affichage et de tri du tableau		==*/
/*==									 								==*/
/*==********************************************************************==*/
/*========================================================================*/
function tableauDynamiqueTriable(
							titreTableau,
							tabTitre,
							tabDonnees,
							indexTri,
							lignesAAfficher,
							afficherLigneCasse,
							nomTableau ){

	/* Initialisation */
	try {
	 	if( top.tableauDynamiqueTriable_nomDivReferrent == null )
	  	top.tableauDynamiqueTriable_nomDivReferrent = 0;
	 
	 	var nomDivReferrent  = "divTableauDynamiqueTriable_"
	       						+ top.tableauDynamiqueTriable_nomDivReferrent++;
	} catch ( e ) {
		var nomDivReferrent  = "divTableauDynamiqueTriable_df";
	}

	document.write(			"<div id='"
							+ nomDivReferrent
							+ "' name='" 
							+ nomDivReferrent 
							+ "' class='" 
							+ arguments[6] 
							+ "'>__STRTOREPLACE__</div>\n" );

	document.getElementById( nomDivReferrent ).tableauDynamiqueTriable =
	{	
		"divReferrent"		: document.getElementById( nomDivReferrent ),
		"nomDivReferrent"	: nomDivReferrent,
		"titreTableau"		: titreTableau,
		"tabTitre"			: tabTitre,
		"tabDonnees"		: ( ( tabDonnees && tabDonnees.length ) ? tabDonnees : null ),
		"tabMisEnForme"		: ( ( tabDonnees && tabDonnees.length ) ? tabDonnees : null ),
		"lignesAAfficher"	: lignesAAfficher,
		"indexTri"			: indexTri,
		"sensTri"			: "croissant",
		"ligneDepart"		: 0,
		"indexPage"			: 1,
		"colonneFiltre"		: null,
		"fonctionFiltre"	: null,
		"afficheConvertisseur" : false,
		"afficherLigneCasse" : afficherLigneCasse
	}

	var T = document.getElementById( nomDivReferrent ).tableauDynamiqueTriable;
	
	for (var i in T.tabTitre) {
		if (T.tabTitre[i].length == 4)
			T.tabTitre[i][4] = 0;
		if ( (T.tabTitre[i].length == 5) && ( isNaN(T.tabTitre[i][4]) ) ){
			T.tabTitre[i][5] = T.tabTitre[i][4];
			T.tabTitre[i][4] = 0;
		}
	}
	
	if (this.tabDonnees == "erreur") {
		T.tabDonnees = "erreur";
		T.tabMisEnForme = "erreur";
	}
	/* Fin de Initialisation */
	
	/* Methodes */
	/**********************************************************/
	/* Verification de l'affichage des intitulés des colonnes */
	/**********************************************************/
	/* Si au moins 1 intitulé est présent renvoi true		  */
	/* sinon renvoi false									  */
	/**********************************************************/
	T.afficherTitres		= function()
	{
		if( this.afficherTitres.cache != null )
			return this.afficherTitres.cache;
		for( var i in tabTitre )
			if(	tabTitre[ i ][ 0 ] != null && tabTitre[ i ][ 0 ].length )
				return this.afficherTitres.cache = true;
		return this.afficherTitres.cache = false;
	}
	
	/**********************************************************/
	/*  Recherche de l'index de la colonne					  */
	/**********************************************************/
	/*in:  nomColonne l'intitulé de la colonne				  */
	/*out: renvoi l'index de la colonne					 	  */
	/**********************************************************/
	T.indexColonne		= function( nomColonne )
	{
		for( var i = 0; i < this.tabTitre.length; i++ )
			if( this.tabTitre[ i ][ 0 ] == nomColonne )
				return i;
		
		return null;
	}
	
	/**********************************************************/
	/*				Affichage de la page suivante		 	  */
	/**********************************************************/
	/*in: direction le sens précédente/suivante -> -1/1		  */
	/*out: renvoi la partie du tableau à afficher			  */
	/**********************************************************/
	T.affPageNext = affPageNext;

	/**********************************************************/
	/*				Affichage d'une page précise		 	  */
	/**********************************************************/
	/*in: i le numéro de la page à afficher					  */
	/*out: renvoi la partie du tableau à afficher			  */
	/**********************************************************/
	T.affPage = affPage;
	
	/**********************************************************/
	/*      Affichage du tableau lors d'un tri		  	      */
	/**********************************************************/
	/*in:  i l'index de la colonne de Tri		 			  */ 
	/*out: renvoi le tableau trié selon la colonne i		  */
	/*	   en réinitialisant le tableau au début 			  */
	/*	   (1ere page et ligne)								  */
	/**********************************************************/
	T.changeTri = changeTri;
	
	/**********************************************************/
	/*          Convertisseur de devises Euros/Francs         */
	/**********************************************************/
	/* Affiche le convertisseur EUR/FRF						  */
	/**********************************************************/
	T.convertisseur = convertisseur;
	
	/**********************************************************/
	/*        Tri d'un tableau a n lignes et n colonnes       */
	/**********************************************************/
	/*in:  this.tabMisEnForme le tableau a trier			  */
	/*	   indexTri l'index de la colonne de tri			  */
	/*out: renvoi le tableau trié selon la colonne demandée	  */
	/**********************************************************/
	T.tri2dim = tri2dim;
	
	/**********************************************************/
	/*		Transformation d'un float en une chaine triable	  */
	/**********************************************************/
	/*in: f le float										  */
	/*out: renvoi une chaine triable						  */
	/**********************************************************/
	T.tri2dim.floatVersChaineDeCaracteresTriable = floatVersChaineDeCaracteresTriable;
	
	/* 	Definition d'un separateur dans une chaine 		 */
	T.tri2dim.separateur = "#$^*µ²";
	
	/**********************************************************/
	/*				Affichage du tableau					  */
	/**********************************************************/
	/*in: 													  */
	/*out: res le tableau à afficher sous forme html		  */
	/**********************************************************/
	T.affTabMulti = affTabMulti;
	
	T.inverser = inverser;
	/****************************************************************/
	/*     		 Filtre sur le tableau		  	     	 			*/
	/****************************************************************/
	/*in:  colonneFiltre la colonne du tableau sur laquelle filtrer	*/
	/*	   fonctionFiltre la fonction qui détermine le filtre		*/
	/*out: affiche la partie du tableau filtrée						*/
	/****************************************************************/
	T.filtrer = filtrer;
	T.nePasFiltrer = nePasFiltrer;
	T.filtreTableau = filtreTableau;

	/****************************************************************/
	/*     		 Tri du tableau				  	     	 			*/
	/****************************************************************/
	/*in:  indexTri l'index de la colonne de tri					*/
	/*out: détermine et lance le tri du tableau dans le bon sens	*/
	/****************************************************************/
	T.trieTableau		= trieTableau;
	
	/****************************************************************/
	/*     		Affichage du tableau		  	     	 			*/
	/****************************************************************/
	/*in:  															*/
	/*out: affiche le tableau dans sa zone dynamique				*/
	/****************************************************************/
	T.affiche			= function()
	{
		// Si le navigateur est IE sur MAC
		if ( 
			(navigator.appName == "Microsoft Internet Explorer") 
			&& (navigator.platform == "MacPPC")
		)
		{
			if( this.divReferrent_initialOuterHTML == null )
				this.divReferrent_initialOuterHTML = this.divReferrent
															.outerHTML;
			
			this.divReferrent.outerHTML =
				this.divReferrent_initialOuterHTML
					.replace(
						 "__STRTOREPLACE__"
						 , this.affTabMulti() 
								+ "<table><tr><td> </td></tr></table>" 
					);
			
			this.divReferrent = document.getElementById( this.nomDivReferrent);
			this.divReferrent.tableauDynamiqueTriable = this;
		}
		else // Pour les autres navigateurs
		{
			var s = this.affTabMulti();
			this.divReferrent.innerHTML = s;
		}
		redimPage();
		return null;
	}
	
	/****************************************************************/
	/*     		 Calcul de la ligne de casse		  	     	 	*/
	/****************************************************************/
	/*in: 															*/
	/*out: gere l'insertion de la ligne de casse dans le tableau	*/
	/****************************************************************/
	T.calculerLigneCasse	= function(){
		var valeurCasseEnCours = null;
		var tmp = "";
		for( var i = 0; i < this.tabMisEnForme.length; i++ ) {
			if (
				this.tabMisEnForme[ i ][ this.indexTri ]
					.substr(0, 8) == "__CVAL__"
			)
				tmp = (this.tabMisEnForme[ i ][ this.indexTri ])
						.split(";")[3]
					+ "<br>"
					+ ((
						(this.tabMisEnForme[ i ][ this.indexTri ])
							.split(";")[0]
					   ).substr(8)
					  ).split("_")[1]
					+ " - "
					+ (this.tabMisEnForme[ i ][ this.indexTri ])
						.split(";")[1]
					+ " - "
					+ ((
						(this.tabMisEnForme[ i ][ this.indexTri ])
							.split(";")[0]
						).substr(8)
					  ).split("_")[0];
			else
				tmp = this.tabMisEnForme[ i ][ this.indexTri ];
			if( tmp != valeurCasseEnCours ) {
				valeurCasseEnCours = tmp;
				this.tabMisEnForme[ i ].ligneDeCasse = valeurCasseEnCours;
			}
		}
	}
	
	/* Fin des Methodes */
	
	if ( (tabDonnees != null) && (T.tabDonnees != null) ) {
		if( T.colonneFiltre != -1 && T.colonneFiltre != null )
			T.filtreTableau();
		if( (T.indexTri != -1) && (afficherLigneCasse != true) ) {
			T.indexTri		= indexTri;
			T.indexTri = -1;
			T.trieTableau(indexTri);
		}
		
		if( afficherLigneCasse == "inverse" ) {
			T.tabMisEnForme	= T.tri2dim( indexTri );
			//T.tabMisEnForme.reverse();
			//T.calculerLigneCasse();
		} else if( afficherLigneCasse == true ) {
			T.calculerLigneCasse();
		}
			
		tableauDynamiqueTriable.instances[length] = T;
	} 
	T.affiche();
	return T;
}

/* Variables globales */

tableauDynamiqueTriable.increment			= 0;
tableauDynamiqueTriable.instances			= [];
tableauDynamiqueTriable.decompressionTableau = function ( tab )
{	
	for( var i = 0; i < tab.length; i++ )
		for( var j = 0; tab[ i ].length != null && j < tab[ i ].length; j++ )
			if( tab[ i ][ j ].substr( 0, tableauDynamiqueTriable.decompressionTableau.chaineDebut.length ) == tableauDynamiqueTriable.decompressionTableau.chaineDebut )
				tab[ i ][ j ] =
					tab[ parseInt( tab[ i ][ j ].substr( tableauDynamiqueTriable.decompressionTableau.chaineDebut.length ) ) ][ j ];					

}

tableauDynamiqueTriable.decompressionLigne = function ( tab, numeroLigne )
{
	var i = numeroLigne;
	for( var j = 0; tab[ i ].length != null && j < tab[ i ].length; j++ )
		if( tab[ i ][ j ].substr( 0, tableauDynamiqueTriable.decompressionTableau.chaineDebut.length ) == tableauDynamiqueTriable.decompressionTableau.chaineDebut )
			tab[ i ][ j ] =
				tab[ parseInt( tab[ i ][ j ].substr( tableauDynamiqueTriable.decompressionTableau.chaineDebut.length ) ) ][ j ];
}

tableauDynamiqueTriable
	.decompressionTableau
		.chaineDebut = "__CACHETAB__LIGNE__";

function tableauDynamiqueTriable_nbLignesMax( nbLignesMax ){
 if( this.tableauDynamiqueTriable_dernierLigneAllouee == null )
 	this.tableauDynamiqueTriable_dernierLigneAllouee = -1;
 
 while( this.tableauDynamiqueTriable_dernierLigneAllouee < nbLignesMax )
 	this[ "$" + ++this.tableauDynamiqueTriable_dernierLigneAllouee ] =
 		tableauDynamiqueTriable
     	.decompressionTableau
     	.chaineDebut
     	+ this.tableauDynamiqueTriable_dernierLigneAllouee;
}	
 
tableauDynamiqueTriable_nbLignesMax( 500 );

convertisseurOn = false;

tableauDynamiqueTriable.tableauGenereDynamiquement =
function( nombreLignes, fonctionCalculLigne ){
	var res = [];
	res.length = nombreLignes;
	
	res.tableauACalculPartiel	= true;
	res.calculeLigne		= fonctionCalculLigne;
	res.calculeLignes =
	function( ligneDebut, ligneFin ){
		for( var i = ligneDebut; i < ligneFin && i < this.length; i++ )
			this[ i ] = this.calculeLigne( i );
	}
	res.calculeTout =
	function(){
		this.tableauACalculPartiel = false;
		for( var i = 0; i < this.length; i++ )
			this[ i ] = this.calculeLigne( i );
	}
	return res;
}
/****************************************************************/
/*    Modifie l'affichage des valeurs pourcents en rouge 		*/
/*		ou en vert selon qu'elles soient positives ou négatives	*/
/****************************************************************/
/*in:  valeur initiale											*/
/*out: valeur avec le % en rouge ou en vert						*/
/****************************************************************/
function formatPourcent( n ){	
	if (n == null || isNaN( n ) || (n == "" && n != "0")){
		return "&nbsp;";
	}
	
	var stringn = "" + afficheNombre(n,2);
	
	if ( stringn.substr(0,1) == "-" )
		var string0n = "-" + ( "0000000000" ).substr( 0, 10 - stringn.length + 1 )
						+ stringn.substr(1,stringn.length);    
	else
		var string0n = ( "0000000000" ).substr( 0, 10 - stringn.length )
						+ stringn;

	if( n < 0 ) return	"<\!--" +
						string0n + "--><nobr><span class\=\'baisse\'>" +
						stringn +
						"%</span></nobr>";
	if( n > 0 ) return	"<\!--" +
						string0n + "--><nobr><span class\='\augmente\'>+" +
						stringn +
						"%</span></nobr>";
	if( n == 0 ) return	"<\!--" +
						string0n + "--><nobr><span class\=\'stagne\'>" +
						stringn +
						"%</span></nobr>";
	return	"<\!--" +
			string0n + "--><nobr><span style='text-align:right;>" +
			stringn +
			"</span></nobr>";
} 

/************************************************************************/
/*    Transforme l'affichage d'une date de type AAAAMMJJ 				*/
/*		en JJ/MM/AA ou JJ/MM selon le paramètre							*/
/************************************************************************/
/*in:  date à modifier, type de date en entrée, type de date attendue	*/
/*out: date renvoyée selon le format demandé							*/
/************************************************************************/
function transformeDate(format_date, entree, sortie){
	if ( format_date == null || format_date == "null" || format_date == "" || format_date == "        " )
		return ("&nbsp;");
	var d = new Array();
	if(entree == "aaaammjj"){
		if (sortie == "jm") return ( format_date.substr(6,2) + "/" + format_date.substr(4,2));
		if (sortie == "jma") return (format_date.substr(6,2) + "/" + format_date.substr(4,2) + "/" + format_date.substr(0,4));
	}
	if(entree == "jj/mm/aaaa"){
		for(var i=0; i<8; i++)
			d[i]= format_date.split("/")[i];
		if (sortie == "jm") return ( d[0] + "/" + d[1] );
		if (sortie == "jma") return ( d[0] + "/" + d[1] + "/" + d[2].substr(2,2));
	}
	//format pourri renvoyer par patio pour une valeur payée au SRD
	if(entree == "mm/aa/aaaa"){
		return( format_date.split( "/" )[ 0 ] + "/20" + format_date.split( "/" )[ 1 ] );
	}
	if(entree == "jj.mm.aa"){
		for(var i=0; i<8; i++)
			d[i]= format_date.split(".")[i];
		if (sortie == "jm") return ( d[0] + "/" + d[1] );
		if (sortie == "jma") return ( d[0] + "/" + d[1] + "/" + d[2]);
	}
	if (entree == "yyyy-mm-dd hh:mm"){
		var d = format_date.split(" ")[0];
		var dat = d.split("-")[2] + "/" + d.split("-")[1] + "/" + d.split("-")[0];
		if (sortie == "jma") return (d.split("-")[2] + "/" + d.split("-")[1] + "/" + d.split("-")[0]);
		if (sortie == "jm") return (d.split("-")[2] + "/" + d.split("-")[1]);
	}
}

function jolinom( s ){
	//alert(s);
	var res = "";
	t = s.split( " " );
	for( var i in t )
	{
		res +=
		t[ i ].substr( 0,1 ).toUpperCase() +
		( "" + t[ i ].substr( 1,t[i].length ) ).toLowerCase() +
		" "
	}
		
	return res;
}

function afficheNFois(t, n){
	var esp = t;  
	for (var i=0; i<n; i++)
		esp += t;
	return esp;
}

function popupAide(nom){
	switch (nom){
		case "aide_bourse" :
			return window.open("/home/aide/aide_rubrique_site.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=670, width=687, left=100, top=30" );
		break;
		case "aide_resume" :
			return window.open("/home/aide/aide_resume.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=670, width=687, left=100, top=30" );
		break;
		case "aide_AT" :
			return window.open("/home/aide/aide_rub_analyse.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=670, width=687, left=100, top=30" );
		break;
		case "aide_consensus" :
			return window.open("/home/aide/aide_rub_consensus.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=670, width=687, left=100, top=30" );
		break;
		case "aide_sicav" :
			return window.open("/home/sicav-fcp/aide_sicav.html","", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=610, width=646, left=100, top=10");
		break;
		case "calendrier" :
			return window.open("/home/produits_services/produits/popup_cotations.html","", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=610, width=646, left=100, top=10");
		break;
		case "calendrier_srd" :
			return window.open("/home/produits_services/produits/popup_srd.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= no, height=630, width=646, left=100, top=30 ");
		break;
		case "methodologie" :
			return window.open("/home/produits_services/services/help_methode.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= yes, height=560, width=646, left=100, top=30" );
		break;
		case "glossaire_fonds" :
			return window.open("/home/sicav-fcp/glossaire_fonds.html", "", "menubar=no, toolbar=no, scrollbars=yes, resizable= yes, height=560, width=680, left=100, top=30" );
		break;
	}
}
