    // --------------------------------------------------------------------------
    // -- Script for the website of Yael Atzmony
    // --------------------------------------------------------------------------
    // -- Done by Paul Knecht for kaplan/franco DESIGN, Tel Aviv 2009
    // -- Please contact us before using parts of this code.
    // -- www.pknecht.de or www.kfdesign.co.il
    // --------------------------------------------------------------------------

    // --------------------------------------------------------------------------
    // -- Show scroller only if needed
    // --------------------------------------------------------------------------
    function hidescroller(cat) {
      document.getElementById('scrollhide').style.visibility = 'visible';
      textframeheight = document.getElementById('textframe').offsetHeight;
      if(cat == 'works') var scrollup = 'scrollupworks';
      else var scrollup = 'scrollup';
      
      if(textframeheight > 375) {
        document.getElementById(scrollup).style.visibility = 'visible';
        document.getElementById('scrolldown').style.visibility = 'visible';
      } else {  
        document.getElementById(scrollup).style.visibility = 'hidden';
        document.getElementById('scrolldown').style.visibility = 'hidden';
      }
    }
        
    // --------------------------------------------------------------------------
    // -- Hiding the content layer
    // --------------------------------------------------------------------------
    function fade(act, opac) {
	  if(opac == '') {
	    opac = document.getElementById('content').style.opacity;
        if(opac == '') opac = 100;
        else opac = opac*100;
      }

      if(act == 'out') {
        var object = document.getElementById('content').style;
        object.display = 'none';
      } else if(act == 'in') {
        document.getElementById('bg').onmouseover = function onmouseover(event) { fade("out", ""); };
        var object = document.getElementById('content').style;
        object.display = 'block';
      }
    }
      
    // --------------------------------------------------------------------------
    // -- Scroller in the content layer
    // --------------------------------------------------------------------------
    function textscroll(dir, cont) {
      var object = document.getElementById(cont);
      var actualpos = object.scrollTop; 
      if(dir == 'down')
        object.scrollTop = actualpos+10;
      else if(dir == 'up')
        object.scrollTop = actualpos-10;
      timer = setTimeout("textscroll('"+dir+"', '"+cont+"')", 20);
    }
  
    // --------------------------------------------------------------------------
    // -- Clear timeout for goto, scroller and fading if other action performed
    // --------------------------------------------------------------------------
    function scrollstop() {
      clearTimeout(timer);
    }
    function gotostop() {
      clearTimeout(gototimer);
    }

    // --------------------------------------------------------------------------
    // -- Needed for loading the content
    // --------------------------------------------------------------------------
    var http = null;
    if (window.XMLHttpRequest) {
      http = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
      http = new ActiveXObject("Microsoft.XMLHTTP");
    }

    // --------------------------------------------------------------------------
    // -- Loading the content dynamically
    // --------------------------------------------------------------------------
    function content(cat, cat2, cat3) {
      if(cat2 == undefined) cat2 = '';
      if(cat3 == undefined) cat3 = '';
      cats = new Array('home', 'works', 'vita', 'exhibitions', 'contact');
      document.getElementById('contentload').innerHTML = '<div style="margin-left: 400px; margin-top : 200px;">loading ...</div>';
      if (http != null) {
        http.open("GET", "content.php?cat="+cat+"&cat2="+encodeURI(cat2)+"&cat3="+encodeURI(cat3), true);
        http.onreadystatechange = function() {
          if (http.readyState == 4) {
            if(document.getElementById('contentload').innerHTML = http.responseText)
              hidescroller(cat);
            for(var i = 0; i < cats.length; i++) {
              if(cats[i] != cat)  document.getElementById('nav'+cats[i]).className = 'inact';
              else  document.getElementById('nav'+cat).className = 'act';
            }
          }
        }
        http.send(null);
      }
    }

    // --------------------------------------------------------------------------
    // -- Textinformation for works
    // --------------------------------------------------------------------------
    function workstext(h, starth) {
      document.getElementById('worksinfo').style.visibility = 'visible';
      document.getElementById('worksinfo').style.display = 'block';
      document.getElementById('about').style.fontWeight = 'bold';
    }

    // --------------------------------------------------------------------------
    // -- Main function for scrolling the background
    // -- This function calls scroll() to change the position for some pixels.
    // -- After scroll() set the new position it calls again goto() ...
    // --------------------------------------------------------------------------
    function goto(box, speedleft, startposleft, startpostop, speedtop) {
	  if(window.pageYOffset == undefined && isIE7 == false) {
        var actualposleft = document.getElementById('bg').scrollLeft;
        var actualpostop = document.getElementById('bg').scrollTop;
	  } else if(isIE7 == true) {
        var actualposleft = document.documentElement.scrollLeft;
        var actualpostop = document.documentElement.scrollTop;
      } else {
        var actualposleft = window.pageXOffset;
        var actualpostop = window.pageYOffset;
	  }

      if(startposleft == undefined) {
        if(window.gototimer)
          gotostop();
        startposleft = actualposleft;
        startpostop = actualpostop;
      }

      if(speedleft == undefined) { speedleft = 0; speedtop = 0; }
      gototimer = setTimeout("scroll('"+box+"', "+speedleft+", "+startposleft+", "+startpostop+", "+speedtop+")", 70);
    }
	  
    // --------------------------------------------------------------------------
    // -- Changing the position step by step
    // -- Three Different ways of getting the actual positions are needed:
    // -- one for "normal" browsers, one for IE 6 and one for IE 7
    // --------------------------------------------------------------------------
	function scroll(box, speedleft, startposleft, startpostop, speedtop) {
      wwidth = document.body.offsetWidth;
      wheight = document.body.offsetHeight;

      var boxposleft = document.getElementById(box).offsetLeft;
      var boxpostop = document.getElementById(box).offsetTop;
      
      if((2200 - boxposleft) < wwidth)
        var posleft = 2200-wwidth;
      else
        var posleft = document.getElementById(box).offsetLeft;

      if((1305 - boxpostop) < wheight)
        var postop = 1305-wheight;
      else
        var postop = document.getElementById(box).offsetTop;
      
      var distanceleft = posleft-startposleft;
      var distancetop = postop-startpostop;

	  if(window.pageYOffset == undefined && isIE7 == false) {
        var actualposleft = document.getElementById('bg').scrollLeft;
        var actualpostop = document.getElementById('bg').scrollTop;
	  } else if(isIE7 == true) {
        var actualposleft = document.documentElement.scrollLeft;
        var actualpostop = document.documentElement.scrollTop;
      } else {
        var actualposleft = window.pageXOffset;
        var actualpostop = window.pageYOffset;
	  }
      if((distanceleft >= 0 && (distanceleft/2) >= (actualposleft-startposleft)) || (distanceleft <= 0 && (distanceleft/2) <= (actualposleft-startposleft))) {
        speedleft = speedleft+(distanceleft/100);
      } else {
        speedleft = speedleft-(distanceleft/100);
      }

      if((distancetop >= 0 && (distancetop/2) >= (actualpostop-startpostop)) || (distancetop <= 0 && (distancetop/2) <= (actualpostop-startpostop))) {
        speedtop = speedtop+(distancetop/100);
      } else {
        speedtop = speedtop-(distancetop/100);
      }
        
      var newposleft = actualposleft+speedleft;
      var newpostop = actualpostop+speedtop;

	  if(window.pageYOffset == undefined && isIE7 == false) {
        var posleft2 = document.getElementById('bg').scrollLeft;
        var postop2 = document.getElementById('bg').scrollTop;
	  } else if(isIE7 == true) {
        var posleft2 = document.documentElement.scrollLeft;
        var postop2 = document.documentElement.scrollTop;
      } else {
        var posleft2 = window.pageXOffset;
        var postop2 = window.pageYOffset;
	  }
      
      if(posleft > actualposleft && speedleft > 0 && distanceleft > 0) {
  	    if(window.pageYOffset == undefined && isIE7 == false) {
          document.getElementById('bg').scrollTop = newpostop;
          document.getElementById('bg').scrollLeft = newposleft;
	    } else if(isIE7 == true) {
          document.documentElement.scrollLeft = newposleft;
          document.documentElement.scrollTop = newpostop;
        } else {
          scrollTo(newposleft, newpostop);
	    }
        goto(box, speedleft, startposleft, startpostop, speedtop);
      } else if(posleft < actualposleft && speedleft < 0 && distanceleft < 0) {
  	    if(window.pageYOffset == undefined && isIE7 == false) {
          document.getElementById('bg').scrollTop = newpostop;
          document.getElementById('bg').scrollLeft = newposleft;
	    } else if(isIE7 == true) {
          document.documentElement.scrollLeft = newposleft;
          document.documentElement.scrollTop = newpostop;
        } else {
          scrollTo(newposleft, newpostop);
	    }
        goto(box, speedleft, startposleft, startpostop, speedtop);
      } else if (speedleft <= 0 || posleft2 >= posleft) {
  	    if(window.pageYOffset == undefined && isIE7 == false) {
          document.getElementById('bg').scrollTop = postop;
          document.getElementById('bg').scrollLeft = posleft;
	    } else if(isIE7 == true) {
          document.documentElement.scrollLeft = posleft;
          document.documentElement.scrollTop = postop;
        } else {
          scrollTo(posleft, postop);
	    }
      }
    }
