// Variables globales
var AfficheFiltre = false;
var DocRef = '';
if(DocRef == ''){if(document.documentElement && document.documentElement.clientWidth){DocRef = document.documentElement;}else{DocRef = document.body;}}
var maxInstrument = 20;
var maxColumn = 8;

// Mon navigateur version pour IE
var X_nameNavigateur = 'FF'; // Par default Firefox
var X_versionNavigateur = 0; // Par ddefault pas de version
mon_navigateur(navigator.appVersion);

function mon_navigateur(X_navigateur){
	var X_tabNav = X_navigateur.split(';');
	for(var i in X_tabNav){
		// Si IE
		if(X_tabNav[i].indexOf('MSIE') > -1){
			X_nameNavigateur = 'IE';
			var X_version = X_tabNav[i].replace('MSIE','');
			X_versionNavigateur = X_version.replace(' ','');
		}
	}
}



// Au resize et scroll si popup / filtre
window.onresize = window.onscroll = function(){
	if(AfficheFiltre){show_filter();}
}

function ajoutValeur()
{
	if(document.getElementById('listeId').value == 0)
	{
		mon_alert("addListeDefault");
		return false;
	}
	/*else if(document.getElementById('listeSize').value >= maxInstrument)
	{
		mon_alert("addMaxInstrument");
		return false;
	}*/
	else
	{
		show_filter();
		affiche_popup();
	}
}

// Affiche le filtre
function show_filter(){
	var X_block = document.getElementById('filter');
	if(X_block){
		var X_largeur = 0;
		var X_hauteur = 0;

		X_largeur = parseInt(DocRef.offsetWidth) + parseInt(DocRef.scrollLeft);
		X_hauteur = parseInt(DocRef.offsetHeight) + parseInt(DocRef.scrollTop);
		
		if(X_nameNavigateur == 'IE' && X_versionNavigateur < 7){X_largeur = X_largeur - 22}

		X_block.style.width = parseInt(X_largeur) +  'px';
		X_block.style.height = X_hauteur + 'px';
		
		var X_balises = document.getElementById('global').getElementsByTagName('SELECT');
		for(var i=0; i<X_balises.length; i++){
			X_balises[i].style.visibility = 'hidden';
		}
		
		X_block.style.display = 'block';
		
		AfficheFiltre = true;
	}
}

// Cache le filtre
function hide_filter(){
	var X_block = document.getElementById('filter');
	if(X_block){
		X_block.style.display = 'none';
		
		var X_balises = document.getElementById('global').getElementsByTagName('SELECT');
		for(var i=0; i<X_balises.length; i++){
			X_balises[i].style.visibility = 'visible';
		}

		AfficheFiltre = false;
	}
}

// Affiche le loader pendant chargement
function affiche_loader(){
	var X_block = document.getElementById('loader');
	if(X_block){
		X_block.style.visibily = 'hidden';
		X_block.style.display = 'block';
		
		
		var X_largeur = 0;
		var X_hauteur = 0;

		X_largeur = parseInt(DocRef.offsetWidth) + parseInt(DocRef.scrollLeft);
		X_hauteur = parseInt(DocRef.offsetHeight) + parseInt(DocRef.scrollTop);
		
		if(X_nameNavigateur == 'IE' && X_versionNavigateur < 7){X_largeur = X_largeur - 22}
	
		var X_largeur_loader = parseInt(X_block.offsetWidth);
		var X_hauteur_loader = parseInt(X_block.offsetHeight);
		
		X_block.style.left = ((X_largeur/2)-(X_largeur_loader/2)) + 'px';
		X_block.style.top = ((X_hauteur/2)-(X_hauteur_loader/2)) + 'px';
		
		X_block.style.visibily = 'visible';
	}
}

// Cache le loader apres chargement
function Cache_loader(){
	var X_block = document.getElementById('loader');
	if(X_block){X_block.style.display = 'none';}
}



// Affiche la popup ajout de valeurs
function affiche_popup(){
	var X_block = document.getElementById('ajout_popup');
	if(X_block)
	{
		X_block.style.visibility = 'hidden';
		var MemoLeftGlobal = 0;
		var X_block1 = document.getElementById('global');
		if(X_block1)
		{
			MemoLeftGlobal = parseInt(X_block1.offsetLeft);
		}
		X_block.style.left = parseInt( 292 + MemoLeftGlobal) + 'px';
		X_block.style.visibility = 'visible';
		X_block.style.display = 'block';
	}
}

// Cache la popup ajout de valeurs
function Cache_popup(){
	var X_block = document.getElementById('ajout_popup');
	if(X_block){X_block.style.display = 'none';
	}

}
// -- TOOLS -----------------------------------------------------------------------------------------
function dom_get_first_parent_with_tag(X_obj, X_tagName) {
	X_parent = X_obj;
	
	// Remonte jusqu'a la racine du HTML
	while(X_parent){
		// Parent + 1
		X_parent = X_parent.parentNode;
		if(X_parent.tagName){
			if(X_parent.tagName.toUpperCase() == X_tagName.toUpperCase()){
				return X_parent;
			}
		}
	}
	
	return null;
}

