<!-- This code was created with the help of the following sources: -->
<!-- The book Instant JavaScript                                   -->
<!-- The dynamic duo webpage, http://www.dansteinman.com/dynduo/   -->


ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
w3c = (document.getElementById)? true:false;
var ms = false;
var timer = true;
var play2  = false;
var loop2  = false;
var speed  = 35;
var sliding = false;
var seq_counter = 0;
var step_counter = 0;
var drag_offsetx = 0;

function Combobox1(keuze) {
window.location.href=keuze.options[keuze.selectedIndex].value;
}

function init() {
        player = new Array	
        for (var i=0; i<nr_players; i++) {
                      if (ns4) {player[i] = eval('document.DivPlayer'+ i)}
                      if (w3c) {player[i] = eval('document.getElementById(\'DivPlayer'+i+'\').style')}
                      if (ie4) {player[i] = eval('DivPlayer'+i+'.style')}

                          
            }
        s  = new Array
        for (var i=0; i<seq; i++) {
                      if (linebool[i]) { if (ns4) {s[i] = eval('document.DivText'+i)}
				         if (w3c) {s[i] = eval('document.getElementById(\'DivText'+i+'\').style')}
	                                 if (ie4) {s[i] = eval('DivText'+i+'.style')}
                                           
                        
                         }
            }
        if (w3c) {lines = document.getElementById('DivLines').style
                  court = document.getElementById('DivCourt').style
                  track = document.getElementById('DivTrack').style
                  but   = document.getElementById('DivButtons').style 
                  slid  = document.getElementById('DivSlide').style
	
                  }

	if (ns4) {lines = document.DivLines
                  court = document.DivCourt
                  but   = document.DivButtons
                  track = document.DivTrack
                  slid  = document.DivSlide

                 }

        if (ie4) {lines = DivLines.style
                  court = DivCourt.style
                  track = DivTrack.style  
                  slid  = DivSlide.style
                  but   = DivButtons.style

                 }

             
        showObject(court);
        for (var i=0; i<nr_players; i++) {showObject(player[i])}
        showObject(lines);
        showObject(s[0]);       
        showObject(but);
	document.onmousedown = slideDown;
        document.onmousemove = slideMove;
	document.onmouseup   = slideUp; 
        if ((navigator.userAgent.indexOf("Opera") < 0) && (navigator.userAgent.indexOf("Konqueror") < 0)) ms=true;
        if (ns4 || (w3c && !ms)) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
        if ((ns4 && ms) || (ie4 && ms)) {
          showObject(track);
          showObject(slid);
       }

       
}

function showObject(obj) {
	if (ns4) {obj.visibility = "show"} 
	else if (ie4 || w3c) obj.visibility = "visible"
}

function hideObject(obj) {
	if (ns4) {obj.visibility = "hide" }
	else if (ie4 || w3c) obj.visibility = "hidden"
       
}


function changelines(seq1) {
               
          if (ns4)  document.DivLines.document.images['LineImg'].src =  lineImages[seq1].src
          else if (ie4) DivLines.document.images['LineImg'].src =  lineImages[seq1].src            
           else if (w3c) document.images['LineImg'].src = lineImages[seq1].src    
           showObject(lines);          
}

function changetext(seq1) { 
           
      for (var i=0; i<seq; i++) {
           if (linebool[i])  hideObject(s[i])
         }

        showObject(s[seq1]);

}

function changeplayers(seq1) { 
     for (var i=0; i<nr_players; i++) {
           player[i].left = playerx[i][seq1] + 185;
           player[i].top  = playery[i][seq1] + 300;
         }
}

function slide(seq1,step1) {
   for (var i=0; i<nr_players; i++) {
  
     x11 =  playerx[i][seq1];
     x21 =  playerx[i][seq1+1];
     new_x = x11 + step1 * (1/step[seq1])*(x21-x11);
     if (step1 >= step[seq1]) new_x = x21;
     y11 =  playery[i][seq1];
     y21 =  playery[i][seq1+1];
     new_y = y11 + step1 * (1/step[seq1])*(y21-y11);
     if (step1 >= step[seq1]) new_y = y21;
     player[i].left = new_x + 185;
     player[i].top  = new_y + 300;
   }
}




