/////////////////////////////////////////////////////////////////////
//VARIABLES
/////////////////////////////////////////////////////////////////////
//TABLEAU FAISANT LE LIEN ENTRE LES CODES PLACES ET LES INDICES SUR CETTE PLACE
var place_indice = {	"006"	:	["011_BE0389555039/BEL-20"],
											"025"	:	["025_FR0003500008/CAC 40","025_FR0003501980/ITCAC","025_FR0003501998/ITCAC 50","025_FR0003999473/SBF 80","025_FR0003999481/SBF 120","025_FR0003999499/SBF 250","025_FR0003999515/FRA SECOND MARCHE","025_FR0003999556/NOUVEAU MARCHE","025_FR0003999994/SBF MARCHE LIBRE","025_FR0003502079/EURONEXT 100","025_FR0003502087/NEXT 150","025_FR0003999507/MIDCAC"],
											"038"	:	["038_NL0000000107/AEX-INDEX"],
											"046"	:	["046_IT0003065809/MIB 30"],
											"054"	:	["055_ES0SI0000005/IBEX 35"],
											"067"	:	["067_US6289081050/NASDAQ 100"],
											"072"	:	["072_US6488151084/S&P COMPOSITE 500","072_US7837901088/S&P COMPOSITE 100"],
											"310"	:	["145_US2605661048/DOW JONES INDUS 30"]
										};
										
//TABLEAU FAISANT LE LIEN ENTRE LES CODES PLACES ET LES NOMS DE CES PLACES (REM : pour la france on force à 025 toutes les places de Province)
var place_pays = {	"FRANCE"			:	["025","260"],
										"ETATS-UNIS"	:	["072","065","066","067","310"],
										"ALLEMAGNE"		:	["044"],
										"ANGLETERRE"	:	["036","361"],
										"BELGIQUE"		:	["006"],
										"ESPAGNE"			:	["054"],
										"ITALIE"			:	["046"],
										"PAYS-BAS"		:	["038"],
										"SUISSE"			:	["004"]
									};

var type_valeurs = {	"action"			:"Actions",
											"sicav"				:"Sicav, FCP",
											"warrant"			:"Warrants",
											"obligation"	:"Obligations",
											"tracker"			:"Trackers",
											"certificat"	:"Certificats",
											"autres"			:"Autres"
										};


//var couleur_achat = '#B2EA65';
var couleur_achat = 'limegreen';
//var couleur_vente = '#99FF66';
var couleur_vente = 'tomato';

////////////////////////////////////////////////////////////////////
//Fonctions diverses 
////////////////////////////////////////////////////////////////////
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function showMenu(plisin,type,obj){
	//REM : il est important de donner des id à ces elements car on controle le click souris : si l'id de l'élément sur lequel je clique ne contient pas 'menu_souris', je fais disparaitre le menu
	var tab_action = {
		"Acheter" : { "couleur" : couleur_achat, "action" : "achatVente('"+plisin+"','"+type+"',0);"},
		"Vendre" : { "couleur" : couleur_vente, "action" : "achatVente('"+plisin+"','"+type+"',1);"},
		"Fiche valeur" : { "action" : "ficheValeur('"+plisin+"','"+type+"');"},
		"Graphique" : { "action" : "graphique('"+plisin+"');"}
	};
	var tab_sicav = {
		"Acheter" : { "couleur" : couleur_achat, "action" : "achatVente('"+plisin+"','"+type+"',0);"},
		"Vendre" : { "couleur" : couleur_vente, "action" : "achatVente('"+plisin+"','"+type+"',1);"},
		"Fiche valeur" : { "action" : "ficheValeur('"+plisin+"','"+type+"');"},
		"Notice AMF" : { "action" : "window.open('http://prospectus.cotalpha.fr/procapital/get.php?codeISIN="+plisin.split("_")[1]+"','2','status=no,toolbar=no,scrollbars=yes,resizeable=yes,width=800,height=680');"}
	};
	var resultat = '<table cellspacing="1" cellpadding="0" class="menu_souris">';
	resultat += '<tr><td id="menu_souris_titre" class="menu_souris1">Menu</td></tr>';
	var i = 0;
	var reg = /sicav/i;
	var tab = (!reg.test(type)? tab_action : tab_sicav);
	
	for(var item in tab){
		resultat += '<tr><td  id="menu_souris_option_'+(i++)+'" class="menu_souris2" '+(tab[item]["couleur"] != null ? 'style="background-color:'+tab[item]['couleur']+'"' : '' )+' onClick="'+tab[item]['action']+' document.getElementById(\'menu_souris\').style.display=\'none\';">'+item+'</td></tr>';
	}
	document.getElementById('menu_souris').innerHTML = resultat;
	document.getElementById('menu_souris').style.top = findPosY(obj)+10;
	document.getElementById('menu_souris').style.left = findPosX(obj);
	document.getElementById('menu_souris').style.display = '';
	return false;
}


