// Determine browser.

var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
                parseFloat(navigator.appVersion) >= 4 &&  parseFloat(navigator.appVersion) < 5) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0;
var NS6 = (document.getElementById&&!document.all)


//-----------------------------------------------------------------------------
// Layer visibility.
//-----------------------------------------------------------------------------

function hideLayer(layer) {

  if (isMinNS4)
    layer.visibility = "hide";
  if (isMinIE4)
    layer.style.visibility = "hidden";
	if (NS6)
		layer.visibility="hidden";
}

function showLayer(layer) {

  if (isMinNS4)
    layer.visibility = "show";
  if (isMinIE4)
    layer.style.visibility = "visible";
	if (NS6)
		layer.visibility="visible";
}

function inheritLayer(layer) {

  if (isMinNS4)
    layer.visibility = "inherit";
  if (isMinIE4)
    layer.style.visibility = "inherit";
}

function getVisibility(layer) {

  if (isMinNS4) {
    if (layer.visibility == "show")
      return "visible";
    if (layer.visibility == "hide")
      return "hidden";
    return layer.visibility;
  }
  if (isMinIE4)
    return layer.style.visibility;
	if (NS6)
		return layer.visibility;
  return "";
}
//-----------------------------------------------------------------------------
// Layer utilities.
//-----------------------------------------------------------------------------

function getLayer(name) {

  if (isMinNS4)
    return findLayer(name, document);
  if (isMinIE4)
    return eval('document.all.' + name);
	if (NS6)
		return document.getElementById(name).style;
  return null;
}

function findLayer(name, doc) {

  var i, layer;

  for (i = 0; i < doc.layers.length; i++) {
    layer = doc.layers[i];
    if (layer.name == name)
      return layer;
    if (layer.document.layers.length > 0)
      if ((layer = findLayer(name, layer.document)) != null)
        return layer;
  }
  return null;
}

function moveLayerTo(layer, x, y) {

  if (isMinNS4)
    layer.moveTo(x, y);
  if (isMinIE4) {
    layer.style.left = x;
    layer.style.top  = y;
  }
	if (NS6){
		layer.left = x + "px";
  	layer.top = y + "px";
	}
}

function moveLayerBy(layer, dx, dy) {

  if (isMinNS4)
    layer.moveBy(dx, dy);
  if (isMinIE4) {
    layer.style.pixelLeft += dx;
    layer.style.pixelTop  += dy;
  }
	if (NS6){
		layer.left = parseInt(layer.left) + dx + "px";
		layer.top = parseInt(layer.top) + dy + "px";
	}
}

function getTop(layer) {

  if (isMinNS4)
    return layer.top;
  if (isMinIE4)
    return layer.style.pixelTop;
	if (NS6)
		return layer.top;
  return -1;
}
//-----------------------------------------------------------------------------
// 
//-----------------------------------------------------------------------------

function getImage(name) {

  if (isMinNS4) {
    return findImage(name, document);
  }
  if (isMinIE4)
    return eval('document.all.' + name);
	if (NS6)
		return document.images[name];
  return null;
}

function findImage(name, doc) {

  var i, img;

  for (i = 0; i < doc.images.length; i++)
    if (doc.images[i].name == name)
      return doc.images[i];
  for (i = 0; i < doc.layers.length; i++)
    if ((img = findImage(name, doc.layers[i].document)) != null) {
      img.container = doc.layers[i];
      return img;
    }
  return null;
}


//-----------------------------------------------------------------------------
// Changer de layer
//-----------------------------------------------------------------------------
//mouvement par le haut**************************
	function moveup(position){
		
		var i=1;
		for (i = 1; i <= nblayers; i++) {
			folio = getLayer("show"+i);
			if (getVisibility(folio)=="visible"){
				nomactif="show"+i;
				
				nomtop ="show"+(i-1);
				courantlayer=i;
			}
		}
		moveup2(nomactif,nomtop,position);
  }
