// slide functions

  function nextslide() {
    var tmp, i
    i=indexOfSlide()
    if (i==-1) return
    if (i==(slides.length-1)) {
      goslide(0)
    }
    else {
      goslide(i+1)
    }
  }
  

  function previousslide() {
    var tmp, i
    i=indexOfSlide()
    if (i==-1) return
    if (i==0) {
      goslide(slides.length-1)
    }
    else {
      goslide(i-1)
    }
  }


  function goslide(value) {
    var atom
    if ((value>=0) && (value<slides.length)) {
      atom=slides[value].split(';')
      window.navigate(atom[0])
    }
  }
  
  function firstslide() {
    goslide(0)
  }

  function lastslide() {
    goslide(slides.length-1)
  }


  function indexOfSlide() {
    var tmp, i, L, atom
    //alert(slides[0])
    tmp=document.URL
    i=tmp.lastIndexOf('\\')
    if (i==-1) {
    // allow for on-line and off-line use
      i=tmp.lastIndexOf('/')
    }
    tmp=tmp.substr(i+1)
    L=slides.length
    for (i=0;i<L;i++) {
      atom=slides[i].split(';')
      if (atom[0]==tmp) {
        return i
      }
    }
    return -1
  }

  function popup() {
    event.returnValue=false;
    popmenu.innerHTML=slideHTML()
    popmenu.style.pixelLeft=event.clientX-5
    popmenu.style.pixelTop=event.clientY-5
    popmenu.style.display='block'
    popmenu.focus()
  }

  function hidemenu() {
    popmenu.style.display='none'
    event.cancelBubble=true
  }

  function slideHTML() {
    var atom
    var tmp=""
    for (i=0;i<slides.length;i++) {
      atom=slides[i].split(';')
      sref=atom[0]
      if (atom.length>1) {
        sname=atom[1]
      }
      else {
        sname=atom[0]
      }
      tmp += "<a href='"+sref+"'>"+sname+"</a><br>"
    }
    return tmp
  }

  function popkey(){
    if (event.keyCode==27) {
      popmenu.style.display='none'
      event.returnValue=false;
    }
    event.cancelBubble=true
  }

  function keycontrol() {
    var key
    key=event.keyCode
    switch(key) {
      case 32: nextslide(); break // space
      case 13: nextslide(); break // enter
      case 39: nextslide(); break // right
      case 37: previousslide(); break // left
      case 36: firstslide(); break // home
      case 35: lastslide(); break // end
    }
    event.returnValue=false;
  }

  function init() {
     document.body.insertAdjacentHTML("afterBegin","<div id='popmenu' class='popup' onclick='hidemenu()' onkeydown='popkey()'></div>")
     document.onclick=nextslide
     document.onkeydown=keycontrol
     document.oncontextmenu=popup
     if (autorun) {
       window.setTimeout("nextslide()",autotime)
     }
  }