function click(e) {
  var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	if(targ.id.indexOf('menu_souris') == -1)
  	document.getElementById('menu_souris').style.display = 'none';
  return true;
}

///////////////////////////////////////////////////
function arrondir(n,x){// un nb n, x decimal
	return Math.round(n*Math.pow(10,x))/Math.pow(10,x)
}

///////////////////////////////////////////////////
function tronquer(n,x){
	return Math.floor(multi(n,Math.pow(10,x)))/Math.pow(10,x)
}

Array.prototype.exists = function(valeur){
	var chaine = "|" + this.join("|") + "|";
  if (chaine.indexOf("|"+valeur+"|") == -1) return false;
  else return true;
}

function in_array(tableau, valeur) {
  var chaine = "|" + tableau.join("|") + "|";
  if (chaine.indexOf("|"+valeur+"|") == -1) return false;
  else return true;
}

function nom_correct(valeur){
  //re = /^[\s0-9A-Za-zéèêëàâäçîïôöùûüÉÈÊËÀÂÄÎÏÔÖÙÛÜ\'-]+$/;
  re = /^[=]{0,1}[\s0-9A-Za-z]+$/;
  if (valeur.search(re) != -1) return true;
  else return false;
}

//Un tableau récupéré de patio peut être compressé => il faut le décompresser d'abord
//Compressé signifie que certaines infos ne sont pas réécrites...ex [[val1,val2,val3],[$0,$0,val6]]
//Il faut comprendre par cela que $0 vaut val1 $ signifie compressé et 0 est le numéro de la ligne
function decompresseTableau(tableau){
	//La ligne est un tableau
	var resultat = new Array();
	for(var i = 0; i < tableau.length; i++){
		var ligne = tableau[i];
		var lignetmp = new Array();
		for(var j = 0; j < ligne.length; j++){
			if(ligne[j].match(/^\$/)){
				var num_de_ligne = ligne[j].replace(/^\$/,'');
				lignetmp.push(tableau[num_de_ligne][j]);
			}
			else lignetmp.push(ligne[j]);
		}
		resultat.push(lignetmp);
	}
	return resultat;
}

function verifNull(champs, date_id)
{
	if (champs == null || champs == "null" || date_id)
		return ("");
	else
		return champs.replace(/\x27/g, "&#039;");
}

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]);
	}
}

function montrer(identifiant){
	document.getElementById(identifiant).style.display = ''; //pas block car Netscape supporte mal
}
function cacher(identifiant){
	document.getElementById(identifiant).style.display = 'none';
}

/****************************************************************/
/*				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",
		"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",
		"361" : "London",
		"863" : "Xetra"
	};
	if ( (isNaN(codePlace)) || (!placeLibelle[codePlace]) )
		return codePlace;
	return placeLibelle[codePlace];
}


function libelleLimite(libLimite){
	var res = {"10" : "LIM", "11" : "AML", "12" : "MAR", "13" : "AML", "14" : "SD",  "15" : "PD", "16" : "TR"};
	return res[libLimite];
}

function typePaiement(libType){
	if (libType == "CP") return ("Comptant");
	else if (libType =="SRD") return ("SRD");
	else return ("Comptant");
}

function ascii2char( i ){ return ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ).charAt( i - 65 );	}

function libelleOrigine( i ){
	var res = {"W" :"WEB", "G" :"GSM", "V" :"Audiotel", "D" :"DEMO", "I" :"Telephone", "M" :"Minitel", "K" :"Kiosque", "Q" :"Pationet", "O" :"Autre"};
	return res[ ascii2char( i ) ];
}

function libelleEtat( libEtat ){
	var res = {"2" 	:"Achat en liquidation", "3" 	:"Vente en liquidation", "100" 	:"En cours", "101" 	:"Achat en cours", "102" 	:"Vente en cours", "103" 	:"Ordre exécuté", "104" 	:"Achat exécuté", "105" 	:"Vente exécuté", "106" 	:"Attente annulation", "107" 	:"Achat attente annulation", "108" 	:"Vente attente annulation", "109" 	:"Annulé", "110" 	:"Achat annulé", "111" 	:"Vente annulé", "112" 	:"Echu", "113" 	:"Anomalie", "114" 	:"Partiellement exécuté", "115" 	:"Ordre comptabilisé", "116" 	:"Ordre exécuté annulé", "117" 	:"Ordre d'annulation en anomalie" };
	return res[ libEtat ];
}

function decimalisation(dec){
	var decim = dec.replace(/(^\s*)|(\s*$)/g,"");
	switch(decim){
		case "DI" :
			return "Dixième";
		break;
		case "CE" :
			return "Centième";
		break;
		case "MI" :
			return "Millième";
		break;
		case "DM" :
			return "Dix millième";
		break;
		case "CM" :
			return "Cent millième";
		break;
		case "EM" :
		default :
			return "Non décimalisable";
	}
}

function getFacteurDecimalisation(dec){
	var decim = dec.replace(/(^\s*)|(\s*$)/g,"");
	switch(decim){
		case "DI" :
			return 10;
		break;
		case "CE" :
			return 100;
		break;
		case "MI" :
			return 1000;
		break;
		case "DM" :
			return 10000;
		break;
		case "CM" :
			return 100000;
		break;
		case "EM" :
		default :
			return 1;
	}
}

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("obligation");
			break;
	
		/* Sicav  */
		case "061" :	
		case "062" :
		case "070" :
		//case "072" :
		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 ("warrant");
			break;
			
		/*  Trackers */
		case "263" :
		case "TRACKERS" :
			return ("tracker");
		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 (" ");
		break;
		
		/*  Certificats */
		case "257" :
		case "CERTIFICATS" :
			return ("certificat");
		break;
		
		/*  Autres  */	
		default :
			return ("&nbsp;");
			break;
	}	
}

