/* ---------------------- */
/* --- menu niveau 1 ---- */
/* ---------------------- */
/*var compt0='',temps0=1000,id_tempo0='*',compteur=0;*/
var compt0='',temps0=1000,id_tempo0='*',compteur=0;

var menu_actif='*';

// initialisation du menu niveau 1, affiche le menu actif sur la page
function init_smenu() {
	// preload des images
	liste_images = ["img-reduire01.gif", "img-agrandir01.gif", "img-client-synthese00.gif", "img-client-synthese01.gif"];
	preload_images();

	// Désactive init_smenu() automatique
	clearInterval(compt0);

	// Desactive le menu hover
	if(id_tempo0 != '*'){
		if (document.getElementById('menu'+id_tempo0)) { // Si bouton Existe
			if (document.getElementById('smenu'+id_tempo0)) { // Si sous-menu du bouton existe
				document.getElementById('smenu'+id_tempo0).style.display = 'none';
				document.getElementById('smenu'+id_tempo0).style.zIndex = 4;
				supprimer_class('menu_actif','menu'+id_tempo0);
				id_tempo0 = '*';
			}
		}
	}

	// Active le menu actif de la page
	if (document.getElementById('menu_actif')) { // Si input menu actif sur la page
		menu_actif = document.getElementById('menu_actif').value;
		if(menu_actif != '*'){
			if (document.getElementById('menu'+menu_actif)) { // Si bouton Existe
				if (document.getElementById('smenu'+menu_actif)) { // Si sous-menu du bouton existe
					document.getElementById('smenu'+menu_actif).style.display = 'block';
					document.getElementById('smenu'+menu_actif).style.zIndex = 10;
					ajouter_class('menu_actif','menu'+menu_actif);
					id_tempo0 = menu_actif;
				}
			}
		}
	}
}

// affiche le menu niveau 1
function affiche_smenu(id) {
	// Désactive init_smenu() automatique
	clearInterval(compt0);

	// Recupere le numero du menu hover
	tab_id_hover = id.split('menu');
	id_hover = tab_id_hover[1]

	// si deja affiché et memorisé
	if(id_tempo0 == id_hover){return;}
	
	// Efface menu tempo si pas menu de la page active
	if(id_tempo0 != '*' && id_tempo0 != id_hover){init_smenu();}

	// affiche Sous-menu du menu hover
	if(document.getElementById('smenu'+id_hover)){
		document.getElementById('smenu'+id_hover).style.display = 'block';
		document.getElementById('smenu'+id_hover).style.zIndex = 11;
		ajouter_class('menu_actif','menu'+id_hover);
		id_tempo0 = id_hover;
	}
}

// cache le menu tempo et affiche menu de la page active
function cache_smenu(id){
	compt0 = setInterval("init_smenu()",temps0);
}

/* ---------------------- */
/* --- smenu niveau 2 --- */
/* ---------------------- */
/*var compt2='',temps2=1000,id_tempo2='*';var smenu_actif='*';*/
var compt2='',temps2=800,id_tempo2='*';var smenu_actif='*';

// initialisation du smenu niveau 2
function init_ssmenu() {
	// Désactive init_ssmenu() automatique
	clearInterval(compt2);

	// Desactive le smenu hover
	if(id_tempo2 != '*'){
		if (document.getElementById('smenu'+id_tempo2)) { // Si bouton Existe
			if (document.getElementById('ssmenu'+id_tempo2)) { // Si sous-sous-menu du bouton existe
				document.getElementById('ssmenu'+id_tempo2).style.display = 'none';
				supprimer_class('smenu_actif','smenu'+id_tempo2);
				document.getElementById('ssmenu'+id_tempo2+'_iframe').style.display = 'none';
				id_tempo2 = '*';
			}
		}
	}

	// Active le smenu actif de la page
	if (document.getElementById('smenu_actif')) { // Si input smenu actif sur la page
		smenu_actif = document.getElementById('smenu_actif').value;
		if(smenu_actif != '*'){
			if (document.getElementById('smenu'+smenu_actif)) { // Si bouton Existe
				ajouter_class('smenu_actif','smenu'+smenu_actif);
//				if (document.getElementById('ssmenu'+smenu_actif)) { // Si sous-menu du bouton existe
//					document.getElementById('ssmenu'+smenu_actif).style.display = 'block';
//					id_tempo2 = smenu_actif;
//				}
			}
		}
	}
}

// affiche le smenu niveau 2
function affiche_ssmenu(id){
	// Désactive init_ssmenu() automatique
	clearInterval(compt2);

	// Recupere le numero du smenu hover
	tab_id_hover = id.split('menu');
	id_hover = tab_id_hover[1]

	// si deja affiché et memorisé
	if(id_tempo2 == id_hover){return;}

	// Efface menu tempo si pas menu de la page active
	if(id_tempo2 != '*' && id_tempo2 != id_hover){init_ssmenu();}

	// affiche Sous-menu vertical du smenu hover si pas deja affiché
	if(document.getElementById('ssmenu'+id_hover) && id_tempo2 != id_hover){
		compteur++;
		// Affiche le sous menu vertical
		document.getElementById('ssmenu'+id_hover).style.display='block';
		ajouter_class('smenu_actif','smenu'+id_hover);
		// Calcul hauteur iframe et affiche
		calcul_hauteur_iframe('ssmenu'+id_hover)
		document.getElementById('ssmenu'+id_hover+'_iframe').style.display='block';
		// Memorise sous menu vertical affiché
		id_tempo2 = id_hover;
	}
}

