/***********************************************


* 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


***********************************************/





 //1) Set width of the "neutral" area in the center of the gallery.


var restarea=6;


 //2) Set top scroll speed in pixels. Script auto creates a range from 0 to top speed.


var maxspeed=2;


 //3) Set to maximum width for gallery - must be less than the actual length of the image train.


var maxwidth=338;


 //4) Set to 1 for left start, 0 for right, 2 for center.


var startpos=0;


 //5) Set message to show at end of gallery. Enter "" to disable message.


var endofgallerymsg='';





function enlargeimage(path, optWidth, optHeight){ //function to enlarge image. Change as desired.


var actualWidth=typeof optWidth!="undefined" ? optWidth : "600px" //set 600px to default width


var actualHeight=typeof optHeight!="undefined" ? optHeight : "500px" //set 500px to  default height


var winattributes="width="+actualWidth+",height="+actualHeight+",resizable=yes"


window.open(path,"", winattributes)


}





////NO NEED TO EDIT BELOW THIS LINE////////////





var iedom=document.all||document.getElementById, scrollspeed=0, movestate='', actualwidth='', cross_scroll, ns_scroll, statusdiv, loadedyes=0, lefttime, righttime;





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(){


var mainobjoffset=getposOffset(crossmain, "left"),


menuheight=parseInt(crossmain.offsetHeight),


mainobjoffsetH=getposOffset(crossmain, "top");


statusdiv.style.left=mainobjoffset+(menuwidth/2)-(statusdiv.offsetWidth/2)+"px";


statusdiv.style.top=menuheight+mainobjoffsetH+"px";


}





function showhidediv(what){


if (endofgallerymsg!="") {


positiondiv();


statusdiv.style.visibility=what;


}


}





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(){


if (loadedyes){


movestate="left";


if (iedom&&parseInt(cross_scroll.style.left)>(menuwidth-actualwidth)){


cross_scroll.style.left=parseInt(cross_scroll.style.left)-scrollspeed+"px";


showhidediv("hidden");


}


else


showhidediv("visible");


}


lefttime=setTimeout("moveleft()",10);


}





function moveright(){


if (loadedyes){


movestate="right";


if (iedom&&parseInt(cross_scroll.style.left)<0){


cross_scroll.style.left=parseInt(cross_scroll.style.left)+scrollspeed+"px";


showhidediv("hidden");


}


else


showhidediv("visible");


}


righttime=setTimeout("moveright()",10);


}





function motionengine(e){


var mainobjoffset=getposOffset(crossmain, "left"),


dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft,


dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop,


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;


clearTimeout(righttime);


if (movestate!="left") moveleft();


}


else if (curposy<leftbound){


scrollspeed=(leftbound-curposy)/((menuwidth-restarea)/2) * maxspeed;


clearTimeout(lefttime);


if (movestate!="right") moveright();


}


else


scrollspeed=0;


}





function contains_ns6(a, b) {


if (b!==null)


while (b.parentNode)


if ((b = b.parentNode) == a)


return true;


return false;


}





function stopmotion(e){


if (!window.opera||(window.opera&&e.relatedTarget!==null))


if ((window.event&&!crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){


clearTimeout(lefttime);


clearTimeout(righttime);


movestate="";


}


}





function fillup(){


if (iedom){


crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer;


if(typeof crossmain.style.maxWidth!=='undefined')


crossmain.style.maxWidth=maxwidth+'px';


menuwidth=crossmain.offsetWidth;


cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery;


actualwidth=document.getElementById? document.getElementById("trueContainer").offsetWidth : document.all['trueContainer'].offsetWidth;


if (startpos)


cross_scroll.style.left=(menuwidth-actualwidth)/startpos+'px';


crossmain.onmousemove=function(e){


motionengine(e);


}





crossmain.onmouseout=function(e){


stopmotion(e);


showhidediv("hidden");


}


}


loadedyes=1


if (endofgallerymsg!=""){


creatediv();


positiondiv();


}


if (document.body.filters)


onresize()


}


window.onload=fillup;





onresize=function(){


if (typeof motioncontainer!=='undefined'&&motioncontainer.filters){


motioncontainer.style.width="0";


motioncontainer.style.width="";


motioncontainer.style.width=Math.min(motioncontainer.offsetWidth, maxwidth)+'px';


}


menuwidth=crossmain.offsetWidth;


cross_scroll.style.left=startpos? (menuwidth-actualwidth)/startpos+'px' : 0;


}