<!-- Debut script
/* SOCIETE: KOLTECH */
/* AUTEUR: Aurélien Marchand */
/* DATE DE CREATION: 17/03/06 */
/*  Tous droits réservés */
// *****************************************************************
// Script menu en cascade (sans bouton)
// *****************************************************************
// modification le 9-04 ajout gestion Compétence et région - Aurélien
// modification le 19-04 correstion bug + gestion du retour + gestion nombre de niveau - Aurélien

// gestion de l'affichage des bouton "plus" sivant le nombe de niveaux
function initNbNiveau (nbNiveau,typ, num){
	if(nbNiveau>=2)document.getElementById("btn_plus_"+typ+"_cat"+num).style.visibility="visible";
	else document.getElementById("btn_plus_"+typ+"_cat"+num).style.visibility="hidden";
		
	if(nbNiveau>=3)document.getElementById("btn_plus_"+typ+"_souscat"+num).style.visibility="visible";
	else document.getElementById("btn_plus_"+typ+"_souscat"+num).style.visibility="hidden";
}

//initialisation des 2 menus
function initSecteur (niveau1, niveau2, niveau3, numSelect, typ){
SelectionTableauATraité (typ);
var chpSecteur = nomDesChpTemp[numSelect][0];
var chpSousSecteur = nomDesChpTemp[numSelect][1];
var chpActivite = nomDesChpTemp[numSelect][2];

//preparation des selects

lgth = chpSecteur.options.length - 1;
chpSecteur.options[lgth] = null;

lgth = chpSousSecteur.options.length - 1;
chpSousSecteur.options[lgth] = null;

lgth = chpActivite.options.length - 1;
chpActivite.options[lgth] = null;

//ChangeSecteur ();
setInitFiltreSecteur(niveau1, niveau2, niveau3, numSelect, typ);

}

// détermination du filtre intitial é afficher
function setInitFiltreSecteur (niveau1, niveau2, niveau3, numSelect,typ){
SelectionTableauATraité (typ);

var chpSecteur = nomDesChpTemp[numSelect][0];
var chpSousSecteur = nomDesChpTemp[numSelect][1];
var chpActivite = nomDesChpTemp[numSelect][2];
		ChangeSecteur (numSelect, typ);
		chpSecteur.value= niveau1;

if (niveau3 >=0 ){
	chpSecteur.value= niveau1;
	ChangeActiviteInternal (niveau1, niveau2, numSelect, typ);
	
	chpActivite.value= niveau3;
	chpSousSecteur.value= niveau2;
}
else{
	if (niveau2 >= 0){
		ChangeSousSecteurInternal(niveau1, numSelect, typ);
		chpSousSecteur.value= niveau2;
		chpSecteur.value= niveau1;
	}
}

}

function ChangeSecteur (numSelect, typ){
SelectionTableauATraité (typ);
	
ResetChpSecteur (numSelect, typ);
var chpSecteur = nomDesChpTemp[numSelect][0];
var valeurChpSecteur=chpSecteur.value;
nomDesLignesTemp[numSelect][0].style.display="inline";
nomDesLignesTemp[numSelect][1].style.display="none";
nomDesLignesTemp[numSelect][2].style.display="none";
//rempli le menu secteur
var premierNb;
var nbOption=0;

chpSecteur.options.length = 0;	
chpSecteur.options[0] = new Option("Tous","-1");	
if(MonTableau.length<=1){

	chpSecteur.options[nbOption] = new Option("Aucune nomenclature","-1");	

}else{
	for (i=0; i<MonTableau.length; i++) {
		if (MonTableau[i][1].length==tailleDuPas){
		   if(!premierNb)premierNb=MonTableau[i][1];
		   nbOption++;
		   chpSecteur.options[nbOption] = new Option(MonTableau[i][2],MonTableau[i][0]);	 	
		}
	};
}
// remet le champ secteur é sa valeur lors d"un retour
chpSecteur.value=valeurChpSecteur;
}