// cache le smenu tempo et affiche smenu de la page active
function cache_ssmenu(id){
	compt2 = setInterval("init_ssmenu()",temps2);
}

/* ------------------------------------ */
/* --- affiche onglet portefeuille  --- */
/* ------------------------------------ */
var compt3='',temps3=0,id_tempo3='*';

function init_portefeuille(X_id) {
	if(id_tempo3 != '*'){
		if (document.getElementById('portefeuille_av_'+id_tempo3)) {
			document.getElementById('portefeuille_av_'+id_tempo3).style.display = 'none';
			id_tempo3 = '*';
		}
	}
}

// affiche le menu niveau 1
function affiche_portefeuille(X_id) {

	// Efface barre tempo
	if(id_tempo3 != '*'){init_portefeuille();}

	if (compt3 != ''){clearTimeout(compt3);}

	if (document.getElementById('portefeuille_av_'+X_id)) {
		document.getElementById('portefeuille_av_'+X_id).style.display = 'block';
		id_tempo3 = X_id;
	}
}

// cache le menu tempo et affiche menu de la page active
function cache_portefeuille(X_id)
{
	compt3 = setTimeout("init_portefeuille()",temps3);
}

/* ---------------------- */
/* --- les fonctions  --- */
/* ---------------------- */

// Ajoute une class a un ID
function ajouter_class(X_class,X_id){
	// Si ID existe pas
	if(!document.getElementById(X_id)){return;}

	var Class_Valeur = document.getElementById(X_id).className;
	var tab = new Array();
	
	tab = Class_Valeur.split(' ')
	// Initialisation de(s) la class
	Class_Valeur = '';
	top_X_class = false;
	
	// Lecture de(s) class
	for (var j = 0;j<tab.length;j++){

		// Si X_class deja present
		if(tab[j] == X_class){
			top_X_class = true
		}
		
		// concatenation de(s) class
		if(tab[j] != '') {
			if(j == 0) {
				Class_Valeur = tab[j];
			}else{
				Class_Valeur = Class_Valeur + ' ' +tab[j];
			}
		}
	}
					
	// Ajoute la class X_class si pas deja present
	if(!top_X_class) {
		if(j != 0){
			 // Si deja une class presente
			document.getElementById(X_id).className = Class_Valeur + ' ' + X_class;
		}else{
			 // Si Vide
			document.getElementById(X_id).className = X_class;
		}
	}
}

// Supprime une class a un ID
function supprimer_class(X_class,X_id){
	// Si ID existe pas
	if(!document.getElementById(X_id)){return;}

	var Class_Valeur = document.getElementById(X_id).className;
	var tab = new Array();
	
	tab = Class_Valeur.split(' ')
	
	// Initialisation de(s) la class
	Class_Valeur = '';
	
	// Lecture de(s) class
	for (var j=0;j<tab.length;j++){
		
		// concatenation de(s) class
		if(tab[j] != '') {

			// Si pas la class a supprimer
			if(tab[j] != X_class){
				if(j == 0) {
					Class_Valeur = tab[j];
				}else{
					Class_Valeur = Class_Valeur + ' ' +tab[j];
				}
			}
		}
	}
					
	// Maj de ID avec les class moins X_class
	document.getElementById(X_id).className = Class_Valeur;
}

// Developpe le cadre devenir client
function devenir_client(action){
	var cookie_devenir_client = 'action_devenir_client';
	var cook = LireCookie(cookie_devenir_client);

	if (action=='onload_agrandir' && (cook==null || cook=='agrandir')) {
		action = 'agrandir';
	}
	
	if (action=='agrandir') {
		if (document.getElementById('devenez_client_teaser')) {document.getElementById('devenez_client_teaser').style.display='block';}
		if (document.getElementById('bt-agrandir')) {document.getElementById('bt-agrandir').style.display='none';}
		if (document.getElementById('bt-reduire')) {document.getElementById('bt-reduire').style.display='inline';}
		if (document.getElementById('bt-fermer')) {document.getElementById('bt-fermer').style.display='inline';}
		EffaceCookie(cookie_devenir_client);
		EcrireCookie(cookie_devenir_client,'agrandir',null,'/');
	}
	if ((action=='onload_agrandir' && cook=='reduire')
			|| action=='reduire'){
		if (document.getElementById('devenez_client_teaser')) {document.getElementById('devenez_client_teaser').style.display='none';}
		if (document.getElementById('bt-reduire')) {document.getElementById('bt-reduire').style.display='none';}
		if (document.getElementById('bt-fermer')) {document.getElementById('bt-fermer').style.display='none';}
		if (document.getElementById('bt-agrandir')) {document.getElementById('bt-agrandir').style.display='block';}
		if (action=='reduire') {
			EffaceCookie(cookie_devenir_client);
			date = new Date;
			date.setDate(date.getDate()+15);
			EcrireCookie(cookie_devenir_client,'reduire',date,'/');
		}
	} 
	if ((action=='onload_agrandir' && cook=='fermer')
			|| action=='fermer'){
		if (document.getElementById('devenez_client')) {
			document.getElementById('devenez_client').style.display='none';
		}
		if (action=='fermer') {
			EffaceCookie(cookie_devenir_client);
			date = new Date;
			date.setMonth(date.getMonth()+1);
			EcrireCookie(cookie_devenir_client,'fermer',date,'/');
		}
	}
}