//function picto(text,bgcolor,onclick,onmouseover,onmouseout){
//	return '<div style="background-color:'+bgcolor+';border:1px solid black;font-size:8px;font-family:Arial;padding-right:3px;padding-left:3px;padding-top:0px;padding-bottom:0px;margin:0px;cursor:pointer;cursor:hand;" onClick="'+onclick+'" onMouseOver="'+onmouseover+'" onMouseOut="'+onmouseout+'">'+text+'</div>';
//}
//function getPictos(plisin,type_valeur){
//	var resultat = '<table cellpadding="0">';
//	resultat += '<tr>';
//	resultat += '<td style="padding-right:2px;">'+picto("+","green","achatVente(\'"+plisin+"\',\'"+type_valeur+"\',0);","","")+'</td>';
//	resultat += '<td style="padding-right:2px;">'+picto("-","red","achatVente(\'"+plisin+"\',\'"+type_valeur+"\',1);","","")+'</td>';
//	resultat += '<td>'+picto("FV","","ficheValeur(\'"+plisin+"\',\'"+type_valeur+"\');","","")+'</td>';
//	resultat += '<td>'+picto("GR","","graphique(\'"+plisin+"\');","","")+'</td>';
//	resultat += '</tr></table>';
//	return resultat;
//}

function graphique(plisin){
	redirigeVers('Graphique',{"plisin":plisin});
}

function ficheValeur(plisin,type_valeur){
	type_valeur = type_valeur.toLowerCase();
	//alert(plisin+"     "+type_valeur);
	if(type_valeur.match("sicav"))
	  redirigeVers('Fiche valeur',{"plisin":plisin, "type_ordre" : "sicav"});
	if(type_valeur.match("action"))
	  redirigeVers('Fiche valeur',{"plisin":plisin, "type_ordre" : "action"});
}

function achatVente(plisin,type_valeur,sens){
	type_valeur = type_valeur.toLowerCase();
	if(type_valeur.indexOf("action") != -1)
	  redirigeVers('Achat/Vente',{"plisin":plisin, "sens": sens, "type_ordre" : "action"});
	if(type_valeur.indexOf("warrant") != -1)
	  redirigeVers('Achat/Vente',{"plisin":plisin, "sens": sens, "type_ordre" : "warrant"});
	if(type_valeur.indexOf("sicav") != -1)
	  redirigeVers('Achat/Vente',{"plisin":plisin, "sens": sens, "type_ordre" : "sicav"});
	if(type_valeur.indexOf("obligation") != -1)
	  redirigeVers('Achat/Vente',{"plisin":plisin, "sens": sens, "type_ordre" : "obligation"});
	if(type_valeur.indexOf("tracker") != -1)
	  redirigeVers('Achat/Vente',{"plisin":plisin, "sens": sens, "type_ordre" : "tracker"});
}                                                                 