function dom_get_childs_with_tag(X_obj, X_tagName) {
	var aReturn = new Array;
	for (var i in X_obj.childNodes){
		if (X_obj.childNodes[i]){
			if (X_obj.childNodes[i].tagName){
				if (X_obj.childNodes[i].tagName.toUpperCase() == X_tagName.toUpperCase()){
					aReturn[aReturn.length] = X_obj.childNodes[i];
				}
			}
		}
	}
	return aReturn;
}

function dom_get_first_child_with_tag(X_obj, X_tagName) {
	for (var i in X_obj.childNodes){
		if (X_obj.childNodes[i].tagName){
			if (X_obj.childNodes[i].tagName.toUpperCase() == X_tagName.toUpperCase()){
				return X_obj.childNodes[i];
			}
		}
	}
	return null;
}

function ReturnSelectPerso(X_obj){
	var X_objId = document.getElementById(X_obj);
	if(X_objId){
		var X_ElementDetail = dom_get_first_child_with_tag(X_objId, 'DT');
		var X_ElementDetailLabel = dom_get_first_child_with_tag(X_ElementDetail, 'SPAN');
		if (X_ElementDetailLabel.textContent){
			return X_ElementDetailLabel.textContent;
		}else{
			return X_ElementDetailLabel.innerText;
		}
	}else{
		return null;
	}
}

function ReturnLastValueSelectPerso(X_obj){
	var X_objId = document.getElementById(X_obj);
	if(X_objId){
		// Recherche la liste de choix
		var X_ElementDD = dom_get_first_child_with_tag(X_objId, 'DD');
		if(X_ElementDD == null){return 0};
		var X_ElementDL = dom_get_first_child_with_tag(X_ElementDD, 'DL');
		if(X_ElementDL == null){return 0};
		
		var X_ElementsDD = dom_get_childs_with_tag(X_ElementDL, 'DD');
		if(X_ElementsDD == null){return 0};
		if(X_ElementsDD[X_ElementsDD.length-1]){	
			return X_ElementsDD[X_ElementsDD.length-1].getAttribute('valueId');
		}
	}
	return 0;
}


function ModifValueSelectPerso(X_obj, X_value){
	var X_objId = document.getElementById(X_obj);
	if(X_objId){
		// Modification du choix Select Perso avec nouvelle value
		var X_ElementDetail = dom_get_first_child_with_tag(X_objId, 'DT');
		var X_ElementDetailLabel = dom_get_first_child_with_tag(X_ElementDetail, 'SPAN');
		var X_value_ancien = '';
		if (X_ElementDetailLabel.textContent){
			X_value_ancien = X_ElementDetailLabel.textContent;
			X_ElementDetailLabel.textContent = X_value;
		}else{
			X_value_ancien = X_ElementDetailLabel.innerText;
			X_ElementDetailLabel.innerText = X_value;
		}

		// Modification de la liste Select Perso
		var X_ElementListe = dom_get_first_child_with_tag(X_objId, 'DD');
		var X_ElementListe1 = dom_get_first_child_with_tag(X_ElementListe, 'DL');
		if(X_ElementListe1 == null){return null;}
		for (var i in X_ElementListe1.childNodes){
			if (X_ElementListe1.childNodes[i].tagName){
				if (X_ElementListe1.childNodes[i].tagName.toUpperCase() == 'DD'){
					X_ElementOption = dom_get_first_child_with_tag(X_ElementListe1.childNodes[i], 'SPAN')
					if(X_ElementOption == null){return null;}
					if (X_ElementOption.textContent){
						if(X_ElementOption.textContent == X_value_ancien){X_ElementOption.textContent = X_value;}
					}else{
						if(X_ElementOption.innerText == X_value_ancien){X_ElementOption.innerText = X_value;}
					}
				}
			}
		}
	}
}

function DescribeObject(o) {
	var s='';
	for (var i in o) s+= i + ', ';
	alert(s);
}


function affiche_mon_select_choix1(X_obj){
	var X_ElementList = X_obj.parentNode.parentNode;
	var X_ElementDetail = dom_get_first_child_with_tag(X_ElementList.parentNode, 'DT');

	X_ElementDetail.innerHTML = X_obj.innerHTML;
	X_ElementList.style.display = 'none';
}