// Developpe le cadre recherche avancee
function recherche_avancee(state){
	var X_block = document.getElementById('recherche_simple_content');
	var X_block1 = document.getElementById('recherche_avancee');

	// Si deux block existe
	if(X_block && X_block1){
		// Affiche recherche avancée
		if(state == true){
			X_block.style.display = 'none';
			X_block1.style.display = 'block';
		}else{// Affiche recherche simple
			X_block.style.display = 'block';
			X_block1.style.display = 'none';
		}

		// Repositionnement du block referencement
		calcul_hauteur_block_referencement();
	}
}

// Select perso
function affiche_select_perso(X_id){
	var X_calque = document.getElementById(X_id)
	if(X_calque){
		X_calque.style.display = 'block';
	}
}

// Tableau des images a preloader
var liste_images = new Array();
var chemin_liste_images = "/images/";
function preload_images(){
	// Un tableau qui permettra le stockage 'virtuel' des images pour les précharger
	document.images_chargees = new Array();
	// Pour chaques images du tableaux
	for (i=0;i<liste_images.length;i++){
		document.images_chargees[i] = new Image;
		document.images_chargees[i].src = chemin_liste_images + liste_images[i];
	}
}

// Affcihe ou masque un calques selon son etat et gestion de l'icone (agrandir ou reduire)
function gestion_calques(X_id){

	// Gestion du calque
	var X_calque = document.getElementById(X_id);
	if(X_calque){

		// Si rien dans le style DISPLAY
		if(X_calque.style.display.length < 1){
			if(X_id.indexOf('passage_ordre_') > -1){
				X_calque.style.display = 'none';
			}else{
				X_calque.style.display = 'block';
			}
		}

		if(X_calque.style.display == 'block'){
			X_calque.style.display = 'none';
		}else{
			X_calque.style.display = 'block';
		}

		// Repositionnement du block referencement
		calcul_hauteur_block_referencement();
	}
	
	// Gestion de l'icone
	var X_calque_icone = document.getElementById(X_id+'_image');
	if(X_calque_icone){
		if(X_calque_icone.src.indexOf('img-reduire01.gif') > -1){
			X_calque_icone.src = X_calque_icone.src.replace('img-reduire01.gif','img-agrandir01.gif');
		}else{
			X_calque_icone.src = X_calque_icone.src.replace('img-agrandir01.gif','img-reduire01.gif');
		}

		if(X_calque_icone.src.indexOf('img-client-synthese00.gif') > -1){
			X_calque_icone.src = X_calque_icone.src.replace('img-client-synthese00.gif','img-client-synthese01.gif');
		}else{
			X_calque_icone.src = X_calque_icone.src.replace('img-client-synthese01.gif','img-client-synthese00.gif');
		}
	}
}

// modification chaine de caractere
function modification_chaine(X_chaine, X_chaine1, X_chaine2){
	// longeur de X_chaine
	var X_longeur_X_chaine = X_chaine.length;
	// longeur de X_chaine1
	var X_longeur_X_chaine1 = X_chaine1.length;
	// Position de X_chaine1 dans X_chaine
	var X_position_X_chaine1_X_chaine = X_chaine.indexOf(X_chaine1);
	
	// Si X_chaine1 dans X_chaine
	if(X_position_X_chaine1_X_chaine > -1){
		// recupere 1ere partie de la chaine sans X_chaine1
		var X_chaine_tempo = X_chaine.substring(0, X_position_X_chaine1_X_chaine);
		
		// Si encore des caractere apres X_chaine1, 2eme partie de la chaine sans X_chaine1
		var X_chaine_tempo1 = '';
		if(X_longeur_X_chaine != X_position_X_chaine1_X_chaine + X_longeur_X_chaine1){
			X_chaine_tempo1 = X_chaine.substring(X_position_X_chaine1_X_chaine + X_longeur_X_chaine1+1, X_longeur_X_chaine - 1);
		}

		X_new_chaine = X_chaine_tempo + X_chaine2 + X_chaine_tempo1;
		return X_new_chaine;
	}
}

// Augmente la taille de la police
function augmente_taille_police(){
	var X_calque1 = document.getElementById('content_left');
	var X_calque2 = document.getElementById('content_right');
	var X_calque3 = document.getElementById('content_center');
	var X_calque4 = document.getElementById('content_center1');
	if(X_calque1){X_calque1.style.fontSize = '14px';}
	if(X_calque2){X_calque2.style.fontSize = '14px';}
	if(X_calque3){X_calque3.style.fontSize = '14px';}
	if(X_calque4){X_calque4.style.fontSize = '14px';}
	calcul_hauteur_block_referencement();
}