function boutonGenerique(_id,_text,_onclick,_width,_height,_absolute_relative,_top,_left){
  _width = (_width != null && _width != 0? 'width:'+_width+(isNaN(_width) ? '' : 'px')+';' : '');
	_height = (_height != null && _height != 0 ? 'height:'+_width+(isNaN(_height) ? '' : 'px')+';' : '');
	_absolute_relative = (_absolute_relative != null ? 'position:'+_absolute_relative+';'+(_top != null ? 'top:'+_top+'px;'+(_left != null ? 'left:'+_left+'px;' : 'left:0px;') : 'top:0px;'+(_left != null ? 'left:'+_left+'px;' : 'left:0px;')) : 'position:relative;');
	var resultat = '' +
	'<table id="'+_id+'" class="boutonGenerique" cellspacing="0" style="'+_absolute_relative+_height+_width+'" '+
			' onClick="'+_onclick+'"' +
			' onMouseDown="this.className=\'boutonGeneriqueMouseDown\';"' +
			' onMouseUp="this.className=\'boutonGeneriqueMouseUp\';"' +
			' onMouseOver="document.getElementById(\''+_id+'_text\').className=\'boutonGenerique1MouseOver\';document.getElementById(\''+_id+'_bullet1\').className=\'boutonGeneriqueBulletMouseOver\';document.getElementById(\''+_id+'_bullet2\').className=\'boutonGeneriqueBulletMouseOver\';document.getElementById(\''+_id+'_bullet3\').className=\'boutonGeneriqueBulletMouseOver\';document.getElementById(\''+_id+'_bullet4\').className=\'boutonGeneriqueBulletMouseOver\';"'+
			' onMouseOut="document.getElementById(\''+_id+'_text\').className=\'boutonGenerique1\';document.getElementById(\''+_id+'_bullet1\').className=\'boutonGeneriqueBullet\';document.getElementById(\''+_id+'_bullet2\').className=\'boutonGeneriqueBullet\';document.getElementById(\''+_id+'_bullet3\').className=\'boutonGeneriqueBullet\';document.getElementById(\''+_id+'_bullet4\').className=\'boutonGeneriqueBullet\';this.className=\'boutonGenerique\';">\n' +
	'  <tr>\n' +
	'    <td class="boutonGenerique" onMouseOver="this.className=\'boutonGeneriqueMouseOver\';" onMouseOut="this.className=\'boutonGenerique\';">\n' +
	'      <table cellspacing="0" cellpadding="0" height="100%" width="100%">\n' +
	'        <tr>\n' +
	'          <td>\n' +
	'            <table class="boutonGeneriqueBullet">\n' +
	'              <tr>\n' +
	'                <td id="'+_id+'_bullet1" class="boutonGeneriqueBullet"></td>\n' +
	'                <td id="'+_id+'_bullet2" class="boutonGeneriqueBullet"></td>\n' +
	'              </tr>\n' +
	'              <tr>\n' +
	'                <td id="'+_id+'_bullet3" class="boutonGeneriqueBullet"></td>\n' +
	'                <td id="'+_id+'_bullet4" class="boutonGeneriqueBullet"></td>\n' +
	'              </tr>\n' +
	'            </table>\n' +
	'          </td>\n' +
	'          <td id="'+_id+'_text" class="boutonGenerique1" onMouseOver="this.className=\'boutonGenerique1MouseOver\';" onMouseOut="this.className=\'boutonGenerique1\';">\n' +
	'            &nbsp;'+_text+'\n' +
	'          </td>\n' +
	'        </tr>\n' +
	'      </table>\n' +
	'    </td>\n' +
	'  </tr>\n' +
	'</table>\n';
	return resultat;
}

// Arrondi d'un nombre selon une précision
function formatNombre(nombre, precision){
	// On vérifie la cohérence des parametres
	if(isNaN(nombre) || precision > 6 || precision < 0) return nombre;
	// Cas de l'infini (division par zéro)
	if(nombre == Infinity) nombre = 0;
	// Cas où nombre = 0 , on formatte quand même
	if(nombre == 0){
		var ret = "0";
		if(precision > 0){
			ret += ".";
			for(var i = 0 ; i < precision ; i++)ret += "0";
		}
		return ret;
	}
	var coef = 1;
	var res = 0;
	
	switch(precision){
		case 0 :
			coef = 1;
			break;
		case 1 :
			coef = 10;
			break;
		case 2 :
			coef = 100;
			break;
		case 3 :
			coef = 1000;
			break;
		case 4 :
			coef = 10000;
			break;
		case 5 :
			coef = 100000;
			break;
		case 6 :
			coef = 1000000;
			break;
		default :
			return nombre;
			break;
	}
	res = (Math.round(nombre*coef))/coef;
	if( res >= 1000 || res <= -1000)res = afficheSeparateurMillier(res, "&nbsp;");
	
	if (precision > 0){
		// ajoute des 0 afin d'atteindre la precision ==> 0.8 prec 2 ==> 0.80
		var ress = new String(res);
		var ind = ress.indexOf(".");
		// Nombre entier
		if (ind < 0){
			ress += ".";
			for(var j = 0 ; j < precision ; j++)ress += "0";
		}
		else{
		while ( ress.length < (ind + precision+1) )
			ress += "0";
		}
		res = ress;
	}
	return res;
}

