/***********************************************
* CMotion Image Gallery II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for source code
* Modified by jscheuer1 for vertical orientation, at http://www.dynamicDrive.com/forums
***********************************************/

var restarea=6; //1) width of the "neutral" area in the center of the gallery in px
var maxspeed=7; //2) top scroll speed in pixels. Script auto creates a range from 0 to top speed.

////NO NEED TO EDIT BELOW THIS LINE////////////

var iedom=document.all||document.getElementById;
var scrollspeed=4;
var movestate="";
var mainobjoffset = 0;
var menu_height = 0;

var actualheight=0;
var cross_scroll;
var loadedyes=0;

var cross_scroll;
var crossmain;
var whichOne = 1;
var scrolltime;
var uptime;
var downtime;

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 moveup(){
	if (loadedyes){
		movestate="up"
		if (iedom&&(parseInt(cross_scroll.offsetTop)-scrollspeed)>(menu_height-actualheight)) {
			cross_scroll.style.top=parseInt(cross_scroll.offsetTop)-scrollspeed+"px";
		}
	}
	uptime=setTimeout("moveup()",10);
}

function movedown(){
	if (loadedyes){
		movestate="down"
		if (iedom&&(parseInt(cross_scroll.offsetTop)+scrollspeed)<0){
			cross_scroll.style.top=parseInt(cross_scroll.offsetTop)+scrollspeed+"px";
		}
	}
	downtime=setTimeout("movedown()",10);
}

function motionengine(e){
	var dsocx=(window.pageXOffset)? pageXOffset : ietruebody().scrollLeft;
	var dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
	var curposy=window.event? event.clientY : e.clientY? e.clientY: ""
	curposy-=mainobjoffset-dsocy;
	var leftbound=(menu_height-restarea)/2;
	var rightbound=(menu_height+restarea)/2;
	//alert('dsocx='+dsocx+'; dsocy='+dsocy+'; curposy='+curposy+'; mainobjoffset='+mainobjoffset+'; menu_height='+menu_height+'; leftbound='+leftbound+'; rightbound='+rightbound);
	if (curposy>rightbound){
		scrollspeed=(curposy-rightbound)/((menu_height-restarea)/2) * maxspeed;
		if (window.downtime) {
			clearTimeout(downtime);
		}
		if (movestate!="up") {
			moveup();
		}
	} else if (curposy<leftbound){
		scrollspeed=(leftbound-curposy)/((menu_height-restarea)/2) * maxspeed;
		if (window.uptime) {
			clearTimeout(uptime);
		}
		if (movestate!="down") {
			movedown();
		}
	} else {
		scrollspeed=0;
	}
}

function contains_ns6(a, b) {
	while (b.parentNode) {
		if ((b = b.parentNode) == a) {
			return true;
		} else {
			return false;
		}
	}
}

function stopmotion(e){
	if ((window.event&&!crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){
		if (window.downtime) {
			clearTimeout(downtime);
		}
		if (window.uptime) {
			clearTimeout(uptime);
		}
		movestate="";
	}
}

function fillup(){
	if (iedom){
		crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer;
		menu_height=crossmain.offsetHeight;
		mainobjoffset=getposOffset(crossmain, "top");
		cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery;
		actualheight=cross_scroll.offsetHeight;

		//removed - we aren't using the mouse scroll
		//crossmain.onmousemove=function(e){
		//	motionengine(e);
		//}
		//crossmain.onmouseout=function(e){
		//	stopmotion(e);
		//}

		

		changeActive();
		scrolltime=setTimeout("move()",5000);
		loadedyes=1;
	}
}


function changeActive() {
	var whichLayer =document.getElementById? document.getElementById("left"+whichOne) : document.all["left"+whichOne];
	whichLayer.className = 'active';
}
function changeInActive() {
	var whichLayer =document.getElementById? document.getElementById("left"+whichOne) : document.all["left"+whichOne];
	whichLayer.className = 'inactive';
}

function move(){
	if (loadedyes){
		if (iedom&&(parseInt(cross_scroll.offsetTop))>(menu_height-actualheight)) {
			cross_scroll.style.top=parseInt(cross_scroll.offsetTop)-scrollspeed+"px";
		}
	}
	if(parseInt(cross_scroll.offsetTop) > (0-(whichOne*menu_height))) {
		scrolltime=setTimeout("move()",10);
	} else {
		changeInActive();
		if(whichOne < 4) {
			whichOne = whichOne + 1;
		} else {
			cross_scroll.style.top = 0+"px";
			whichOne = 1;
		}
		changeActive();
		scrolltime=setTimeout("move()",5000);
	}
}

function changeIt(whichNum) {
	if (loadedyes){
		clearTimeout(scrolltime);
		changeInActive();
		cross_scroll.style.top=(0-((whichNum-1)*menu_height))+'px';
		whichOne = whichNum;
		changeActive();
		scrolltime=setTimeout("move()",5000);
	}
}

