
var nsd_tab_content_conteneur = null;
var nsd_curseur_tab_content = -1;
var nsd_train = null;
var nsd_time_intervalle = 25;
var nsd_pas_deplacement = 1;
var nsd_continue = true;

/*
	Initialisation
*/
function nsd_construct(content_conteneur,defil_conteneur){
	nsd_tab_content_conteneur = (document.getElementById(content_conteneur)).getElementsByTagName("li");
	nsd_train = document.getElementById(defil_conteneur);
	
}

/*
	Exécution & lancement de slide
*/
function nsd_run(){
	if(nsd_tab_content_conteneur.length > 0){
		// Ajout de wagon si la somme de la largeur des wagons ne couvre pas le train
		while ((nsd_calcul_somme_largeur_wagons() < getElementWidth(nsd_train))){
			nsd_ajoute_wagon();
		}
		
		// on fait avancé les wagons
		for(i=0;i<nsd_train.getElementsByTagName("div").length;i++){
			new_pos = (nsd_train.getElementsByTagName("div"))[i].style.left;
			new_pos = new_pos.replace("px","");
			if(new_pos == "" || new_pos == null){new_pos = "0";}
			new_pos = parseInt(new_pos);
			new_pos = new_pos - nsd_pas_deplacement;
			new_pos = new_pos + "px";
			(nsd_train.getElementsByTagName("div"))[i].style.left = new_pos;
		}
		//Suppression du premier wagon s'il n'est plus affiché
		pos_left = (nsd_train.getElementsByTagName("div"))[0].style.left;
		pos_left = pos_left.replace("px","");
		pos_left = parseInt(pos_left);
		if((pos_left * -1) >= getElementWidth(((nsd_train.getElementsByTagName("div"))[0]))){
			nsd_train.removeChild(nsd_train.firstChild);
		}
		if(nsd_continue==true){
			setTimeout(nsd_run,nsd_time_intervalle);
		}
	}
}

function nsd_calcul_somme_largeur_wagons(){
	ret = 0;
	for(i=0;i<(nsd_train.getElementsByTagName("div")).length;i++){
		ret += getElementWidth((nsd_train.getElementsByTagName("div"))[i]);
	}
	
	// on retire ce qui est caché dans le premier wagon

	if((nsd_train.getElementsByTagName("div")).length >= 1){
		pos_left = (nsd_train.getElementsByTagName("div"))[0].style.left;
		pos_left = pos_left.replace("px","");
		pos_left = parseInt(pos_left);
		ret = ret + pos_left;
	}

	return ret;
}

function nsd_ajoute_wagon(){
	new_elt = document.createElement("div");
	new_elt.innerHTML = (nsd_tab_content_conteneur[nsd_get_curseur_tab_content()]).innerHTML;
	elt_child = nsd_train.appendChild(new_elt,null);
	if((nsd_train.getElementsByTagName("div")).length > 1){
		pos = parseInt((((nsd_train.getElementsByTagName("div"))[(nsd_train.getElementsByTagName("div")).length-2]).style.left).replace("px",""));
		pos = pos + getElementWidth((new_elt.previousSibling));
	}else{
		pos = 0;
	}
	new_elt.style.left = pos + "px";
}

function nsd_get_curseur_tab_content(){
	nsd_curseur_tab_content++;
	if(nsd_curseur_tab_content >= nsd_tab_content_conteneur.length){
		nsd_curseur_tab_content = 0;
	}
	return nsd_curseur_tab_content;
}

function nsd_debug(txt){
	content = document.getElementById("zone_debug").innerHTML;
	content = txt + "<br />" + content;
	document.getElementById("zone_debug").innerHTML = content;
}

function getElementWidth(obj) {
	return obj.offsetWidth;
/*
   if (typeof obj.clip !== "undefined") {
      return obj.clip.width;
   } else {
      if (obj.style.pixelWidth) {
         return obj.style.pixelWidth;
      } else {
         return obj.offsetWidth;
      }
   }
*/
}
