function slide(dir,clicked,uid) {
  //pos ermitteln
  slider[uid]['pos'] = Math.round(parseFloat(document.getElementById("slider_"+uid).style.left));
  //direction: 0=nach links 1=nach rechts
  d = dir;
  //wurde auf einen pfeil geklickt
  c = clicked;
  if(c == 1 && slider[uid]['auto']){
    eval("clearTimeout(timer_"+uid+");");
  } 
  if((slider[uid]['pos'] > ((slider[uid]['b']+(Math.round(slider[uid]['max']/slider[uid]['b'])) - slider[uid]['max'])) && d == 1) || (slider[uid]['pos'] < (0) && d == 0)) {
    eval("move_"+uid+" = window.setInterval(\"moveIt(d,'"+uid+"')\", 10/slider[uid]['t'] );");
  }
}

function moveIt(dir,uid) {
  //direction: 0=nach links 1=nach rechts
  d = dir;
  if(slider[uid]['a'] < slider[uid]['b']) {
    //während des bewegens die pfeile ausschalten
    document.getElementById("lr_"+uid).href = 'javascript:void(0)';
    document.getElementById("ll_"+uid).href = 'javascript:void(0)';
    //neue position berechnen
    slider[uid]['pos'] = (d == 1) ? slider[uid]['pos']-slider[uid]['t'] : slider[uid]['pos']+slider[uid]['t'];
    //neue position setzen
    document.getElementById("slider_"+uid).style.left  = slider[uid]['pos'] + 'px';
    //slider[uid]['a'] hochsetzen
    slider[uid]['a'] += slider[uid]['t'];
    //bis zur hälfte schneller werden
    if(slider[uid]['a'] < slider[uid]['b']/2) {
      slider[uid]['t'] += 0.5;
    }else{
      if((slider[uid]['a'] + slider[uid]['t']) > slider[uid]['b']){
        //wenn der letzte schritt erreicht ist
        slider[uid]['t'] = slider[uid]['b'] - slider[uid]['a']; 
      }else{
        //solange der letzte Schritt noch nicht erreicht ist
        if(slider[uid]['t'] - 0.5 > 0){
          if(slider[uid]['b'] - slider[uid]['a'] > 30){
            //solange er sich vor den letzten 30px befindet langsamer werden
            // (vielleicht die letzten beiden ifs zusammenfassen)
            slider[uid]['t'] -= 0.5;
          }else{
            //in den letzten 30px immer t=1
            slider[uid]['t'] = 1;
          }
        }
      }
    }
  }else{
    //bewegungsintervall ausschalten
    eval("clearInterval(move_"+uid+");");
    //nach dem bewegen die pfeile wieder scharf schalten
    document.getElementById("lr_"+uid).href = 'javascript:slide(1,1,\''+uid+'\')';
    document.getElementById("ll_"+uid).href = 'javascript:slide(0,1,\''+uid+'\')';
    //wenn außerhalb der mittleren divs, den slider wieder korrigieren
    if((document.getElementById("slider_"+uid).style.left == '-' + (slider[uid]['max']/3*2) + 'px') || (document.getElementById("slider_"+uid).style.left == '0px')){
        document.getElementById("slider_"+uid).style.left = '-' + (slider[uid]['max']/3) + 'px';
    }
    //nach dem bewegen die automatische bewegung erneut anstoßen
    if(slider[uid]['auto']) {
      eval("clearTimeout(timer_"+uid+");");
      eval("timer_"+uid+" = setTimeout(\"slide(1,0,\'"+uid+"\')\", slider[uid]['interval']);");
    }
    //die variablen für die nächste bewegung wieder zurücksetzen. 
    slider[uid]['a'] = 0;
    slider[uid]['b'] = slider[uid]['widthContent'];
    slider[uid]['t'] = 1;
  }
}
