
// LES VARIABLES ET FONCTIONS COMMENCENT PAR "defil_"
// Auteur : Guillaume MARTIN // Pour le Goéland // sct.oxyweb arobas gmail.com


// Variable par défaut !
var defil_timeouts = Array();
var defil_timeout = 40;

// Initialise l'objet !
function defil_set_object(_id, _backgroundColor) {
	
	_div = document.getElementById(_id);
	
	if (!_div) { return false; }
	
	
	// Le style de ce div pour que ca défile à l'intérieur !
	_div.style.overflow 	= "hidden";
	_div.style.position 	= "relative";
	_div.style.padding 		= "0px";
	_div.style.backgroundColor = _backgroundColor;
	
	
	// On crée les 2 div qui défilent !
	_d1 = document.createElement ('div');
	_d2 = document.createElement ('div');
	
	// On les ajoute !
	_div.appendChild(_d1);
	_div.appendChild(_d2);
			
	
	
	// On parcourt les éléments !
	elements = _div.getElementsByTagName ("div");
	
	for (i = 0; i < elements.length; i++) {
		
		// On met le style dans les div qui défilent
		elements[i].style.padding	= 0;
		elements[i].style.margin	= 0;
		elements[i].style.border	= "0";
		// Meme hauteur que le conteneur
		elements[i].style.height	= (parseInt(_div.style.height)) + "px";
		elements[i].style.width		= "0px";
		elements[i].style.position 	= "absolute";
		elements[i].style.top = 0;
		
		
	}
	
	
	
}


// Ajoute un objet dans les défilants !
function defil_add_object (_id, datas, width) {
	
	_div = document.getElementById(_id);
	
	if (!_div) { return false; }
	
	
	elements = _div.getElementsByTagName ("div");
	for (i = 0; i < elements.length; i++) {
		/// alert(elements.length);
		
		if (elements[i].getAttribute("defilement_in") == "1") {
			continue;
		}
		
		_d = document.createElement("div");
		_d.style.width = width + "px";
		_d.style.height = (parseInt(elements[i].style.height)) + "px";
		_d.style.position = "absolute";			
		
		// Pour éviter de passer dedans, on met un attribut !
		_d.setAttribute("defilement_in", "1");
		_d.innerHTML = datas;
		_d.style.left = parseInt(elements[i].style.width) + "px";
		
		/*
		_d.onmouseover = function () {
			this.style.backgroundColor = "#ffffff";
		}
		_d.onmouseout = function () {
			this.style.backgroundColor = "transparent";
		}
		*/
		
		// On redimensionne !
		elements[i].style.width = (parseInt(elements[i].style.width) + width) + "px";
		
		// On l'ajoute !
		elements[i].appendChild(_d);
		
		/// alert(i);
		
	}
	
	
	
}

function defil_launch_object (_id) {
	
	
	_div = document.getElementById(_id);
	
	if (!_div) { return false; }
	
	elements = _div.getElementsByTagName ("div");
	
	var next_position = 0;
	for (i = 0; i < elements.length; i++) {	
		if (elements[i].getAttribute("defilement_in") == "1") {
			continue;
		}
		
		elements[i].style.left = next_position;
		next_position = parseInt(elements[i].style.width);
	}
	
	_div.onmouseover = function () {
		clearTimeout (defil_timeouts[_id]);
		return true;
	}
	
	_div.onmouseout = function () {
		defil_timeouts[_id] = setTimeout("defil_tmout('" + _id + "')", defil_timeout);
		return true;
	}
	
	defil_timeouts[_id] = setTimeout("defil_tmout('" + _id + "')", defil_timeout);
}

function defil_tmout(_id) {
	
	
	_div = document.getElementById(_id);
	
	if (!_div) { return false; }
	
	elements = _div.getElementsByTagName ("div");
	
	for (i = 0; i < elements.length; i++) {	
		
		// Si on est dans un sous élement, on ignore !
		if (elements[i].getAttribute("defilement_in") == "1") {
			continue;
		}
		
		// alert(parseInt(elements[i].style.left) + "px : " + elements[i].style.width);
		
		elements[i].style.left = parseInt(elements[i].style.left) + 2;
		if (parseInt(elements[i].style.left) > parseInt(elements[i].style.width)) {
			elements[i].style.left = 0 - parseInt(elements[i].style.width);
		}
	}
	
	defil_timeouts[_id] = setTimeout("defil_tmout('" + _id + "')", defil_timeout);
	
}


function defil_set_in (_id, _content) {
	
	_div = document.getElementById (_id);
	if (!_div) return false;
	
	_div.innerHTML = _content;
	return true;
	
}

		