/* AUTEUR: Joël DESPREZ */
/* DATE DE CREATION: 13/01/03 */
/* Révisé le 20/05/03 pour Netscape 6 et 7 */
/* Révisé le 06/11/03 pour Opera 7 */
/* Révisé le 26/11/03 pour Opera 6 */

// Debut script
// ******** MENU FLOTTANT - DEBUT *********
// Lancement dans Body par : OnLoad="init_float_layers('couche1', 2);"
// couche1 : nom du layer, 2 : type de menu flottant (1:haut-gauche, 2:?, 3:haut-milieu, 4:haut-droit, 5:bas-gauche, 6:bas-milieu, 7:bas-droit

// Initialisation de la couche
function init_float_layers() { // v3.0
  var name;
  var layer;
  var i;
  var j;

  j = 0;
  document._float_layers = new Array(Math.max(1, init_float_layers.arguments.length/2));
  for (i = 0; i < init_float_layers.arguments.length; i += 2) {
    name  = init_float_layers.arguments[i];
    if (name == '')
      return;
	      
	if (!document.all && document.getElementById) {  // Pour Netscape 6 et supérieur et Mozilla 1.4 et Opera 6
	  if (navigator.userAgent.indexOf ('Mozilla') != -1) { // Pour Netscape 6 et supérieur et Mozilla 1.4
        layer = document.getElementById(name);
        layer._fl_pos_left = parseInt(layer.style.left.substring(0,1)); // récupère le 1er caractère et convertit la chaîne en nombre 
        layer._fl_pos_top  = parseInt(layer.style.top.substring(0,1));
	  }
	  else { // Pour Opera 6
        layer = document.getElementById(name);
        layer._fl_pos_left = layer.style.left; // ou layer.style.pixelLeft;
        layer._fl_pos_top  = layer.style.top; // ou layer.style.pixelTop;
	  }
	}
    else if (navigator.appName.indexOf('Netscape', 0) != -1) { // Pour Netscape 4.7 -
      layer = document.layers[name];
      layer._fl_pos_left = layer.left;
      layer._fl_pos_top  = layer.top;
    }
	else { // Pour Internet Explorer 4 et supérieur // Pour opera 7 et superieur
      layer = document.all[name];
      layer._fl_pos_left = layer.style.pixelLeft;
      layer._fl_pos_top  = layer.style.pixelTop;
    }
    layer._fl_pos = init_float_layers.arguments[i+1];
    if (layer)
      document._float_layers[j++] = layer;
  }
  document._fl_interval = setInterval('process_float_layers()', 200);
}

// Récupération des dimensions de la page active
function page_width() { // v1.0
  return (navigator.appName.indexOf('Netscape', 0) != -1) ? innerWidth  : document.body.clientWidth;
}
function page_height() { // v1.0
  return (navigator.appName.indexOf('Netscape', 0) != -1) ? innerHeight : document.body.clientHeight;
}

// Création du déplacement de la couche
function process_float_layers() { //v3.0
  if (document._float_layers) {
    var i;
    var layer;
    for (i = 0; i < document._float_layers.length; i++) {
	  layer = document._float_layers[i];
      if (!document.all && document.getElementById) { // Pour Netscape 6 et supérieur et Opera 6
	  	if (layer._fl_pos == 1)
	      layer.style.left = layer._fl_pos_left + document.body.scrollLeft;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 5)
	      layer.style.left = document.body.scrollLeft;
	    else if (layer._fl_pos == 3 || layer._fl_pos == 6)
	      layer.style.left = document.body.scrollLeft + (page_width() - layer.style.width)/2;
	    else
	      layer.style.left = document.body.scrollLeft + page_width()  - layer.style.width;
	    if (layer._fl_pos == 1)
	      layer.style.top = layer._fl_pos_top + document.body.scrollTop;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 3 || layer._fl_pos == 4)
	      layer.style.top = document.body.scrollTop;
	    else
	      layer.style.top  = document.body.scrollTop  + page_height() - layer.style.height;
	  }
	  else if (navigator.appName.indexOf('Netscape', 0) != -1) { // Pour Netscape 4.7 -
	    if (layer._fl_pos == 1)
	      layer.left = layer._fl_pos_left + window.pageXOffset;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 5) 
	      layer.left = window.pageXOffset;
	    else if (layer._fl_pos == 3 || layer._fl_pos == 6) 
	      layer.left = window.pageXOffset + (page_width() - layer.clip.width)/2;
	    else
	      layer.left = window.pageXOffset + page_width() - layer.clip.width - 22; // 22 : Décalage de l'image / bord droit sur NS
	    if (layer._fl_pos == 1)
	      layer.top = layer._fl_pos_top + window.pageYOffset;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 3 || layer._fl_pos == 4)
	      layer.top = window.pageYOffset;
	    else
	      layer.top  = window.pageYOffset + page_height() - layer.clip.height;
	  }
	  else { // Pour Internet Explorer 4 et supérieur // Pour opera 7 et superieur
	    if (layer._fl_pos == 1)
	      layer.style.pixelLeft = layer._fl_pos_left + document.body.scrollLeft;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 5)
	      layer.style.pixelLeft = document.body.scrollLeft;
	    else if (layer._fl_pos == 3 || layer._fl_pos == 6)
	      layer.style.pixelLeft = document.body.scrollLeft + (page_width() - layer.style.pixelWidth)/2;
	    else
	      layer.style.pixelLeft = document.body.scrollLeft + page_width()  - layer.style.pixelWidth;
	    if (layer._fl_pos == 1)
	      layer.style.pixelTop = layer._fl_pos_top + document.body.scrollTop;
	    else if (layer._fl_pos == 2 || layer._fl_pos == 3 || layer._fl_pos == 4)
	      layer.style.pixelTop = document.body.scrollTop;
	    else
	      layer.style.pixelTop  = document.body.scrollTop  + page_height() - layer.style.pixelHeight;
      }
    }
  }
}

// ******** MENU FLOTTANT - FIN ********
//  Fin script