//***********************************************
	function moveup2(nomactif,nomtop,position){
		layeractif=getLayer(nomactif);
		layertop=getLayer(nomtop);
		if (NS6) if (isNaN(parseInt(layeractif.top))) layeractif.top=0 + "px";
		
		if (parseInt(getTop(layeractif))-position <=3 && parseInt(getTop(layeractif))-position >0){
			reste=(parseInt(getTop(layeractif))-position)*-1;
			moveLayerBy(layeractif,0,reste);}
		else moveLayerBy(layeractif,0,-4);
		movetopdown(nomtop,position);
		
		if ( parseInt(getTop(layeractif)) >= position || parseInt(getTop(layeractif))=="")	
			
			if ((navigator.appVersion.indexOf("Macintosh") != -1) && (isMinNS4))
				setTimeout("moveup2('"+nomactif+"','"+nomtop+"',"+position+")",5);
			else
				setTimeout("moveup2('"+nomactif+"','"+nomtop+"',"+position+")",0);
		else{
			hideLayer(layeractif);
			if (courantlayer >= nblayers-1){
				hideLayer(getLayer("suivant2"));
				showLayer(getLayer("suivant1"));
			}
			
			if (courantlayer == 2){
				hideLayer(getLayer("precedent1"));
				showLayer(getLayer("precedent2"));
			} 
		
		}
	}
//********************************************************	
	function movetopdown(nomtop,position){
		folioLayer = getLayer(nomtop);
		if (getVisibility(folioLayer)!="visible"){			
			moveLayerTo(folioLayer,0,(position*-1));
			showLayer(folioLayer);	
					
		}
		
		if (parseInt(getTop(folioLayer))> 0){
			if (parseInt(getTop(folioLayer))-4 <=3 && parseInt(getTop(folioLayer))-4 >0){
				reste=(parseInt(getTop(folioLayer))-4)*-1;
				moveLayerBy(folioLayer,0,reste);}
			else	moveLayerBy(folioLayer,0,-4);	
		}
	}
	
//mouvement par le bas**************************	
	function movedown(position){
		
		var i=1;
		for (i = 1; i <= nblayers; i++) {
			folio = getLayer("show"+i);
			if (getVisibility(folio)=="visible"){
				nomactif="show"+i;
				nomtop ="show"+(i+1);
				courantlayer=i;
			}
		}
		movedown2(nomactif,nomtop,position);
  }
	
//**************************************************	
	
	function movedown2(nomactif,nomtop,position){
		layeractif=getLayer(nomactif);
		layertop=getLayer(nomtop);
		if (NS6) if (isNaN(parseInt(layeractif.top))) layeractif.top=0 + "px";
		
		if (parseInt(getTop(layeractif))-position <=3 && parseInt(getTop(layeractif))-position >0){
			reste=(parseInt(getTop(layeractif))-position)*-1;
			moveLayerBy(layeractif,0,reste);}
		else moveLayerBy(layeractif,0,4);
	
    movedowntop(nomtop,position);
		if ( parseInt(getTop(layeractif)) <= position || parseInt(getTop(layeractif))=="")
			if ((navigator.appVersion.indexOf("Macintosh") != -1) && (isMinNS4))
				setTimeout("movedown2('"+nomactif+"','"+nomtop+"',"+position+")",5);
			else
				setTimeout("movedown2('"+nomactif+"','"+nomtop+"',"+position+")",0);
		else{
			hideLayer(layeractif);

		if (courantlayer+1 == nblayers){
			hideLayer(getLayer("suivant1"));
			showLayer(getLayer("suivant2"));
		}
		if (courantlayer == 1){
			hideLayer(getLayer("precedent2"));
			showLayer(getLayer("precedent1"));
		}
		}
	}
	
//**************************************************	
	
	function movedowntop(nomtop,position){
		folioLayer = getLayer(nomtop);
		if (getVisibility(folioLayer)!="visible"){	
			moveLayerTo(folioLayer,0,-(position));
			showLayer(folioLayer);		
		}

		if (parseInt(getTop(folioLayer))< 0){
			if (parseInt(getTop(folioLayer))+4 >=-3 && parseInt(getTop(folioLayer))+4 >0){
				reste=(parseInt(getTop(folioLayer))+4);
				moveLayerBy(folioLayer,0,reste);}
			else	moveLayerBy(folioLayer,0,4);
		}
	}
	
	function suivant1(){
	var namelayer="";
	var visible = "hidden";
	var layer=-1;
	
	for (var i = nblayers -1; i >= 0; i--) {
		
		namelayer = getLayer("show"+(i+1));
		if (getVisibility(namelayer) == "visible" && (i + 2) <= nblayers){
			setTimeout("moveLayerBy("+namelayer+","+0+","+5+")",1);
		} 
	}
	if (layer == nblayers){
		hideLayer(getLayer("suivant1"));
		showLayer(getLayer("suivant2"));
	}
	if (layer == 1){
		hideLayer(getLayer("precedent2"));
		showLayer(getLayer("precedent1"));
	} 
}
