var CykiaDefil = function (container_id, wrapper_id, fleche_haut_id, fleche_bas_id, hauteur_elem) {
	var oLanguette = 0;
	var hActu = hauteur_elem || 150;

	var intervalID = null;

	document.getElementById(wrapper_id).style.top = oLanguette+"px";

	var moveActu = function (sens) {
		var hCadre = document.getElementById(container_id).offsetHeight,
			hLanguette = document.getElementById(wrapper_id).offsetHeight,
			oTmp = oLanguette+sens*hActu;
		if (oTmp >= -hLanguette+hCadre && 0 >= oTmp) {
			oLanguette = oTmp;
			document.getElementById(wrapper_id).style.top = oLanguette+"px";
		}
		else
		{
			clearInterval(intervalID);
		}
	};

	//intervalID = setInterval(function() { moveActu(-0.01); }, 50);

	var stopMouvement = function () {
		clearInterval(intervalID);
	};

	var setMouvement = function (pas, vitesse) {
		//try { clearInterval(intervalID); } catch(e) { console.log(e); }
		intervalID = setInterval(function() { moveActu(pas); }, vitesse);
	};

	var init = function() {
		document.getElementById(fleche_haut_id).onmouseover = (function(that) {
			return function() { that.setMouvement("0.05",25); };
		}(this));
		document.getElementById(fleche_bas_id).onmouseover = (function(that) {
			return function() { that.setMouvement("-0.05",25); };
		}(this));

		document.getElementById(fleche_haut_id).onmouseout = (function(that) {
			return function() { that.stopMouvement(); };
		}(this));
		document.getElementById(fleche_bas_id).onmouseout = (function(that) {
			return function() { that.stopMouvement(); };
		}(this))
	};

	return {
		"setMouvement":setMouvement,
		"stopMouvement":stopMouvement,
		"init":init
	}
};

