var topMargin = 0;
var originalY = -1;
var slideTime = 1200;
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);
var targetY;
var findHt;
var elementCibleId2;
// Initialisation selon l'id
function init_scroll2(element,topMargin_p,originalY_p,slideTime_p)
{
	elementCibleId2 = element;
	window.setInterval("main2()", 10);
	topMargin = topMargin_p;
	originalY = originalY_p;
	slideTime = slideTime_p;
}

function getScrollTop2() {
	if (window.pageYOffset) {
    	return window.pageYOffset;
  	}
  	else if (document.documentElement && document.documentElement.scrollTop) {
    	return document.documentElement.scrollTop;
  	}
	else if (document.body) {
    	return document.body.scrollTop
  	}
return 0;
}

function getClientWidth2() {
	if (window.innerWidth) {
    	theWidth = window.innerWidth;
  	}
  	else if (document.documentElement && document.documentElement.clientWidth) {
    	theWidth = document.documentElement.clientWidth;
  	}
  	else if (document.body) {
    	theWidth = document.body.clientWidth;
  	}
}


function main2() {
	if (ns4) {
		currentY = document.elementCibleId2.top;
		scrollTop = getScrollTop2();
		if (originalY <= 0) {
			originalY = getLayerY2(elementCibleId2);
		}
		main2Trigger();
	} 
	else if(ns6) {
		currentY = (document.getElementById(elementCibleId2).style.top == "" ? topMargin : parseInt(document.getElementById(elementCibleId2).style.top));
		scrollTop = getScrollTop2();
		if (originalY <= 0) {
			originalY = getLayerY2(document.getElementById(elementCibleId2));
		}
		main2Trigger();
	} 
	else if(ie4) {

		currentY = eval(elementCibleId2).style.pixelTop;
		scrollTop = getScrollTop2();
		if (originalY <= 0) {
			originalY = getLayerY2(elementCibleId2);
		}
		main2Trigger();
	}
}
function main2Trigger() {
	var newTargetY = 0;
	if (scrollTop > originalY)
		newTargetY = scrollTop + topMargin - originalY;
	if ( currentY != newTargetY ) {
		if ( newTargetY != targetY ) {
			targetY = newTargetY
			floatStart2();
		}
		animator2();
	}
}

function floatStart2() {
	var now = new Date()
	A = targetY - currentY
	B = Math.PI / ( 2 * slideTime )
	C = now.getTime()
	if (Math.abs(A) > findHt) {
		D = A > 0 ? targetY - findHt : targetY + findHt
		A = A > 0 ? findHt : -findHt
	} else {
		D = currentY
	}
}

function animator2() {
	var now = new Date()
	var newY = A * Math.sin( B * ( now.getTime() - C ) ) + D
	newY = Math.round(newY)
	if (( A > 0 && newY > currentY ) || ( A < 0 && newY < currentY )) {
		if ( ie4 )eval(elementCibleId2).style.pixelTop = newY
		if ( ns4 )document.elementCibleId2.top = newY
		if ( ns6 )document.getElementById(elementCibleId2).style.top = newY + "px";
	}
}

function getLayerY2(obj) {
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}