function playloop() {
   step_counter += 1; 
   
   if (step_counter > step[seq_counter])
      { seq_counter += 1;
        step_counter = 0;
        
        if (linebool[seq_counter])
           {changelines(seq_counter);
            changetext(seq_counter);
            if (loop2) {timer = setTimeout('play()',3000)} 
            else 
               {play2=false;
                img_inact2('play');} 
            } 
        else { timer = setTimeout('playloop()',speed); }  
      }
    else { timer = setTimeout('playloop()',speed); }  
   if (seq_counter >= seq -1)
      {
           seq_counter = 0;
           step_counter = 0;
           clearTimeout(timer);
           if (loop2) {setTimeout('stop2()',3000)}
           else 
            {play2=false;
            img_inact2('play');}
      }	
   if (step_counter != 0  || seq_counter !=0) slide(seq_counter,step_counter);   
       
}


function play() { 
   if (play2) clearTimeout(timer);
   play2=true;
   img_act2('play');
   hideObject(lines);   
   if (linebool[seq_counter])
           {changetext(seq_counter);}
   playloop();       
}

function pause() {
   clearTimeout(timer);       
   play2=false;
   img_inact2('play');
}

function stop() {
  play2=false;
  img_inact2('play');
  clearTimeout(timer); 
  seq_counter = 0;
  step_counter = 0;
  changelines(seq_counter);
  changetext(seq_counter);
  changeplayers(seq_counter);
  showObject(lines);
       
}

function stop2() {
  clearTimeout(timer); 
  seq_counter = 0;
  step_counter = 0;
  changelines(seq_counter);
  changetext(seq_counter);
  changeplayers(seq_counter);
  showObject(lines);
  timer=setTimeout('play()',3000);
}

function next() {
  clearTimeout(timer);
  play2=false;
  img_inact2('play');
  var i=seq_counter;
  if (i<seq-1) i+=1;
  while (i<seq-1 && !linebool[i]) i+=1;
  if (linebool[i]) seq_counter=i;
  step_counter=0;
  hideObject(lines);
  changelines(seq_counter);
  changetext(seq_counter);
  changeplayers(seq_counter);
}


function previous() {
  clearTimeout(timer)
  play2=false;
  img_inact2('play');
  if (seq_counter > 0) {seq_counter -=1};
  while (seq_counter > 0 && !linebool[seq_counter]) seq_counter-=1;
  step_counter = 0;
  hideObject(lines);
  changelines(seq_counter);
  changetext(seq_counter);
  changeplayers(seq_counter);
       
}

function loop() {
  if (loop2) {loop2=false} else loop2=true;
  img_inact2('loop');
 
}


function GetMouseX(e)
{
  var x = 0;
  if (ns4)
    x = e.pageX;
  else if (ie4 && ms)
    x = event.x + document.body.scrollLeft;
  else if (w3c) 
    x = e.clientX;
  return x;
}

function GetMouseY(e)
{
  var y = 0;
  if (ns4)
    y = e.pageY;
  else if (ie4 && ms)
    y = event.y + document.body.scrollTop;
  else if (w3c) 
    y = e.clientY;
  return y;
}


function slideDown(e){
  xm = GetMouseX(e);
  ym = GetMouseY(e);

  var xslide = parseInt(slid.left);
  var yslide = parseInt(slid.top);  
 
  if (xm >= xslide && xm<=xslide + 17 && ym >=yslide && ym <= yslide+43)  {
    drag_offsetx=xslide-xm;
    sliding=true;
    img_act2('slide')
   
    }
}

function slideMove(e){
  if (sliding) {
   
    xm = GetMouseX(e);
    
    var newx = xm+drag_offsetx;

    if (newx>slide_offset+177) {newx=slide_offset+177};
    if (newx<slide_offset) {newx=slide_offset};

    slid.left = newx;
    calcspeed(newx);
    return false;    
   
  }
}

function slideUp(e){
  sliding=false;
  img_inact2('slide');
}

function calcspeed(sp){  
  sp=sp-slide_offset;
  if (sp<0) sp=0;
  sp=sp/34;
  sp=5.6-sp;
  if (sp<0) sp=0;

  speed=Math.round(Math.pow(2,sp)*5);
  
  
}       
