var isDrag = false;
var sliderButton;
var callback;

var sliderInitialized = false;

function initSlider()
{
    if(sliderInitialized==true)
       return;

    var slider = $('slider');
    slider.zoom = 1;
    slider.onmousedown = mouseDownSlider;
    callback = document.onmousemove;
    document.onmousemove = mouseMoveSlider;
    document.onmouseup = mouseUpSlider;
    sliderInitialized=true;
}

// Abgreifen der Klick-Koordinate.
function mouseDownSlider(e) {
   var slider = $('slider');
   isDrag = true;
   var tx = parseInt(slider.style.left);
   if (slider.xoffset==null)
   {
      slider.xoffset=tx;
   }
   if (document.all) {
      xo = event.clientX + document.body.scrollLeft - tx;
   }
   else {
      xo = e.pageX - tx;
   }
   var xx = xo;
   return false;
}

function modifyPictureCell()
{
     $A(document.getElementsByClassName('zoomtable',document)).each(function(node)
     {
          var slider = $('slider');
          var zoom = slider.zoom;
          var proportion =   parseInt(node.getAttribute("linePixelHeight")) /  parseInt(node.getAttribute("lineHeight")) * slider.zoom;
          var pictureHeight = Math.round(parseInt(node.getAttribute("xPictureHeight")) * proportion) ;
          var spacerHeight =  Math.round(parseInt(node.getAttribute("linePixelHeight")* slider.zoom) - pictureHeight);
          var pictureWidth = Math.round(pictureHeight/parseInt(node.getAttribute("xPixelHeight"))*parseInt(node.getAttribute("xPixelWidth")));


          var nodes = document.getElementsByClassName('spacercell',node);
          nodes[0].width = pictureWidth;
          var nodes = document.getElementsByClassName('zoomspacer',node);
          nodes[0].height = spacerHeight;
          nodes[0].width = pictureWidth;

          var nodes = document.getElementsByClassName('zoomimage',node);
          nodes[0].height = pictureHeight;
          nodes[0].width = pictureWidth;

    });
}

function mouseUpSlider(e)
{
   isDrag=false;
   modifyPictureCell();
   return true;
}

// Slider verändern.
function mouseMoveSlider(e) {
   var slider = $('slider');
   var x;
   if (isDrag) {
      if (document.all) {
         x = event.clientX + document.body.scrollLeft;
      }
      else {
         x = e.pageX;
      }
      if (x<slider.xoffset)
      {
          x=slider.xoffset;
      }
      else if (x>slider.xoffset+200)
      {
         x=slider.xoffset+200;
      }

      slider.zoom = parseInt(100 - (x-slider.xoffset)/2 ) / 100;
      //$('debug').innerHTML =   slider.zoom;
      modifyPictureCell();
      slider.style.left = x;
   }
   callback(e);
   return false;
}

