/*****************************
* JavaScript Document
* 
* misc functions for a basic slideshow
* 
*  date:    2005.11.08
*  author:  erational.org
*  licence: GPL 
********************************/

// TODO 
// a convertir en jquery non obscructif

// Checking for DOM compatibility	
if (document.getElementById && document.createTextNode && document.createElement){
    // alert("dom ok");
} else {
  alert("votre navigateur est trop ancien\nles fonctions slideshow ne sont donc pas actives\n");
}

// switch function show - hide a given node
function showLayer(obj) { 
    slide_pos = obj.substring(5);
    hideAllChild();   
    element = document.getElementById(obj);    
		if (element) {		    
			  if (element.style.display != "block") element.style.display = "block";
			                                  else  element.style.display = "none";			                                  
		}
    
}

// hide a given node
function hideLayer(obj) {     
    element = document.getElementById(obj);    
		if (element) element.style.display = "none";
}

// hide a child node from a given node
function hideAllChild() {    
    for (var i=0; i<totalslide+1; i++) {
        hideLayer("prev_"+(startslide+i));
    } 
    
    
}


// ****************************************
// slideshow function
// ****************************************

// init
slide_pos = 0;          // position dans le slide
totalslide = 0;         // nb de slides dispo ds la page
startslide = 1;         // id de la slide de depart
isSlideStarted = false; // flag pour arret / depart slideshow
slidetempo = 2500;      // tempo slideshow en ms 

function init_slide(strtslide, nbslide) {
  totalslide = nbslide; 
  if (strtslide!= '') startslide = strtslide*1 +1;
  showLayer('prev_'+(strtslide+1));  // maj 2008 - on liste la 1ere slide (respectant pagination)
}

function nextslide(){  
  slide_pos++;
  if (slide_pos>= startslide*1 + totalslide*1) slide_pos = startslide;
  showLayer("prev_"+slide_pos);   
  
}

function previousslide(){ 
  slide_pos--;
  if (slide_pos<= startslide*1) slide_pos = -1 + startslide*1 +totalslide*1; // int conversion
  showLayer("prev_"+slide_pos); 
}

function startingslide(initpos) { 
    if (initpos-1<totalslide) slide_pos = initpos-1;
                       else slide_pos = 0;
    isSlideStarted = 1 - isSlideStarted;
    slideTimer();
}

function slideTimer() { 
    if (isSlideStarted) nextslide();    
    if (totalslide>1) setTimeout("slideTimer()",slidetempo);
}

function pauseslide(){
  isSlideStarted = 1 - isSlideStarted; 
}