// fonction qui modifie le champ sous-secteur
function ChangeSousSecteur (numSelect, typ){
SelectionTableauATraité (typ);
	var chpSecteur = nomDesChpTemp[numSelect][0];
	var chpSousSecteur = nomDesChpTemp[numSelect][1];	
	//var numSecteur;
	var retour=0;
	var backk=0;
	var valeurChpSousSecteur=chpSousSecteur.value;
	if(valeurChpSousSecteur.value!=-1){
			backk=1;
	}
	if(nomDesChpTemp[numSelect][0].value==-1){
		//if (nomDesChpTemp[numSelect][1].value==-1){
			//alert("Veuillez selectionner un élément.");
			nomDesLignesTemp[numSelect][1].style.display="none";
			nomDesLignesTemp[numSelect][2].style.display="none";
			nomDesChpTemp[numSelect][1].options[0].selected=true;
			nomDesChpTemp[numSelect][2].options[0].selected=true;
			return;
		/*}else {
			var temp=chpSousSecteur.options[chpSousSecteur.selectedIndex].value;
			
			numSecteur =MonTableau[temp][1].substring(0,tailleDuPas);
			retour=1;
			
		}*/
		
	}else {
		numSecteur = chpSecteur.options[chpSecteur.selectedIndex].value

	}
 	ResetChpSousSecteur (numSelect, typ);

	
	//var list = MonTableau[numSecteur];
	var chpSousSecteur = nomDesChpTemp[numSelect][1];
	chpSousSecteur.options.length = 0;		
	var nbOption=0;
	chpSousSecteur.options[0] = new Option("Sélectionnez...","-1");
	//chpSousSecteur.options[0].selected = "true";
	var tmp;
	for (i=0; i<MonTableau.length; i++) {
		if(retour==1)tmp=numSecteur;
	if(retour==0 && numSecteur==MonTableau[i][0])tmp=MonTableau[i][1];
		if (MonTableau[i][1].length==tailleDuPas*2 && MonTableau[i][1].substring(0,tailleDuPas)==tmp){
	   	   nbOption++;
		   chpSousSecteur.options[nbOption] = new Option(MonTableau[i][2],MonTableau[i][0]);	 	
		}
	};
	
	// verifier s'il y a des elements dans le tableau des sous secteurs.
	var display = "inline";
	if (nbOption == 0) {
	    display = "none"; 
	}
	nomDesLignesTemp[numSelect][0].style.display="inline";
	nomDesLignesTemp[numSelect][1].style.display=display;
	nomDesLignesTemp[numSelect][2].style.display="none";
	
	
	// remet le champ sous secteur é sa valeur lors d"un retour
	if(backk!=0) chpSousSecteur.value=valeurChpSousSecteur;
	
	// change le menu activite lors d'un changement du menu sous secteur
	//ChangeActivite ();
	var chpActivite = nomDesChpTemp[numSelect][2];
	chpActivite.options.length = 0;
	chpActivite.options[0] = new Option("Sélectionnez...","-1");
	chpActivite.options[0].selected = "true";
};


function ChangeSousSecteurInternal (numCat, numSelect, typ){
SelectionTableauATraité (typ);
	var chpSecteur = nomDesChpTemp[numSelect][0];

 	ResetChpSousSecteur (numSelect, typ);

	var chpSecteur = nomDesChpTemp[numSelect][0];
	nomDesLignesTemp[numSelect][1].style.display="inline";
	nomDesLignesTemp[numSelect][0].style.display="none";
	nomDesLignesTemp[numSelect][2].style.display="none";
	var numSecteur = numCat;
	
	//var list = MonTableau[numSecteur];
	var chpSousSecteur = nomDesChpTemp[numSelect][1];
	var chpActivite = nomDesChpTemp[numSelect][2]
	
	chpSousSecteur.options.length = 0;		
	var nbOption=0;
	chpSousSecteur.options[0] = new Option("Sélectionnez...","-1");
	var tmp;
	for (i=0; i<MonTableau.length; i++) {
		if(numSecteur==MonTableau[i][0])tmp=MonTableau[i][1];
	};
	for (i=0; i<MonTableau.length; i++) {
	if(numSecteur==MonTableau[i][0])tmp=MonTableau[i][1];
		if (MonTableau[i][1].length==tailleDuPas*2 && MonTableau[i][1].substring(0,tailleDuPas)==tmp){
	   	   nbOption++;
		   chpSousSecteur.options[nbOption] = new Option(MonTableau[i][2],MonTableau[i][0]);	 	
		}
	};
	// change le menu activite lors d'un changement du menu sous secteur
	//ChangeActivite ();
	chpActivite.options.length = 0;
	chpActivite.options[0] = new Option("Sélectionnez...","-1");
};



// fonction qui modifie le champ activite