function gestion_liste(X_Action){
	switch(X_Action){
		case 'ajouter':
			var X_block = document.getElementById('ajouter_renommer_listes');
			if(X_block){
				var X_block1 = document.getElementById('gestion_zone_liste');
				if(X_block1){X_block1.value = "ajouter";}
				
				var X_block2 = document.getElementById('select_liste_ou_portefeuille');
				if(X_block2){X_block2.style.display = 'block';}
				
				var X_block3 = document.getElementById('listes_valeurs');
				if(X_block3){X_block3.style.visibility = 'hidden';}

				var X_block4 = document.getElementById('zone_liste');
				X_block4.value = '';

				var X_block5 = document.getElementById('ajouter_renommer_valider');
				if(X_block5){X_block5.style.display = 'block';}

				var X_block6 = document.getElementById('ajouter_renommer_annuler');
				if(X_block5){X_block5.style.display = 'block';}
				
				X_block.style.display = 'block';
			}
		break;
		
		case 'rennomer':
			var listeParDefault = 0;
			if(document.getElementById('listeId').value == listeParDefault)
			{
				mon_alert("renameListeDefault");
				return false;
			}
			var X_block = document.getElementById('ajouter_renommer_listes');
			if(X_block){
				var X_block1 = document.getElementById('gestion_zone_liste');
				if(X_block1){X_block1.value = "rennomer";}
				
				var X_block2 = document.getElementById('select_liste_ou_portefeuille');
				if(X_block2){X_block2.style.display = 'none';}
				
				var X_block3 = document.getElementById('listes_valeurs');
				if(X_block3){X_block3.style.visibility = 'hidden';}

				var X_block4 = document.getElementById('zone_liste');
				X_block4.value = ReturnSelectPerso('select_liste_portefeuille');

				var X_block5 = document.getElementById('ajouter_renommer_valider');
				if(X_block5){X_block5.style.display = 'block';}

				var X_block6 = document.getElementById('ajouter_renommer_annuler');
				if(X_block5){X_block5.style.display = 'block';}
				
				X_block.style.display = 'block';				
			}
		break;
		
		case 'supprimer':
			var listeParDefault = 0;
			if(document.getElementById('listeId').value == listeParDefault)
			{
				mon_alert("deleteListeDefault");
				return false;
			}
			gestion_liste_annuler();
			var X_block = document.getElementById('ajouter_renommer_listes');
			if(X_block){X_block.style.display = 'none';}
			
			var X_block3 = document.getElementById('listes_valeurs');
			if(X_block3){X_block3.style.visibility = 'visible';}

			if(mon_confirm('supprimer', ReturnSelectPerso('select_liste_portefeuille'))){
				/*alert('Lance la suppression de la liste en cours');*/
				/*AJOUT PAM*/
				var TopicId = '1';
				GestionListesPortefeuilles('deleteListe','','',document.getElementById('listeId').value,document.getElementById('topicId').value);
				chargementListeListe();
				ChargementValeursListePortefeuille2(0,document.getElementById('topicId').value,false,1);
				/*FIN AJOUT PAM*/
			}else{
			}
		break;
	}
}

function gestion_liste_annuler(){
	var X_block = document.getElementById('ajouter_renommer_listes');
	if(X_block){X_block.style.display = 'none';}
		
	var X_block3 = document.getElementById('listes_valeurs');
	if(X_block3){X_block3.style.visibility = 'visible';}

	return false;
}


// Validation  de la gestion de la liste pour Ajouter / Rennomer / Supprimer
/*function validation_zone_liste(e){
	var X_block1 = document.getElementById('gestion_zone_liste');
	if(X_block1){
		switch (X_block1.value){
			case 'ajouter':
				alert('Lance ajout nouvelle liste et recharge la liste + page de valeurs');
			break;

			case 'rennomer':
				var X_block = document.getElementById('zone_liste');
				if(X_block){ModifValueSelectPerso('select_liste_portefeuille', X_block.value);}
				alert('Rennome la liste et modification des value de celle ci');
			break;
		}

		var X_block = document.getElementById('zone_liste');
		if(X_block){X_block.style.display = 'none';}
	}

	return false;
}*/
// Validation  de la gestion de la liste pour Ajouter / Rennomer / Supprimer
function validation_zone_liste(){
	var X_block1 = document.getElementById('gestion_zone_liste');
	if(X_block1){
		switch (X_block1.value){
			case 'ajouter':
				var X_block3 = document.getElementById('listes_valeurs');
				if(X_block3){X_block3.style.visibility = 'visible';}

				var X_block = document.getElementById('ajouter_renommer_listes');
				X_block.style.display = 'none';

				GestionListesPortefeuilles('addListe',document.getElementById('zone_liste').value,document.getElementById('type_zone_liste').value,'','');
				chargementListeListeAfterCreate();
			break;

			case 'rennomer':
				var X_block3 = document.getElementById('listes_valeurs');
				if(X_block3){X_block3.style.visibility = 'visible';}

				var X_block1 = document.getElementById('ajouter_renommer_listes');
				X_block1.style.display = 'none';

				var X_block = document.getElementById('zone_liste');
				if(X_block){ModifValueSelectPerso('select_liste_portefeuille', X_block.value);}
//				GestionListesPortefeuilles('renameListe',document.getElementById('zone_liste').value,listeOrPortefeuille.Get(document.getElementById('listeId').value),document.getElementById('listeId').value,1);
				GestionListesPortefeuilles('renameListe',document.getElementById('zone_liste').value,document.getElementById('typeListe').value,document.getElementById('listeId').value,1);
			break;
		}

		var X_block = document.getElementById('select_liste_ou_portefeuille');
		if(X_block){X_block.style.display = 'none';}

		var X_block3 = document.getElementById('listes_valeurs');
		if(X_block3){X_block3.style.visibility = 'visible';}
	}

	return false;
}