// baisse la taille de la police
function baisse_taille_police(){
	var X_calque1 = document.getElementById('content_left');
	var X_calque2 = document.getElementById('content_right');
	var X_calque3 = document.getElementById('content_center');
	var X_calque4 = document.getElementById('content_center1');
	if(X_calque1){X_calque1.style.fontSize = '11px';}
	if(X_calque2){X_calque2.style.fontSize = '11px';}
	if(X_calque3){X_calque3.style.fontSize = '11px';}
	if(X_calque4){X_calque4.style.fontSize = '11px';}
	calcul_hauteur_block_referencement();
}

var compt4='';
var temps4=2000;

function affiche_mon_select(X_id){
	var X_calque = document.getElementById(X_id);
	if(X_calque){
		if(X_calque.style.display != 'block' || X_calque.style.display == ''){
			X_calque.style.display = 'block';
			calcul_hauteur_iframe(X_id);

			compt4 = setTimeout("cache_mon_select_choix('"+X_id+"')",temps4);
		}else{
			X_calque.style.display = 'none';
		}
	}
}

function affiche_mon_select_choix(X_id, X_id2, X_value){
	var X_calque = document.getElementById(X_id);
	var X_calque1 = document.getElementById(X_id2);
	if(X_calque && X_calque1){
		X_calque.innerHTML = X_value;
		X_calque1.style.display = 'none';
	}
}

function cache_mon_select_choix(X_id){
	var X_calque = document.getElementById(X_id);
	if(X_calque){
		X_calque.style.display = 'none';
	}
}

function afficher_over_mon_select_choix(){
	clearTimeout(compt4);
}

function cache_out_mon_select_choix(X_id){
	compt4 = setTimeout("cache_mon_select_choix('"+X_id+"')",temps4);
}

function date_jour(){
	var X_tab_jour = new Array('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam');
	var X_tab_mois = new Array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');

	X_date = new Date();
	X_jour = X_tab_jour[X_date.getDay()];
	X_njour = X_date.getDate()
	X_mois = X_tab_mois[X_date.getMonth()];
	X_annee = X_date.getFullYear();
	document.write(X_jour + ' ' + X_njour + ' ' + X_mois + ' ' +X_annee);
}

function ouverture_popup_centrer(X_page, X_nompage, X_hauteur, X_largeur, X_options){

	// largeur et hauteur ecran
	hauteur_ecran = window.screen.availHeight;
	largeur_ecran = window.screen.availWidth;
	
	// Options par defaut
	option_defaut = 'toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=no';
	if(X_options == '') {X_options = option_defaut;}
		
	// Ajout de hauteur selon options pour calcul position
	X_hauteur_options = X_hauteur;
	if(X_options.indexOf('toolbar=yes') > -1){
		X_hauteur_options += 60;
	}
	if(X_options.indexOf('menubar=yes') > -1){
		X_hauteur_options += 25;
	}
	if(X_options.indexOf('location=yes') > -1){
		X_hauteur_options += 30;
	}
	if(X_options.indexOf('status=yes') > -1){
		X_hauteur_options += 25;
	}

	// Position de la popup par rapport a la resolution ecran
	positionX = parseInt((largeur_ecran - X_largeur)/2);
	positionY = parseInt((hauteur_ecran - X_hauteur_options)/2);
		
	
	window.open(X_page, X_nompage, 'top='+positionY+',left='+positionX+',width='+X_largeur+',height='+X_hauteur+','+X_options);
}

function debuteTemps(X_champ ,X_decalage_signe_gmt ,X_decalage_heure_gmt ,delai1) {
	var X_calque = document.getElementById(X_champ);
	if(X_calque){
		var dd, delai; 
		var hhmmss = "", min, sec;
		delai = delai1;
		decalage_signe_gmt = X_decalage_signe_gmt;
		decalage_heure_gmt = X_decalage_heure_gmt;
		adate = new Date();

		if(decalage_signe_gmt == '+'){
			hhmmss += adate.getHours() + (adate.getTimezoneOffset() / 60) + decalage_heure_gmt;
		}else{
			hhmmss += adate.getHours() + (adate.getTimezoneOffset() / 60) - decalage_heure_gmt;
		}

		if (hhmmss>=24){hhmmss=hhmmss-24;}
		if (hhmmss < 10) hhmmss = "0" + hhmmss;

		min = adate.getMinutes();

		if (min < 10) hhmmss += ":0" + min;
		else hhmmss += ":" + min;
		sec = adate.getSeconds();

		if (sec < 10) hhmmss += ":0" + sec;
		else hhmmss += ":" + sec;

		hhmmss = " " + hhmmss;

		X_calque.innerHTML = hhmmss;

		dd = setTimeout("debuteTemps('" + X_champ + "' ,'" + decalage_signe_gmt + "' ," + decalage_heure_gmt + "," + delai + ")",delai1);
	}
}

