var minimalMarginTop = 0;
var targetMarginTop = 0;
var floatTimer;

function prepareScrollPaginaFuncties() {
  var floatElt = document.getElementById("PaginaFuncties");
  var rightBar = document.getElementById("RightBar");
  var header = document.getElementById("Header");
  var clientHeight = parseInt(document.body.clientHeight)>parseInt(document.documentElement.clientHeight)?parseInt(document.body.clientHeight):parseInt(document.documentElement.clientHeight);

  minimalMarginTop = parseInt(header.offsetHeight) + parseInt(rightBar.offsetHeight) - parseInt(floatElt.offsetHeight);

  floatElt.style.marginTop = parseInt(clientHeight);
  floatElt.style.visibility = "visible";

  floatTimer = window.setTimeout("scrollPaginaFuncties()",150);
}

function scrollPaginaFuncties() {
  var floatElt = document.getElementById("PaginaFuncties");

  var scrollTop = parseInt(document.body.scrollTop)>parseInt(document.documentElement.scrollTop)?parseInt(document.body.scrollTop):parseInt(document.documentElement.scrollTop);
  var clientHeight = parseInt(document.body.clientHeight)>parseInt(document.documentElement.clientHeight)?parseInt(document.body.clientHeight):parseInt(document.documentElement.clientHeight);

  if (scrollTop > minimalMarginTop) {
    targetMarginTop = scrollTop - minimalMarginTop;
    floatElt.style.marginTop = targetMarginTop;
  }
  else {
    targetMarginTop = 0;
  }
  if (floatTimer) clearTimeout(floatTimer);
  floatTimer = window.setTimeout("doScrollPaginaFuncties()",150);
}

function doScrollPaginaFuncties() {
  clearTimeout(floatTimer);
  var floatElt = document.getElementById("PaginaFuncties");
  var scrollTop = parseInt(document.body.scrollTop)>parseInt(document.documentElement.scrollTop)?parseInt(document.body.scrollTop):parseInt(document.documentElement.scrollTop);
  var clientHeight = parseInt(document.body.clientHeight)>parseInt(document.documentElement.clientHeight)?parseInt(document.body.clientHeight):parseInt(document.documentElement.clientHeight);

  orgMarginTop = floatElt.style.marginTop?parseInt(floatElt.style.marginTop):0;

  var keepFloating = true;

  if (orgMarginTop > targetMarginTop + 50) {
    floatElt.style.marginTop = (orgMarginTop-50) + "px";
  }
  else if (orgMarginTop < targetMarginTop - 50) {
    floatElt.style.marginTop = (orgMarginTop+50) + "px";
  }
  else if (orgMarginTop > targetMarginTop + 5) {
    floatElt.style.marginTop = (orgMarginTop-5) + "px";
  }
  else if (orgMarginTop < targetMarginTop - 5) {
    floatElt.style.marginTop = (orgMarginTop+5) + "px";
  }
  else if (orgMarginTop > targetMarginTop) {
    floatElt.style.marginTop = (orgMarginTop-1) + "px";
  }
  else if (orgMarginTop < targetMarginTop) {
    floatElt.style.marginTop = (orgMarginTop+1) + "px";
  }
  else keepFloating = false;
  
  wrapperheight = scrollTop + clientHeight - 0;
  pageheight = scrollTop + clientHeight - 17;
  setEltHeight(getElt("Wrapper"),wrapperheight);
  setEltHeight(getElt("Page"),pageheight);

  if (keepFloating) floatTimer = window.setTimeout("doScrollPaginaFuncties()",50);
}

//TODO: inpassen in de styleset_init
//window.onload = prepareScrollPaginaFuncties;
//window.onscroll = scrollPaginaFuncties;
//window.onresize = scrollPaginaFuncties;