// Validation Libelle Onglet Perso
function ValidationLibelleOngletPerso(){
	var X_obj = document.getElementById('input_onglet_perso');
		var X_obj1 = X_obj.parentNode; // DD
		for (var i in X_obj1.childNodes){ // tous les A du DD
			if (X_obj1.childNodes[i].tagName){
				if (X_obj1.childNodes[i].tagName.toUpperCase() == 'A'){
					for (var j in X_obj1.childNodes[i].childNodes){ // tous les SPAN du A
						if (X_obj1.childNodes[i].childNodes[j].tagName.toUpperCase() == 'SPAN'){
							if(X_obj1.childNodes[i].childNodes[j].className = 'onglet_tableaux_centre'){
								X_DD_A_SPAN_SPAN = dom_get_first_child_with_tag(X_obj1.childNodes[i].childNodes[j], 'SPAN'); // 1er enfant SPAN du SPAN
								if(X_DD_A_SPAN_SPAN == null){return null}
								if (X_DD_A_SPAN_SPAN.textContent){
									X_DD_A_SPAN_SPAN.textContent = X_obj.value;
								}else{
									X_DD_A_SPAN_SPAN.innerText = X_obj.value;
								}
							}
						}
					}
				}
			}
		}
}

// Annulation mode Modification Onglet
function AnnulationModifOngletPerso(){
	gestion_liste_annuler();
	// Affiche-Cache la gestion des colonnes
	var X_obj = document.getElementById('gestion_colonnes');
	if(X_obj){X_obj.style.display = 'none';}

	// MAJ et Delete input de modification onglet
	var X_obj1 = document.getElementById('input_onglet_perso');
	if(X_obj1){
		MemoOngletSPAN.textContent ? MemoOngletSPAN.textContent = X_obj1.value : MemoOngletSPAN.innerText = X_obj1.value;
		MemoOngletDD.removeChild(X_obj1);
	}

	// Affiche-Cache le bouton modifier
	var X_obj2 = document.getElementById('modif_onglet_perso');
	if(X_obj2){X_obj2.style.display = 'inline';}
	
	// Affiche-Cache le bouton terminer
	var X_obj3 = document.getElementById('fin_modif_onglet_perso');
	if(X_obj3){X_obj3.style.display = 'none';}
}

// Modification de l'onglet personnalisé
var MemoOngletDD = '';
var MemoOngletSPAN = '';
var MemoOngletLIB = '';
function ModifOngletPerso(){
	gestion_liste_annuler();
	var X_obj = document.getElementById('liste_onglets');
	for (var i in X_obj.childNodes){
		if (X_obj.childNodes[i].tagName){
			if (X_obj.childNodes[i].tagName.toUpperCase() == 'DD' && X_obj.childNodes[i].className.toLowerCase() == 'onglet_perso'){
				var X_OngletActif = dom_get_first_child_with_tag(X_obj.childNodes[i], 'A');
				if(X_OngletActif == null){return null}
				X_ClassName = X_OngletActif.className.toLowerCase();
				if(X_ClassName.indexOf('onglet_tableaux_actif') > -1){
					// Recherche le libelle de l'onglet actif
					var X_OngletActifSpan = dom_get_childs_with_tag(X_OngletActif, 'SPAN');
					for (var k in X_OngletActifSpan){
						if(X_OngletActifSpan[k].className == "onglet_tableaux_centre"){
							MemoOngletSPAN = dom_get_first_child_with_tag(X_OngletActifSpan[k], 'SPAN');
							if(MemoOngletSPAN == null){return null}
							MemoOngletSPAN.textContent ? MemoOngletLIB = MemoOngletSPAN.textContent : MemoOngletLIB = MemoOngletSPAN.innerText;
						}
					}
					
					// Memorise DD de l'onglet actif
					MemoOngletDD = X_obj.childNodes[i];
					
					// Creation d'un INPUT dynamiquement dans l'onglet actif
					X_monInput = document.createElement("input");
					X_monInput.setAttribute('type','text');
					X_monInput.setAttribute('value', MemoOngletLIB);
					X_monInput.setAttribute('maxLength', '19');
					X_monInput.setAttribute('width', parseInt(X_obj.childNodes[i].offsetWidth) - 34);
					X_monInput.setAttribute('style', 'width:'+ (parseInt(X_obj.childNodes[i].offsetWidth) - 34) + 'px;');
					X_monInput.setAttribute('id','input_onglet_perso');
					X_monInput.setAttribute('onblur','valideNameTopic();');
					X_monInput.onblur = valideNameTopic;
					X_obj.childNodes[i].insertBefore(X_monInput, X_OngletActif);
					
					// Affiche-Cache la gestion des colonnes
					var X_obj1 = document.getElementById('gestion_colonnes');
					if(X_obj1){X_obj1.style.display = 'block';}

					// Affiche-Cache le bouton modifier
					var X_obj2 = document.getElementById('modif_onglet_perso');
					if(X_obj2){X_obj2.style.display = 'none';}
					
					// Affiche-Cache le bouton terminer
					var X_obj3 = document.getElementById('fin_modif_onglet_perso');
					if(X_obj3){X_obj3.style.display = 'inline';}
				}
			}
		}
	}
}