function ete_hiver(X_champ ,X_decalage_signe_gmt ,X_decalage_heure_gmt ,delai1)
{
	decalage_heure_gmt = X_decalage_heure_gmt;
	decalage_signe_gmt = X_decalage_signe_gmt;
	adate = new Date();	
	/*********************BRUXELLES**********************************************/
	if(decalage_heure_gmt == 1 && decalage_signe_gmt == "+" )
	{
		var annee = adate.getFullYear();
		for (i=31; i >24; i--) {
			dimanche = new Date(annee, 2, i);
			if (dimanche.getDay()==0) break;
		}
		for (i=31; i >24; i--) {
			dimanche2 = new Date(annee, 9, i);
			if (dimanche2.getDay()==0) break;
		}
		if (adate >= dimanche && adate < dimanche2)
		{
			decalage_heure_gmt = decalage_heure_gmt + 1;
		}
	}
	/*************************NEW YORK*****************************************/
	if(decalage_heure_gmt == 5 && decalage_signe_gmt == "-" )
	{
		var annee = adate.getFullYear();
		for (i=8; i < 15; i++) {
			dimanche = new Date(annee, 2, i);
			if (dimanche.getDay()==0) /*alert(dimanche);*/break;
		}
		for (i=1; i <7; i++) {
			dimanche2 = new Date(annee, 10, i);
			if (dimanche2.getDay()==0) /*alert(dimanche2);*/break;
		}
		if (adate >= dimanche && adate < dimanche2)
		{
			decalage_heure_gmt = decalage_heure_gmt - 1;
		}
	}
	/*************************************************************************************/
	debuteTemps(X_champ ,decalage_signe_gmt ,decalage_heure_gmt ,delai1);
}

function twAller(urlsel) {
  document.location = urlsel;
}

function twAjusteListe(Sel1,Sel2) {
  Sel2.options.length = 0;
  Sel2.options.length = aListe[Sel1.selectedIndex].length;
  for (var i = 0; i < aListe[Sel1.selectedIndex].length; i++) { 
    Sel2.options[i] = new Option(aListe[Sel1.selectedIndex][i].text,aListe[Sel1.selectedIndex][i].value);
  }

  Sel2.options[0].selected = true;
  if (document.layers) history.go(0);
}

function twAjusteListe2(Sel1,Sel2) {
  Sel2.options.length = 0;
  var aListeIndex = 0;
  if (Sel1.options[0].selected == false) {
  	aListeIndex = 1;
  }
  Sel2.options.length = aListe[aListeIndex].length;
  for (var i = 0; i < aListe[aListeIndex].length; i++) { 
    Sel2.options[i] = new Option(aListe[aListeIndex][i].text,aListe[aListeIndex][i].value);
  }
  Sel2.options[0].selected = true;
  if (document.layers) history.go(0);
}

function EcrireCookie(nom, valeur,expires){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}


function EcrireCookie(nom, valeur,expires,path){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function EcrireCookie(nom, valeur){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr)); 
}

function LireCookie(nom){
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen){
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null; 
}

function EffaceCookie(nom){
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date); 
}
function EffaceCookieValue(nom) {
	var start = document.cookie.indexOf(nom+"=");
	var len = start + name.length + 1;
	var end = document.cookie.indexOf( ";", len);
	if ( end == -1 )
	 end = document.cookie.length;
	 else
	 end= end-1;

	 if(start!=1) {
		document.cookie= document.cookie.substring(0,start) + document.cookie.substring(end,document.cookie.length);
	}
}


// Calcul la heuteur d'une iframe par rapport a un block
function calcul_hauteur_iframe(X_id){
	X_id_iframe = X_id + '_iframe';
	X_block = document.getElementById(X_id);
	X_iframe = document.getElementById(X_id_iframe);

	if(X_block && X_iframe){
		X_iframe.style.height = X_block.offsetHeight + 'px';
		X_iframe.style.width = X_block.offsetWidth + 'px';
	}
}

