// Variables globales
var memo_smenu = "";
var memo_ssmenu = "";

var class_smenu_actif = "smenu_actif";
var class_menu_actif = "menu_actif";
// Choix de la class active du menu suivant le site EN ou FR
if(document.URL.indexOf('/ka/') > -1 || document.URL.indexOf('/caillebotis/') > -1){
	class_menu_actif = "menu_actif_ka";
}
if(document.URL.indexOf('/ccto/') > -1 || document.URL.indexOf('/chemin_cable/') > -1){
	class_menu_actif = "menu_actif_ccto";
}
if(document.URL.indexOf('/pib/') > -1 || document.URL.indexOf('/tole-perforee/') > -1){
	class_menu_actif = "menu_actif_pib";
}

// Initialisation du menu
var hauteur_document;
var hauteur_logo = 127;
function init_menu_new(){
	if(document.all){
		hauteur_document = document.body.clientHeight - hauteur_logo;
		document.getElementById('menu').style.height = hauteur_document;
	}else{
		hauteur_document = window.innerHeight - hauteur_logo;
		document.getElementById('menu').style.height = hauteur_document;
	}
}

// Affiche le smenu
function affiche_smenu(X_menu, X_smenu, X_idx){
	// Efface et desactive ancien menu actif
	if(memo_smenu != ""){
		// Efface sous-menu memorise
		if(document.getElementById(X_smenu + memo_smenu)){
			document.getElementById(X_smenu + memo_smenu).style.display = 'none';
		}
		// Desactive menu
		supprimer_class(class_menu_actif, X_menu + memo_smenu)
	}

	// Affiche et Active sous-menu clique
		// Affiche sous-menu
		if(document.getElementById(X_smenu + X_idx)){
			document.getElementById(X_smenu + X_idx).style.display = 'block';

			// Desactive ancien ssmenu actif
			if(memo_ssmenu != ''){
				supprimer_class(class_smenu_actif, memo_ssmenu)
			}
		}
		// Active menu
		ajouter_class(class_menu_actif, X_menu + X_idx)

	// Memorise menu actif
	memo_smenu = X_idx;

	// Initialisation des boutons de defillement du menu
	init_scroll_menu()
}


// Active le ssmenu
function active_ssmenu(X_ssmenu){
	// Desactive ancien ssmenu actif
	if(memo_ssmenu != ''){
		supprimer_class(class_smenu_actif, memo_ssmenu)
	}

	// Active le Sous-menu
	ajouter_class(class_smenu_actif, X_ssmenu)

	// Memorise le Sous-menu actif
	memo_ssmenu = X_ssmenu;
}

// 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;
}

// Calcul la hauteur du menu
var hauteur_menu;
function calcul_hauteur_menu(){
	var X_obj = document.getElementById('menu_new');
	if(X_obj){
		hauteur_menu = X_obj.offsetHeight;
	}else{
		hauteur_menu = 0;
	}
}

// Initialisation des bouton de scroll du menu
function init_scroll_menu(){
	var X_obj = document.getElementById('defillement_menu');
	if(X_obj){
		// Calcul la hauteur du menu
		calcul_hauteur_menu();
		// Si hauteur du menu plus grand dque la hauteur du document
		if(hauteur_menu > hauteur_document){
			X_obj.style.visibility = 'visible';
		}else{
			X_obj.style.visibility = 'hidden';
			if(document.getElementById('menu_new')){
				document.getElementById('menu_new').style.marginTop = 0;
			}
		}

		// Init des boutons pour le scroll
		init_bouton_scroll();
	}
}

// Defillement du menu
var margin_top_menu = 0;
function scroll_menu(X_sens){
	// Si hauteur du menu plus grand que la heuteur du document
	if(hauteur_menu > hauteur_document){
		// Scroll de la div
		switch(X_sens){
			case 'bas':
				// Scroll encore possible
				if(hauteur_menu - margin_top_menu > hauteur_document) {
					// Calcul du scroll possible
					margin_top_menu += hauteur_document;
					// Scroll du menu
					document.getElementById('menu_new').style.marginTop = - margin_top_menu;
				}
			break;
			case 'haut':
				// Scroll encore possible
				if(margin_top_menu > 0) {
					// Calcul du scroll possible
					margin_top_menu -= hauteur_document;
					// Scroll du menu
					document.getElementById('menu_new').style.marginTop = - margin_top_menu;
				}
			break;
		}

		// Init des boutons pour le scroll
		init_bouton_scroll();
	}
}

function init_bouton_scroll(){
	// Init bouton haut
	if(document.getElementById('flecheH')){
		// Si scroll haut encore possible
		if(margin_top_menu > 0){
			document.getElementById('flecheH').style.display = 'block';
		}else{
			document.getElementById('flecheH').style.display = 'none';
		}
	}

	// Init bouton bas
	if(document.getElementById('flecheB')){
		// Si scroll bas encore possible
		if(hauteur_menu - margin_top_menu > hauteur_document){
			document.getElementById('flecheB').style.display = 'block';
		}else{
			document.getElementById('flecheB').style.display = 'none';
		}
	}
}