function ActiveTheme(X_this){
	AnnulationModifOngletPerso();
	
	// Recherche onglet actif pour le desactiver
	var X_obj = document.getElementById('liste_onglets');
	for (var i in X_obj.childNodes){
		if (X_obj.childNodes[i].tagName){
			if (X_obj.childNodes[i].tagName.toUpperCase() == 'DD'){
				var X_OngletActif = dom_get_first_child_with_tag(X_obj.childNodes[i], 'A');
				if(X_OngletActif == null){return null}
				
				X_ClassName = X_OngletActif.className.toLowerCase();
				X_ClassName = X_ClassName.replace(' onglet_tableaux_actif', '');
				X_OngletActif.className = X_ClassName;
			}
		}
	}

	// Active l'onglet click�
	X_this.className += ' onglet_tableaux_actif';
}

// Suppression TD d'un tableau
function SuppressionTd(X_this, X_IdTab){
	// Si colonne
	if(X_this.value != ''){
		// Si tableau existe
		var X_obj = document.getElementById(X_IdTab);
		if(X_obj){
			// 1er TBODY
			var X_ElementTBODY = dom_get_first_child_with_tag(X_obj, 'TBODY');
			if(X_ElementTBODY == null){return null}
			// Tous les TR du TBODY
			var X_ElementsTR = dom_get_childs_with_tag(X_ElementTBODY, 'TR')
			for(var i in X_ElementsTR){
				// Tous les TD du TR
				var X_ElementsTD = dom_get_childs_with_tag(X_ElementsTR[i], 'TD')
				for(var j in X_ElementsTD){
					if(X_ElementsTD[j].className){
						if(X_ElementsTD[j].className.indexOf('colonne_' + X_this.value) > -1){
							X_ElementsTR[i].removeChild(X_ElementsTD[j]);
						}
					}
				}
			}
		}
	}
}

// Suppression TD d'un tableau
function SuppressionTd(X_this, X_IdTab){
	// Si colonne selectionnée
	if(X_this.value != ''){
		// Si tableau existe
		var X_obj = document.getElementById(X_IdTab);
		if(X_obj){
			// 1er TBODY
			var X_ElementTBODY = dom_get_first_child_with_tag(X_obj, 'TBODY');
			if(X_ElementTBODY == null){return null}
			// Tous les TR du TBODY
			var X_ElementsTR = dom_get_childs_with_tag(X_ElementTBODY, 'TR')
			for(var i in X_ElementsTR){
				// Tous les TD du TR
				var X_ElementsTD = dom_get_childs_with_tag(X_ElementsTR[i], 'TD')
				for(var j in X_ElementsTD){
					if(X_ElementsTD[j].className){
						if(X_ElementsTD[j].className.indexOf('colonne_' + X_this.value) > -1){
							X_ElementsTR[i].removeChild(X_ElementsTD[j]);
						}
					}
				}
			}
		}
		
		// Supprimer option du select
		var X_ElementsOPTION = dom_get_childs_with_tag(X_this, 'OPTION')
		for(var i in X_ElementsOPTION){
			if(X_ElementsOPTION[i].value == X_this.value){
				X_this.removeChild(X_ElementsOPTION[i]);
			}
		}
	}
}

// Suppression TR d'un tableau
function SuppressionTr(X_this){
	// Recherche le TR parent de la poubelle
	var X_parent = dom_get_first_parent_with_tag(X_this, 'TR');
	if(X_parent == null){return null;}

	// Si parent TR trouvé
	var X_body = dom_get_first_parent_with_tag(X_this, 'TBODY');
	if(X_body == null){return null;}
	X_body.removeChild(X_parent);
}

// Suppression TR d'un tableau
function SuppressionTrList(X_this){
	SuppressionTr(X_this);
	LigneImpairePaire('tabPortList');
}