// Tags les balises des messages pour deployement
function tag_messages_synthese_compte(X_conteneur){
	if(document.getElementById(X_conteneur)){
		var X_balises = document.getElementById(X_conteneur).getElementsByTagName('*');
		var X_compteur = 0;
		for(i=0; i<X_balises.length; i++){
			switch(X_balises[i].tagName.toLowerCase()){
				case 'tr':
					X_compteur++; // Debut le la numerotation
					X_balises[i].id = 'synthese_compte_' + X_compteur + '_tr';
				break;
				case 'a':
					X_balises[i].id = 'synthese_compte_' + X_compteur + '_a';
				break;
				case 'dd':
					X_balises[i].id = 'synthese_compte_' + X_compteur + '_dd';
				break;
			}
		}
	}
}
// Deployer les messages de la page synthese_compte
var memo_synthese_message ='*';
var memo_tr_over ='';
var memo_tr_out ='';
function deployer_messages(X_id){
	// Decompose ID pour avoir le numero du compteur
	var reg = new RegExp('[0-9]*', 'g');
	var X_tab_compteur = X_id.match(reg);
	for (i=0;i<X_tab_compteur.length;i++){if(X_tab_compteur[i] != ''){var X_compteur = X_tab_compteur[i];}}

	// ID pour deployement
	var X_id_tr = 'synthese_compte_' + X_compteur + '_tr';
	var X_id_a  = 'synthese_compte_' + X_compteur + '_a';
	var X_id_dd = 'synthese_compte_' + X_compteur + '_dd';

	// Blocks pour deployement
	var X_block_tr = document.getElementById(X_id_tr);
	var X_block_a  = document.getElementById(X_id_a);
	var X_block_dd = document.getElementById(X_id_dd);

	// Desactive message deja active et different de celui a activer
	if(memo_synthese_message != '*' && memo_synthese_message != X_compteur){
		// ID pour deployement
		var X_id_tr_memo = 'synthese_compte_' + memo_synthese_message + '_tr';
		var X_id_a_memo  = 'synthese_compte_' + memo_synthese_message + '_a';
		var X_id_dd_memo = 'synthese_compte_' + memo_synthese_message + '_dd';
	
		// Blocks pour deployement
		var X_block_tr_memo = document.getElementById(X_id_tr_memo);
		var X_block_a_memo  = document.getElementById(X_id_a_memo);
		var X_block_dd_memo = document.getElementById(X_id_dd_memo);

		// Pas le meme TR donc enleve la class "hover_lignes_menuX"
		var X_tr_different = true;

		deployer_messages_off(memo_synthese_message, X_id_tr_memo, X_id_a_memo, X_id_dd_memo, X_block_tr_memo, X_block_a_memo, X_block_dd_memo, X_tr_different)
	}

	// Si Blocks pour deployement existent
	if(X_block_tr && X_block_a && X_block_dd){
		// Si rien dans le style DISPLAY
		X_display_dd = X_block_dd.style.display;
		if(X_display_dd.length < 1){X_block_dd.style.display = 'none';}

		// Si description message afficher
		if(X_block_dd.style.display == 'block'){
			// Meme TR donc n'enleve pas la class "hover_lignes_menuX"
			var X_tr_different = false;

			deployer_messages_off(X_compteur, X_id_tr, X_id_a, X_id_dd, X_block_tr, X_block_a, X_block_dd, X_tr_different)
		}else{
			deployer_messages_on(X_compteur, X_id_tr, X_id_a, X_id_dd, X_block_tr, X_block_a, X_block_dd)
		}
	}
}

function deployer_messages_on(X_compteur, X_id_tr, X_id_a, X_id_dd, X_block_tr, X_block_a, X_block_dd){
	// Ajoute la class sur le TR
	ajouter_class('sc_message_actif',X_id_tr);

	// Desactive les evenements over et out du TR
	if(X_block_tr){
		memo_tr_over = X_block_tr.onmouseover;
		X_block_tr.onmouseover = '';
		memo_tr_out = X_block_tr.onmouseout;
		X_block_tr.onmouseout = '';
	}

	// Affiche le message
	if(X_block_dd){
		X_block_dd.style.display = 'block';
	}
	
	// Init memo message
	memo_synthese_message = X_compteur;
}

function deployer_messages_off(X_compteur, X_id_tr, X_id_a, X_id_dd, X_block_tr, X_block_a, X_block_dd, X_tr_different){
	// Supprime la class sur le TR
	supprimer_class('sc_message_actif',X_id_tr);

	// Cache le message
	if(X_block_dd){
		X_block_dd.style.display = 'none';
	}

	// Reactive les evenements over et out du TR
	if(X_block_tr){
		X_block_tr.onmouseover = memo_tr_over;
		memo_tr_over = '';
		X_block_tr.onmouseout = memo_tr_out;
		memo_tr_out = '';
	}
	
	// Init memo message
	memo_synthese_message = '';
	
	// Enleve la class pour le "hover" si ligne a activer differente de celle deja active
	if(X_tr_different){
		var X_hover_tr = 'hover_lignes_portefeuille';
		supprimer_class(X_hover_tr,X_id_tr);
	}
}

// Calcul la hauteur du contenu du block referencement pour change la position debut en absolute
function calcul_hauteur_block_referencement(){
/*
	var X_block_referencement = document.getElementById('block_referencement');
	if(X_block_referencement){
		X_block_referencement.style.top = document.body.clientHeight + 'px';
	}
*/
	var X_block_referencement = document.getElementById('block_referencement');
	var X_block_referencement_content = document.getElementById('block_referencement_content');
	
	if(X_block_referencement && X_block_referencement_content){
		X_block_referencement_content.innerHTML = X_block_referencement.innerHTML;
		X_block_referencement.style.display = 'none';
		X_block_referencement_content.style.display = 'block';
	 }
	}
	
function ShowHide(ID){
	for (Ind = 1; Ind <= 3; Ind++){
		document.getElementById('Calque_'+Ind).style.display = 'none';
	}
	if (ID != 0){
		document.getElementById('Calque_'+ID).style.display = 'inline';
	} 
}

function tag_input(X_conteneur){
	if(document.getElementById(X_conteneur)){
		var X_memo_input = false;
		var X_memo_etat_input = false;
		ListeObj = document.getElementById(X_conteneur).getElementsByTagName('input');
		for(i=0; i<ListeObj.length; i++){
			// Ne passe en revue que les input type CHECKBOX
			if(ListeObj[i].type.toLowerCase() == 'checkbox'){
				// Memorise etat du premier input (Entete de tableau)
				if (!X_memo_input){
					X_memo_etat_input = ListeObj[i].checked;
					X_memo_input = true;
				}else{
					if(!ListeObj[i].disabled)
					{
						ListeObj[i].checked = X_memo_etat_input;
					}
				}
			}
		}
	}
}

