﻿/***********************************************
* CMotion Image Gallery - © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for source code
* This copyright notice must stay intact for legal use
* Modified for autowidth and optional starting positions in
* http://www.dynamicdrive.com/forums/showthread.php?t=11839 by jschuer1 8/5/06
***********************************************/

/***********************************************
* Cross browser Marquee II- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var delayb4scroll = 1000; //Specify initial delay before marquee starts to scroll on page (2000=2 seconds)
var marqueespeed = 7; //Specify marquee scroll speed (larger is faster 1-10)
var pauseit = 1; //Pause marquee onMousever (0=no. 1=yes)?

////////////////////////////////////////////////////////////

var copyspeed = marqueespeed;
var curdirection = marqueespeed;
var pausespeed = (pauseit==0) ? copyspeed : 0;
var actualwidth = '';

function scrollmarquee(){
	var sens = (copyspeed > 0); // Si VRAI, sens = vers la gauche <-
	var tmpLeft = parseInt(cross_marquee.style.left);
	//
	//alert(tmpLeft);
	if (sens==true && tmpLeft <= (marqueewidth-actualwidth)){
		copyspeed = -(marqueespeed);
		clearInterval(lefttime);
		timeout = setTimeout('lefttime=setInterval("scrollmarquee()",50)', 1000);
	}else{
		if(sens==false && tmpLeft >= 0){
			copyspeed = marqueespeed;
			clearTimeout(lefttime);
			timeout = setTimeout('lefttime=setInterval("scrollmarquee()",50)', 1000);
		}
	}
	cross_marquee.style.left=(parseInt(cross_marquee.style.left)-copyspeed)+"px";
}

function initializemarquee(){
	// Le Marquee horizontal fait maison
	if(document.getElementById("motiongallery")){
		cross_marquee = document.getElementById("motiongallery");
		cross_marquee.style.left = 0;
		document.getElementById("motioncontainer").style.overflow = 'hidden';
		marqueewidth = document.getElementById("motioncontainer").offsetWidth;
		document.getElementById("motioncontainer").onmouseover=move;
		document.getElementById("motioncontainer").onmouseout=function(){copyspeed=curdirection;};
		actualwidth = cross_marquee.offsetWidth;
		 //if Opera or Netscape 7x, add scrollbars to scroll and exit
		if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){
			cross_marquee.style.width = marqueewidth+"px";
			cross_marquee.style.overflow = "scroll";
			return;
		}
		timeout = setTimeout('lefttime=setInterval("scrollmarquee()",50)', delayb4scroll);
	}
}

function move(e){
	// Arrêt du marquee DE BASE
	copyspeed = pausespeed;
	
	elOffsetLeft	= getposOffset(this, 'left');
	elOffsettop	= getposOffset(this, 'top');

	var dsocx		= (window.pageXOffset)? pageXOffset: ietruebody().scrollLeft;
	var dsocy		= (window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
	var curposx	= window.event? event.clientX : e.clientX? e.clientX: "";
	curposx		-= elOffsetLeft-dsocx;
	
	var middleBound	= this.offsetWidth * 0.5;
	
	if(curposx > middleBound){
		moveLeft();
	}
	if(curposx <= middleBound){
		moveRight();
	}
	curdirection = copyspeed*2;
}

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}


function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft: what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function moveLeft(){
	copyspeed=marqueespeed/2;
}
function moveRight(){
	copyspeed=-(marqueespeed/2);
}

if (window.addEventListener){
	window.addEventListener("load", initializemarquee, false);
}else if (window.attachEvent){
	window.attachEvent("onload", initializemarquee);
}else if (document.getElementById){
	window.onload=initializemarquee;
}