// Ligne Impaire et Paire d'un tableau JS
function LigneImpairePaire(X_Idtab){
	// Si tableau existe
	var X_obj = document.getElementById(X_Idtab);
	if(X_obj){
		// 1er TBODY
		var X_ElementTBODY = dom_get_first_child_with_tag(X_obj, 'TBODY');
		if(X_ElementTBODY == null){return null}

		// Tous les TR du TBODY
		var X_index = 1; // Impaire = 1 ou Paire = 2
		var X_ElementsTR = dom_get_childs_with_tag(X_ElementTBODY, 'TR')
		for(var i in X_ElementsTR){
			if(X_ElementsTR[i].className){
				if(X_ElementsTR[i].className.indexOf('TABLEAUENTETE') > -1){/* On fait rien si entete du tableau JS*/}
				
				if(X_ElementsTR[i].className.indexOf('lignes') > -1){ // Ligne de valeur
					var X_ClassName = X_ElementsTR[i].className;
					X_ElementsTR[i].className = X_ClassName.replace('TABLEAULIGNE1',''); // Supprime la CLASS des lignes impaires
					X_ElementsTR[i].className = X_ClassName.replace('TABLEAULIGNE2',''); // Supprime la CLASS des lignes paires
					X_ElementsTR[i].className = X_ClassName.replace(' ', ''); // Supprime les seprateurs de CLASS -> normalement reste 'lignes'
	
					switch(X_index){
						case 1:
							X_ElementsTR[i].className += ' TABLEAULIGNE1';
							X_index = 2;
						break;
						case 2:
							X_ElementsTR[i].className += ' TABLEAULIGNE2';
							X_index = 1;
						break;
					}
				}
			}
		}
	}
}


// Arrondir a deux decimales
function arrondi_decimal(X_nombre){
	var X_num = Math.round(X_nombre*100)/100;
	return X_num.toFixed(2);
}

// controle si saisie numerique
function control_saisie_numerique(X_value){
	X_value = X_value.replace(',','.');
	X_value = X_value.replace(' ','');
	if(isNaN(X_value)){return false;}else{return X_value;}
	
}

// Memorise valeur de INPUT sur focus
var MemoValueControlSaisie;
function MemoControlSaisie(X_value){
	MemoValueControlSaisie = X_value;
}

// si controle saisie OK, lance le recalcul
function recalcul_OK(X_this){
	var X_value = control_saisie_numerique(X_this.value);
	if(!X_value){
		mon_alert('ErrorSaisie');
		X_value = MemoValueControlSaisie;
	}
		
	X_this.value = X_value;
	recalculer_portefeuille();
}



<!--############################################################-->


var listeOrPortefeuille = {
	Set : function(foo,bar) {this[foo] = bar;},
	Get : function(foo) {return this[foo];}
}


function chargementListeListe()
{
//alert('chargementListeListe');
	listeListe.setJspParam('method','loadListeListe');
	listeListe.reload();
}

function chargementListeListeAfterCreate()
{
//alert('chargementListeListeAfterCreate');
	listeListe.setJspParam('method','loadListeListe');
	listeListe.setJspParam('flag','last');
	listeListe.reload();
	ChargementValeursListePortefeuille2(ReturnLastValueSelectPerso('select_liste_portefeuille'),document.getElementById("topicId").value,false,document.getElementById("type_zone_liste").value)	
}


function chargementDetailTopic()
{
	detailTopic.setJspParam('method','loadTopic');
	detailTopic.setJspParam('flagPosition','first');
	detailTopic.reload();
}

function chargementDetailTopicSpecial(position)
{
	detailTopic.setJspParam('method','loadTopic');
	detailTopic.setJspParam('flagPosition',position);
	detailTopic.reload();
	idListePortefeuille = document.getElementById("listeId").value;
	var idOnglet = document.getElementById("topicId").value;
	var idType = document.getElementById("typeListe").value;
	ChargementValeursListePortefeuille2(idListePortefeuille,idOnglet,false,idType)
}
function ChargementValeursListePortefeuille(idListePortefeuille,idOnglet,edition)
{
	<!-- OK -->
	var method = 'showDetailListe';
	if(document.getElementById("typeListe").value == 0)
	{
		method = 'showDetailPortefeuille';
		document.getElementById("div_onglet_tableaux").style.visibility = "hidden";
		document.getElementById("div_onglet_tableaux").style.display = "none";
	}
	if(document.getElementById("typeListe").value == 1)
	{
		method = 'showDetailListe';
		document.getElementById("div_onglet_tableaux").style.visibility = "visible";
		document.getElementById("div_onglet_tableaux").style.display = "block";
	}
	detailListe.setJspParam('method',method); 
	detailListe.setJspParam('edition',edition); 
	detailListe.setJspParam('idListe',idListePortefeuille); 
	detailListe.setJspParam('idTopic',idOnglet); 
	detailListe.reload();
	if(document.getElementById("typeListe").value == 0)
	{
		recalculer_portefeuille();
	}
	//DefineDragTable('tabPortList');
}
function ChargementValeursListePortefeuille2(idListePortefeuille,idOnglet,edition,idType)
{
	<!-- OK -->
	var method = 'showDetailListe';
	if(idType == 0)
	{
		method = 'showDetailPortefeuille';
		document.getElementById("div_onglet_tableaux").style.visibility = "hidden";
		document.getElementById("div_onglet_tableaux").style.display = "none";
	}
	if(idType == 1)
	{
		method = 'showDetailListe';
		document.getElementById("div_onglet_tableaux").style.visibility = "visible";
		document.getElementById("div_onglet_tableaux").style.display = "block";
	}
	detailListe.setJspParam('method',method); 
	detailListe.setJspParam('edition',edition); 
	detailListe.setJspParam('idListe',idListePortefeuille); 
	detailListe.setJspParam('idTopic',idOnglet); 
	detailListe.reload();
	if(idType == 0)
	{
		recalculer_portefeuille();
	}
	//DefineDragTable('tabPortList');
}