function gestion_calques_passage_ordre(X_conteneur, X_passage_ordre_sens){
	if(X_passage_ordre_sens == 'passage_ordre_achat'){
		// Supprime la class VENTE si deja
		supprimer_class('passage_ordre_vente', X_conteneur);
		// Ajoute la class ACHAT
		ajouter_class(X_passage_ordre_sens, X_conteneur);
		if(document.getElementById('select_sens_passage_ordre') && document.getElementById('passage_ordre_type1')){
			document.getElementById('select_sens_passage_ordre').selectedIndex = 0;
			document.getElementById('passage_ordre_type1').innerHTML = type_passage_ordre_achat;
		}
	}else{
		// Supprime la class ACHAT si deja
		supprimer_class('passage_ordre_achat', X_conteneur);
		// Ajoute la class VENTE
		ajouter_class(X_passage_ordre_sens, X_conteneur);
		if(document.getElementById('select_sens_passage_ordre') && document.getElementById('passage_ordre_type1')){
			document.getElementById('select_sens_passage_ordre').selectedIndex = 1;
			document.getElementById('passage_ordre_type1').innerHTML = type_passage_ordre_vente;
		}
	}

	// Calcul hauteur iframe
	calcul_hauteur_iframe(X_conteneur)
	// Affiche le conteneur
	//document.getElementById(X_conteneur).style.display = 'block';
	// Affiche iframe
	//document.getElementById(X_conteneur+'_iframe').style.display = 'block';
	
	// Init des select VALIDITE et LIMITE
	change_validite_passage_ordre()
	change_limite_passage_ordre()
}

function change_passage_ordre(){
	switch (document.getElementById('select_sens_passage_ordre').selectedIndex){
		case 0 :
			gestion_calques_passage_ordre('passage_ordre', 'passage_ordre_achat');
		break;
		case 1 :
			gestion_calques_passage_ordre('passage_ordre', 'passage_ordre_vente');
		break;
	}
}

function change_validite_passage_ordre(){
	var champs_1 = document.getElementById('input_date_passage_ordre');
	var champs_1_date = 'input_date_passage_ordre';
	if(champs_1){
		switch (document.getElementById('select_validite_passage_ordre').value){
			case "DAY" :
				champs_1.readOnly = true;
				ajouter_class('grise', champs_1_date);
			break;
			case "REVOCATION" :
				champs_1.readOnly = true;		
				ajouter_class('grise', champs_1_date);
			break;
			case "DATE" :
				champs_1.disabled = false;
				champs_1.readOnly = false;
				supprimer_class('grise', champs_1_date);
			break;
		}
	}
}

function change_limite_passage_ordre(){
	var champs_1 = document.getElementById('input_limite1_passage_ordre');
	var champs_1_limite = 'input_limite1_passage_ordre';
	var champs_2 = document.getElementById('input_limite2_passage_ordre');
	var champs_2_limite = 'input_limite2_passage_ordre';
	if(champs_1 && champs_2){
		switch (document.getElementById('select_limite_passage_ordre').value){
			case "LIM" :
				champs_1.disabled = false;
				supprimer_class('grise', champs_1_limite);
				champs_2.disabled = true;
				champs_2.value="";
				ajouter_class('grise', champs_2_limite);
			break;
			case "AML" :
				champs_1.disabled = true;
				champs_1.value="";
				ajouter_class('grise', champs_1_limite);
				champs_2.disabled = true;
				champs_2.value="";
				ajouter_class('grise', champs_2_limite);
			break;
			case "MAR" :
				champs_1.disabled = true;
				champs_1.value="";
				ajouter_class('grise', champs_1_limite);
				champs_2.disabled = true;
				champs_2.value="";
				ajouter_class('grise', champs_2_limite);
			break;
			case "SD" :
				champs_1.disabled = false;
				supprimer_class('grise', champs_1_limite);
				champs_2.disabled = true;
				champs_2.value="";
				ajouter_class('grise', champs_2_limite);
			break;
			case "PD" :
				champs_1.disabled = false;
				supprimer_class('grise', champs_1_limite);
				champs_2.disabled = false;
				supprimer_class('grise', champs_2_limite);
			break;
		}
	}
}
function identification_formulaire(X_conteneur, X_etat){
	active_desactive_input_select(X_conteneur, X_etat);
	calcul_hauteur_block_referencement();
}

