var restarea=10 //1) width of the "neutral" area in the center of the gallery in px
var maxspeed=1 //2) top moveup scroll speed in pixels. Script auto creates a range from 0 to top speed.
var startspeed=1
var timespeed=70

var iedom=document.all||document.getElementById
var scrollspeed=0
var movestate=""

var actualheight=''
var cross_scroll, cross_scroll2, ns_scroll
var loadedyes=0

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="left"
    if (iedom){
	  if (parseInt(cross_scroll.style.top)<=0) {
        cross_scroll.style.top=parseInt(cross_scroll.style.top)+actualheight+"px"
	  }
      cross_scroll.style.top=parseInt(cross_scroll.style.top)-scrollspeed+"px"
      cross_scroll2.style.top=parseInt(cross_scroll.style.top)-actualheight+"px"
    }
  }
  toptime=setTimeout("moveup()",timespeed)
}

function movedown(){
  if (loadedyes){
    movestate="right"
    if (iedom){
      if (parseInt(cross_scroll.style.top)>=0) {
        cross_scroll.style.top=parseInt(cross_scroll.style.top)-actualheight+"px"
      }
      cross_scroll.style.top=parseInt(cross_scroll.style.top)+scrollspeed+"px"
      cross_scroll2.style.top=parseInt(cross_scroll.style.top)+actualheight+"px"
    }
  }
  downtime=setTimeout("movedown()",timespeed)
}

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 topbound=(menuheight-restarea)/2
  var downbound=(menuheight+restarea)/2
  if(e==-1){
	scrollspeed=startspeed
	if (window.downtime) clearTimeout(downtime)
	moveup()
  } else {
    if (curposy>downbound){
	scrollspeed=(curposy-downbound)/((menuheight-restarea)/2) * maxspeed
	//atx
	if(e==-1)scrollspeed=1
	if (window.downtime) clearTimeout(downtime)
	if (movestate!="left") moveup()
    } else if (curposy<topbound){
	scrollspeed=(topbound-curposy)/((menuheight-restarea)/2) * maxspeed
	if(e==-1)scrollspeed=1
	if (window.toptime) clearTimeout(toptime)
	if (movestate!="right") movedown()
   } else
	scrollspeed=0;
  }
}

function contains_ns6(a, b) {
  while (b.parentNode)
    if ((b = b.parentNode) == a)
      return true;
  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.toptime) clearTimeout(toptime)
    if (window.downtime) clearTimeout(downtime)
    movestate=""
  }
}

function fillup(){
  if (iedom){
    crossmainmask=document.getElementById ? document.getElementById("fejlecmask") : document.all.fejlecmask;
    if (crossmainmask) {
    	crossmain=crossmainmask;
    } else {
      crossmain=document.getElementById ? document.getElementById("motioncontainer") : document.all.motioncontainer;
    }
    menuheight=parseInt(crossmain.style.height);
    mainobjoffset=getposOffset(crossmain, "top");

    cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery;
    actualheight=document.all? trueContainer.offsetHeight : document.getElementById("trueContainer").offsetHeight;

/*	cross_scroll2=document.createElement("div");
	cross_scroll2.setAttribute("id","motiongallery2");
	crossmain.appendChild(cross_scroll2);

	cross_scroll2=document.getElementById? document.getElementById("motiongallery2") : document.all.motiongallery2;

	cross_scroll2.style.position="absolute";
	cross_scroll2.style.left="0";
	cross_scroll2.style.top="0";
	cross_scroll2.style.whiteSpace="nowrap";


    cross_scroll2.innerHTML = cross_scroll.innerHTML;
*/
	cross_scroll2=document.getElementById? document.getElementById("motiongallery2") : document.all.motiongallery2;
    //atx
    motionengine(-1)

    crossmain.onmousemove=function(e){
      motionengine(e)
    }

    crossmain.onmouseout=function(e){
      //atx
      //stopmotion(e)
    }
  }
  loadedyes=1
}
window.onload=fillup