<!-- method = ajouter -> pour créer une liste -->
<!-- method = renommer -> pour renommer une liste -->
<!-- method = supprimer -> pour supprimer une liste -->
function GestionListesPortefeuilles(method,libelle,type,idListePortefeuille,idOnglet)
{
	<!-- OK -->
	actionListe.setJspParam('method',method); 
	if(method == 'addListe' )
	{
		actionListe.setJspParam('libelle',libelle); 
		actionListe.setJspParam('type',type); 
	} 
	if( method == 'renameListe')
	{
		actionListe.setJspParam('nameListe',libelle); 
		actionListe.setJspParam('idListe',idListePortefeuille); 
		actionListe.setJspParam('type',type); 
	} 
	if(method == 'deleteListe')
	{
		actionListe.setJspParam('idListe',idListePortefeuille); 
	}
	actionListe.reload();
}

<!-- method = rechercheValue -> recherche valeur dans la base -->
<!-- method = rechercheValueListe -> afficher les valeurs d une liste -->
function ResultatsRecherche(method,text,comboType,comboPays,comboListe)
{
	<!-- OK -->
	rechercheValeur.setJspParam('method',method); 
	if(method == 'rechercheValue')
	{
		rechercheValeur.setJspParam('text',text); 
		rechercheValeur.setJspParam('comboType',comboType); 
		rechercheValeur.setJspParam('comboPays',comboPays); 
	}
	if(method == 'rechercheValueListe')
	{
		rechercheValeur.setJspParam('comboListe',comboListe); 
	}
	rechercheValeur.reload();
}

<!--Action de changement-->
function changeTopic(idTopic) {
	<!--OK-->
	document.getElementById("topicId").value = idTopic;
	var select = document.getElementById("listeId").value;
	ChargementValeursListePortefeuille(select,idTopic,false);
}

function onChangeListe(idListe,idType) {
	<!--OK-->
	//document.getElementById("ListeId").value = idListe;
	var idTopic = document.getElementById("topicId").value;
	ChargementValeursListePortefeuille2(idListe,idTopic,false,idType);
}

function onChangeCreateType(idType) {
	<!--OK-->
	document.getElementById("type_zone_liste").value = idType;
}


function onChangeListeRecherche(it) {
	<!--OK-->
	rechercheValeur.setJspParam('method','rechercheValueByListe');
	var idListe = it.options[it.selectedIndex].value;
	if(idListe != -1)
	{
		rechercheValeur.setJspParam('idListe',idListe);
		rechercheValeur.reload();
	}
}



<!--ACTION SUR TOPIC-->
<!--Création de l'input-->
function updateNameTopic(it) 
{
<!--OK-->
	var name = 	it.value;
	document.getElementById("inputTopic"+idTopic).innerHTML = "<input type='text' name='updatenameTopic' id='updatenameTopic' value='"+document.getElementById(nomHiddenTopic).value+"'/> ";
	document.getElementById("updatenameTopic").focus();
}
function deleteTopic(idTopic, message) 
{
<!--OK-->
	actionListe.setJspParam("method","deleteTopic");
	actionListe.setJspParam("idTopic",idTopic);
	var idListe = document.getElementById("listeId").value;
	if(confirm(message)){
		actionListe.reload();
		chargementDetailTopicSpecial('first');
	}else{
	}
}
function addTopic(nameTopic)
{
<!--OK-->
	actionListe.setJspParam("method","addTopic");
	actionListe.setJspParam("nameTopic",nameTopic);
	actionListe.reload();
}
<!--Action onblur sur input nom topic-->
function valideNameTopic()
{
<!--OK-->
	actionListe.setJspParam('method','renameTopic');
	actionListe.setJspParam('newName',document.getElementById("input_onglet_perso").value);
	actionListe.setJspParam('idTopic',document.getElementById("topicId").value);
	actionListe.reload();
	
//	AnnulationModifOngletPerso();
}