// Gère l'affichage des séparateurs des milliers
function afficheSeparateurMillier(nombre, separateur){
	var strNum = new String(nombre);
	if (nombre >= 1000 || nombre <= -1000) {
		var iStart = strNum.indexOf(".");
		if (iStart < 0)
			iStart = strNum.length;

		iStart -= 3;
		while (iStart >= 1) {
			strNum = strNum.substring(0,iStart) + separateur + strNum.substring(iStart,strNum.length)
			iStart -= 3;
		}		
	}
	return strNum;
}

// Arrondi d'un pourcentage selon une précision (ajoute la couleur)
function formatPourcent(nombre, precision){
	return '<p class="' + ((nombre >= 0)?'pourcent_positif':'pourcent_negatif') + '">' + formatNombre(nombre, precision) + '&nbsp;%</p>';
}	

/////////////////////////////
// Gestion des info bulles //
/////////////////////////////
/*
function GetId(id)
{
	return document.getElementById(id);
}

var bulleAffichee = false; // La variable i nous dit si la bulle est visible ou non
var initX = 0;
var initY = 0;

function move(e) {
  if(bulleAffichee) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
    if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
    GetId("bulle").style.left=e.pageX + 2+"px";
    GetId("bulle").style.top=e.pageY - 25+"px";
    }
    else {
    GetId("bulle").style.left=window.event.x + 2+"px";
    GetId("bulle").style.top=window.event.y + 20 + document.body.scrollTop+"px"; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
    }
  }
  // Sinon on stocke les coordonnées pour bien afficher la première fois
	else{
    if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
    initX=e.pageX + 2+"px";
    initY=e.pageY - 25+"px";
    }
    else {
    initX=window.event.x + 2+"px";
    initY=window.event.y + 20 + document.body.scrollTop+"px"; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
    }
	}
}

function montre(text) {
  if(bulleAffichee == false) {
  	GetId("bulle").style.left = initX;
  	GetId("bulle").style.top = initY;
	  GetId("bulle").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
	  GetId("bulle").innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
	  bulleAffichee = true;
  }
}

function cache() {
	if(bulleAffichee == true) {
		GetId("bulle").style.visibility="hidden"; // Si la bulle etais visible on la cache
		bulleAffichee = false;
	}
}

document.onmousemove = move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.

*/


/********************************************/
/* GESTION SELECTION IMPRESSION JPMORGAN 		*/
/********************************************/

function AddtoSelection(){
	var tabPRINT = new Array();
	var indextab = 0;
	if ( document.form_fonds.checkIsin ) {
		if ( document.form_fonds.checkIsin.checked) {
					tabPRINT[indextab] = "'"+document.form_fonds.checkIsin.value+"'";
					indextab++;
			} else {
					for ( var i = 0; i < document.form_fonds.checkIsin.length; i++){
								if ( document.form_fonds.checkIsin[i].checked == true ){
									tabPRINT[indextab] = "'"+document.form_fonds.checkIsin[i].value+"'";
									indextab++;
								}
					}
			}
	}
	// si pas de valeur selectionnée
	if ( indextab == 0 ) {
		alert("Merci d'ajouter au moins une valeur");
	} else {
		document.getElementById("isins_selected").value = tabPRINT;
		document.form_fonds.submit();	
	}
}

function PurgeSelection(){
		document.getElementById("isins_selected").value = 'empty';
		document.form_fonds.submit();	
}

function ShowSelection(table_isins){
	if ( table_isins == "null" || table_isins == "empty" || table_isins == "" ) {
		alert("Merci d'ajouter au moins une valeur à la sélection");
	} else {
		return window.open("/cgi-bin/webact/WebBank/scripts/JPM/scripts/imprimer_fonds.jsp?isins=" + table_isins, "", "menubar=no, toolbar=no, scrollbars=yes, resizable= yes, height=630, width=950, left=200, top=30 ");
	}
}