/***********************************************
* CMotion Image Gallery- � Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for source code
* Last updated Mar 15th, 04'. Added "End of Gallery" message.
* This copyright notice must stay intact for legal use
***********************************************/

var restarea=10; //1) width of the "neutral" area in the center of the gallery in px
var maxspeed=2; //2) top scroll speed in pixels. Script auto creates a range from 0 to top speed.
var endofgallerymsg=""; //3) message to show at end of gallery. Enter "" to disable message.


var iedom=document.all||document.getElementById;
var scrollspeed=0;
var movestate="";

var actualwidth= new Array(6);
var cross_scroll = new Array(6);
var ns_scroll;
var loadedyes= new Array(6);
var crossmain = new Array(6);

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function creatediv(){
	statusdiv=document.createElement("div");
	statusdiv.setAttribute("id","statusdiv");
	document.body.appendChild(statusdiv);
	statusdiv=document.getElementById("statusdiv");
	statusdiv.innerHTML=endofgallerymsg;
}

function positiondiv(sliderNum){
	menuheight=parseInt(crossmain[sliderNum].offsetHeight);
	mainobjoffsetH=getposOffset(crossmain[sliderNum], "top");
	statusdiv.style.left=mainobjoffset+(menuwidth/2)-(statusdiv.offsetWidth/2)+"px";
	statusdiv.style.top=menuheight+mainobjoffsetH+"px";
}

function showhidediv(isVisible)
{
	if (endofgallerymsg!="")
		statusdiv.style.visibility=isVisible;
}

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(sliderNum){
	if (loadedyes[sliderNum]){
		scrollspeed= maxspeed;
		movestate="left";
		if (iedom&&parseInt(cross_scroll[sliderNum].style.left)>(menuwidth-actualwidth[sliderNum])){
			cross_scroll[sliderNum].style.left=parseInt(cross_scroll[sliderNum].style.left)-scrollspeed+"px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}
	lefttime=setTimeout("moveleft("+sliderNum+")",10);
}

function moveright(sliderNum){
	if (loadedyes[sliderNum]){
		scrollspeed= maxspeed;
		movestate="right";
		if (iedom&&parseInt(cross_scroll[sliderNum].style.left)<0){
			cross_scroll[sliderNum].style.left=parseInt(cross_scroll[sliderNum].style.left)+scrollspeed+"px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}
	righttime=setTimeout("moveright("+sliderNum+")",10);
}

function motionengine(e)
{
	var dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft;
	var dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
	var curposy=window.event? event.clientX : e.clientX? e.clientX: "";
	curposy-=mainobjoffset-dsocx;
	var leftbound=(menuwidth-restarea)/2;
	var rightbound=(menuwidth+restarea)/2;
	
	if (curposy>rightbound){
		scrollspeed=(curposy-rightbound)/((menuwidth-restarea)/2) * maxspeed;
		if (window.righttime) 
			clearTimeout(righttime);
	//	if (movestate!="left") 
	//		moveleft()
	}
	else if (curposy<leftbound){
		scrollspeed=(leftbound-curposy)/((menuwidth-restarea)/2) * maxspeed;
		if (window.lefttime) 
			clearTimeout(lefttime);
	//	if (movestate!="right") 
		//	moveright()
	}
	else
		scrollspeed=0;
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function stopmotion()
{
	if (window.lefttime) 
		clearTimeout(lefttime);
	if (window.righttime) 
		clearTimeout(righttime);
	movestate="";
}

function fillup(sliderNum,startValue)
{
	if (iedom)
	{
		crossmain[sliderNum] = (document.getElementById)? document.getElementById("outerGalleryContainer"+sliderNum) : document.all.outerGalleryContainer;
		if (crossmain[sliderNum])
		{
			menuwidth=parseInt(crossmain[sliderNum].style.width);
			mainobjoffset=getposOffset(crossmain[sliderNum], "left");
			cross_scroll[sliderNum]=document.getElementById? document.getElementById("motionGallery"+sliderNum) : document.all.motionGallery;
			actualwidth[sliderNum]=document.all? cross_scroll[sliderNum].offsetWidth : document.getElementById("gallerySlideContainer"+sliderNum).offsetWidth;
			
			crossmain[sliderNum].onmousemove=function(e){
				motionengine(e);
			}
	
			crossmain[sliderNum].onmouseout=function(e){
				stopmotion(e);
				showhidediv("hidden");
			}
		}
	}
	loadedyes[sliderNum]=1;
	if (endofgallerymsg!=""){
		creatediv();
		positiondiv(sliderNum);
	}

	if (parseInt(startValue))
		cross_scroll[sliderNum].style.left=startValue;
}

window.onload=function(){
	fillup(0);
	fillup(1);
	fillup(2);
	fillup(3);
	fillup(4);
	fillup(5);
};