function ChangeActivite (numSelect, typ){
    SelectionTableauATraité (typ);
    if(nomDesChpTemp[numSelect][1].value=="-1"){
        alert("Veuillez selectionner un élément.");
        return;
    }

    var chpSousSecteur = nomDesChpTemp[numSelect][1];
    var chpActivite = nomDesChpTemp[numSelect][2];

    var numSousSecteur = chpSousSecteur.options[chpSousSecteur.selectedIndex].value;
    chpActivite.options.length = 0;
    var nbOption=0;
    chpActivite.options[0] = new Option("Sélectionnez...","-1");
    var tmp;
    for (i=0; i<MonTableau.length; i++) {
        if(numSousSecteur==MonTableau[i][0])tmp=MonTableau[i][1];
    };

    if (tmp != 'null'){
        for (i=0; i<MonTableau.length; i++) {
            if (MonTableau[i][1].length==tailleDuPas*3 && MonTableau[i][1].substring(0,tailleDuPas)==tmp.substring(0,tailleDuPas) && MonTableau[i][1].substring(tailleDuPas,(tailleDuPas*2))==tmp.substring(tailleDuPas,(tailleDuPas*2)) ){
                nbOption++;
                chpActivite.options[nbOption] = new Option(MonTableau[i][2],MonTableau[i][0]);	 	
            }
        };
    }


    // verifier s'il y a des elements dans le tableau des sous secteurs.
    var display = "inline";
    if (nbOption == 0) {
        display = "none"; 
    }
    nomDesLignesTemp[numSelect][0].style.display="inline";
    nomDesLignesTemp[numSelect][1].style.display="inline";
    nomDesLignesTemp[numSelect][2].style.display=display;

}


function ChangeActiviteInternal (niveau1, niveau2, numSelect, typ){
ChangeSousSecteurInternal(niveau1,numSelect, typ);
SelectionTableauATraité (typ);

var chpActivite = nomDesChpTemp[numSelect][2];

	nomDesLignesTemp[numSelect][2].style.display="inline";
	nomDesLignesTemp[numSelect][0].style.display="none";
	nomDesLignesTemp[numSelect][1].style.display="none";
	
var numSousSecteur = niveau2;
chpActivite.options.length = 0;
var nbOption=0;
//numSousSecteur=numSousSecteur.charAt(1);
chpActivite.options[0] = new Option("Sélectionnez...","-1");

var tmp;
for (i=0; i<MonTableau.length; i++) {
	if(numSousSecteur==MonTableau[i][0])tmp=MonTableau[i][1];
};

if (tmp != 'null'){
for (i=0; i<MonTableau.length; i++) {
	if (MonTableau[i][1].length==tailleDuPas*3 && MonTableau[i][1].substring(0,tailleDuPas)==tmp.substring(0,tailleDuPas) && MonTableau[i][1].substring(tailleDuPas,(tailleDuPas*2))==tmp.substring(tailleDuPas,(tailleDuPas*2)) ){
	   nbOption++;
		chpActivite.options[nbOption] = new Option(MonTableau[i][2],MonTableau[i][0]);	 	
	}
};
}

}

function ResetChpSecteur (numSelect, typ){
SelectionTableauATraité (typ);
	var chpSousSecteur = nomDesChpTemp[numSelect][1];
	chpSousSecteur.options.length = 0;
	chpSousSecteur.options[0] = new Option("Sélectionnez...","-1");
	chpSousSecteur.options[0].selected = "selected";
	ResetChpSousSecteur (numSelect, typ);
}
function ResetChpSousSecteur (numSelect, typ){
SelectionTableauATraité (typ);
	var chpActivite = nomDesChpTemp[numSelect][2];
	chpActivite.options.length = 0;
	chpActivite.options[0] = new Option("Sélectionnez...","-1");
	chpActivite.options[0].selected = "selected";
}
function SelectionTableauATraité (typ){
if(typ=="secteur")	{
	MonTableau=MonTableauSecteur;
	nomDesChpTemp=nomDesChpSecteur;
	nomDesLignesTemp=nomDesLignesSecteur;
}
if (typ=="fct")	{
	MonTableau=MonTableauFct;
	nomDesChpTemp=nomDesChpFct;
	nomDesLignesTemp=nomDesLignesFct;
}
if (typ=="comp")	{
	MonTableau=MonTableauComp;
	nomDesChpTemp=nomDesChpComp;
	nomDesLignesTemp=nomDesLignesComp;
}
if (typ=="reg")	{
	MonTableau=MonTableauReg;
	nomDesChpTemp=nomDesChpReg;
	nomDesLignesTemp=nomDesLignesReg;
}
}

//init proncipal
function init (){
    initTableau();

    // calcul du nombre de selecteur de chaque type
    nbSelecteurSecteur=nomDesChpSecteur.length;
    nbSelecteurFct=nomDesChpFct.length;

    // Calcul du nombre de niveau par nomenclature

    var nbNiveauFct=0;
    for (i=0; i < MonTableauFct.length; i++) {
        if(MonTableauFct[i][1].length>nbNiveauFct*tailleDuPas)nbNiveauFct=MonTableauFct[i][1].length/tailleDuPas;
    }
        
    //init tous les champs
    for (z=0; z < nbSelecteurFct; z++) {
        initSecteur(nomDesChpFct[z][4],nomDesChpFct[z][5],nomDesChpFct[z][6],z,"fct");
        //initNbNiveau (2,"fct",z);
    }

}
//  Fin script -->