// Active - Desactive les input et select d'un conteneur
function active_desactive_input_select(X_conteneur, X_etat){
	if(document.getElementById(X_conteneur)){
		var X_balises = document.getElementById(X_conteneur).getElementsByTagName('*');
		for(i=0; i<X_balises.length; i++){
			// Si modification du DISPLAY ne fait rien d'autre
			var changement_display = false;

			// Si balise SPAN (* pour champs obligatoires)
			if(X_balises[i].tagName.toLowerCase() == 'span'){
				// Si champs pour modification
				if(X_balises[i].className.indexOf('form_modification') > -1){
					if(!X_etat){ // modification
						X_balises[i].style.display = 'inline';
					}else{ // Annulation ou validation
						X_balises[i].style.display = 'none';
					}
					changement_display = false;
				}

			}else{
				// Si champs pour modification
				if(X_balises[i].className.indexOf('form_modification') > -1){
					if(!X_etat){ // modification
						X_balises[i].style.display = 'block';
					}else{ // Annulation ou validation
						X_balises[i].style.display = 'none';
					}
					changement_display = true;
				}
	
				// Si champs pour visualisation
				if(X_balises[i].className.indexOf('form_visualisation') > -1){
					if(!X_etat){ // modification
						X_balises[i].style.display = 'none';
					}else{ // Annulation ou validation
						X_balises[i].style.display = 'block';
					}
					changement_display = true;
				}
			}

			// Si pas de changement du DISPLAY
			if(!changement_display){
				switch(X_balises[i].tagName.toLowerCase()){
					case 'input':
						X_balises[i].disabled = X_etat;
						if(!X_etat){
							X_balises[i].className = X_balises[i].tagName.toLowerCase() + '_' + X_balises[i].type.toLowerCase();
						}else{
							X_balises[i].className = X_balises[i].tagName.toLowerCase() + '_' + X_balises[i].type.toLowerCase() + ' disabled_on';
						}
					break;
					case 'select':
						X_balises[i].disabled = X_etat;
						if(!X_etat){
							X_balises[i].className = X_balises[i].tagName.toLowerCase() + '_option';
						}else{
							X_balises[i].className = X_balises[i].tagName.toLowerCase() + '_option disabled_on';
						}
					break;
				}
			}
		}
	}
}

function visiteur(X_msg){
	// Variable type_page dans inc-top-client.jsp et inc-top-visiteur.jsp
	if(X_type_page == X_type_visiteurs){
		alert(X_msg, 2);
	}
}

function codeTouche(evenement)
{
        for (prop in evenement)
        {
                if(prop == 'which') return(evenement.which);
        }
        return(evenement.keyCode);
}


function scanTouche(evenement)
{
        var reCarValides = /[\d]/;

        var codeDecimal  = codeTouche(evenement);
        var car = String.fromCharCode(codeDecimal);
        var autorisation = reCarValides.test(car);

        return autorisation;
}

function numberValide(number)
{

        var reCarValides = /[^0-9]/;

        var autorisation = !reCarValides.test(number);

        return autorisation;
}

function replaceHostname(url) {
	var hostname = document.location.hostname;
	var serverPort = document.location.port;
	var len = url.length;
	var uri = "";
	var scheme = "";
	slashNbr = 0;
	twoPointNbr = 0;
	for(var i = 0; i <= len; i++) {
		if (url.charAt(i)==':') {
			twoPointNbr++;
		}
		if (slashNbr < 2) {
			scheme += url.charAt(i);
		}
		if (url.charAt(i)=='/') {
		 slashNbr++;
		 if (slashNbr == 3) {
		 	uri = url.substring(i,len);
		 	break;
		 }
		}
	}
	var portt = "";
	var ind = url.lastIndexOf(":");
	if (twoPointNbr >1 && ind != -1) {
		var tmp = url.substring(ind,len);				
		portt = tmp.substring(0,tmp.indexOf('/'));	
	}	
	if (portt != "443") portt = ":" + serverPort;	
	var newUrl = scheme + hostname + portt + uri;
	return newUrl;
}


function submitSecureLogin(formulaire,url) {
	document.forms[formulaire].action = replaceHostname(url);
	document.forms[formulaire].submit();
}


//g�re les changements d'images pour les onglet du menu principal.
//les images se nomment toutes *'_on'.gif ou *'_off'.gif...
function changePicture(id) {
	//r�cup�ration des tags 'img' du menu 'id'
	var ListeObj = document.getElementById(id).getElementsByTagName('img') ;
    
    if(ListeObj.length > 0) {
		// seul le 1er (et normalement le seul) tag 'img' nous interresse
		if(ListeObj[0].src.indexOf('_off', 0) > 0) 
			ListeObj[0].src = ListeObj[0].src.replace('_off', '_on') ;
		else
			ListeObj[0].src = ListeObj[0].src.replace('_on', '_off') ;	
	}
}
//Filtre nombre
function numbersonly(myfield, e, dec)
{
	var key;
	var keychar;		
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);		
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) ){
	   return true;		
	}
	// numbers
	else if ((("0123456789").indexOf(keychar) > -1)){
	   return true;		
	}
	// decimal point jump
	else if (dec && (keychar == "."))
	{
	   myfield.form.elements[dec].focus();
	   return false;
	}
	else
	{
	   return false;
	}
}	

//Filtre alphanumérique et mise en majuscule.
function toUpperCaseAlphaNum(caract)
{
	var returnValue = caract.value;
	returnValue = returnValue.replace(/[àâä@]/gi,"a");
	returnValue = returnValue.replace(/[éèêë]/gi,"e");
	returnValue = returnValue.replace(/[îï]/gi,"i");
	returnValue = returnValue.replace(/[ôö]/gi,"o");
	returnValue = returnValue.replace(/[ùûü]/gi,"u");
	returnValue = returnValue.replace(/[ç]/gi,"c");
	//Exclure les Caractères non alphanumeriques.
	returnValue = returnValue.replace(/[^\-a-z0-9 ]/gi,"");
	return returnValue.toUpperCase();
}