function addInstrument(idInstrument,idListe,idTopic)
{
<!--OK-->

	/*if(document.getElementById('listeSize').value >= maxInstrument)
	{
		mon_alert("addMaxInstrument");
		return false;
	}*/
	actionListe.setJspParam('method','addValue');
	actionListe.setJspParam('idListe',idListe);
	actionListe.setJspParam('idTopic',idTopic);
	actionListe.setJspParam('idInstrument',idInstrument); 
	actionListe.reload();
	ChargementValeursListePortefeuille(idListe,idTopic,false);
}

function addColumn(idTopic,it)
{
<!--OK-->
	if(document.getElementById('topicSize').value >= maxColumn)
	{
		mon_alert("addMaxInstrument");		
		document.getElementById('addColonne').disabled = true;
		return false;
	}
	idColumn = it.options[it.selectedIndex].value;
	actionListe.setJspParam('method','addColumn');
	actionListe.setJspParam('idTopic',idTopic);
	actionListe.setJspParam('idColumn',idColumn);
	actionListe.reload();
	ChargementValeursListePortefeuille(document.getElementById('listeId').value,document.getElementById('topicId').value,true);
}

function deleteColumn(idTopic,it)
{
<!--OK-->
	if(document.getElementById('topicSize').value == 0)
	{
		document.getElementById('deleteColonne').disabled = true;
		return false;
	}
	else
	{
		document.getElementById('addColonne').disabled = false;
	}
	document.getElementById('topicSize').value -= 1;
	var idColumn = it.options[it.selectedIndex].value;
	actionListe.setJspParam('method','deleteColumn');
	actionListe.setJspParam('idColumn',idColumn);
	actionListe.reload();
	ChargementValeursListePortefeuille(document.getElementById('listeId').value,document.getElementById('topicId').value,true);
	//DefineDragTable('tabPortList');
}

function UpdateCompoTheme()
{
	if(document.getElementById("updateTopic").style.visibility == "hidden")
	{
		document.getElementById("updateTopic").style.visibility = "visible";
		document.getElementById("updateTopic").style.display = "block";
	}
	else
	{
		document.getElementById("updateTopic").style.visibility = "hidden";
		document.getElementById("updateTopic").style.display = "none";
	}
}
function deleteInstrument(idInstrument)
{
<!--OK-->
	document.getElementById('listeSize').value -= 1;
	document.getElementById('listeSizeAffiche').innerHTML = document.getElementById('listeSize').value;
	actionListe.setJspParam("method","deleteInstrument");
	actionListe.setJspParam("idInstrument",idInstrument);
	actionListe.reload();
	var idListe = document.getElementById("listeId").value;
	var idTopic = document.getElementById("topicId").value;
	ChargementValeursListePortefeuille(idListe,idTopic,false);
	//DefineDragTable('tabPortList');
}
function addOrder(idInstrument,idListe,idTopic)
{
	actionListe.setJspParam("method","addOrder");
	actionListe.setJspParam("idInstrument",idInstrument);
	actionListe.reload();
	ChargementValeursListePortefeuille2(idListe,idTopic,false,0);
}

function updateOrderById(idOrder)
{
	updateOrder(idOrder,document.getElementById("sens_"+idOrder).options[document.getElementById("sens_"+idOrder).selectedIndex].value,document.getElementById("qte_"+idOrder).value,document.getElementById("prix_"+idOrder).value);
}
function updateOrder(idOrder,sens,quantite,prix)
{
	actionListe.setJspParam("method","updateOrder");
	actionListe.setJspParam("idOrder",idOrder);
	actionListe.setJspParam("sens",sens);
	actionListe.setJspParam("quantite",quantite);
	actionListe.setJspParam("prix",prix);
	actionListe.reload();
}
function deleteOrder(idOrder)
{
	actionListe.setJspParam("method","deleteOrder");
	actionListe.setJspParam("idOrder",idOrder);
	actionListe.reload();
	recalculer_portefeuille();
}

function rechercheValue()
{
	rechercheValeur.setJspParam('method','rechercheValue'); 
	inputResearch = document.getElementById('inputTextResearch').value;	
	countryId = document.getElementById('countrySelectId').options[document.getElementById('countrySelectId').selectedIndex].value;
	instrumentTypeId = document.getElementById('instrumentSelectTypeId').options[document.getElementById('instrumentSelectTypeId').selectedIndex].value;
	rechercheValeur.setJspParam('inputResearch',inputResearch);
	rechercheValeur.setJspParam('countryId',countryId);
	rechercheValeur.setJspParam('instrumentTypeId',instrumentTypeId);
	rechercheValeur.reload();
}

function choixMoteurRecherche(choixInstrument, choixPlace, message)
{
	if((choixInstrument == -1) && (choixPlace != -1))
	{
			alert(message);	
			return false;
	}
	else if((choixPlace == -1) && (choixInstrument != -1)) 
	{
			alert(message);
			return false;
	}
	else 
	{
		return rechercheValue();
	}

}


