//Wegen der switch-Anweisungen muß es JavaScript 1.2 sein.
//Nestcape >= 4.01 und IE >= 5

//Globale Variablen
var base;   //Pfad zu den Button-Bildern
var auf;    //Das Bild, welches play_an zeigt
var zu;     //Das Bild, wo das animierte Bild durch statisches erstetzt werden muß

function ini()
{
 var loc =  document.location.href;
 var pics = document.images.length;
 var lastslash = loc.lastIndexOf("/");
 base = loc.substring(0,lastslash+1);
 for(var x=0; x < pics; x++)
 {
  var img = document.images[x];
  if (img.className == "taste_links" || img.className == "taste_rechts"){
   var track = img.parentNode.getAttribute('href');
   img.parentNode.removeAttribute('href');
   img.style.cursor = "pointer";
   img.onmouseover = mover;
   img.onmouseout = mout;
   img.onclick = focus_act;
   img.track = track;
  }
 }
 //Diese Bilder sollten im Cache sein  ;-)
 var animage = new Image();
 animage.src = base + "gif/play_an.gif";
 var zump3 = new Image();
 zump3.src = base + "gif/mp3_zu3x.gif";
 var zumidi = new Image();
 zumidi.src = base + "gif/midi_zu3x.gif";
 var zuogg = new Image();
 zuogg.src = base + "gif/ogg_zu3x.gif";
}

function focus_act(aEvent)
{
 var theEvent = null;
 var quelle = null;
 var mod = 0;
 if (window.event){
  theEvent = window.event;
  quelle = event.srcElement;
 }else{
  theEvent = aEvent;
  quelle = aEvent.target;
  mod = 1;
 }

 if(auf){             //Ein Knopf steht schon auf play
  if(auf != quelle){  //click auf einen anderen
   if (mod == 0){
    location.href = quelle.track;
    document.getElementById("notelinks").src="gif/noteblau_ani.gif";
    document.getElementById("noterechts").src="gif/noteblau_ani.gif";
   }else{
     quelle.parentNode.setAttribute('href', quelle.track);
   }
   //Den offenen Knopf schließen und in zu zur Änderung vormerken.
   quelle.src = base + "gif/play_an.gif";
   var lastPoint = auf.track.lastIndexOf(".");
   var extension = auf.track.substring(lastPoint);
   switch (extension){
    case ".mp3":
    auf.src =  base + "gif/mp3_zu3x.gif";
    break;
    case ".mid":
    auf.src =  base + "gif/midi_zu3x.gif";
    break;
    case ".ogg":
    auf.src =  base + "gif/ogg_zu3x.gif";
    break;
    default:
    // für später
    break;
   }
   zu = auf;
   auf = quelle;
  }else{            //auf den bereits offenen Button geklickt.
   if (mod == 1){
    quelle.parentNode.removeAttribute('href');
   }
   var lastPoint = quelle.track.lastIndexOf(".");
   var extension = quelle.track.substring(lastPoint);
   quelle.src =  base + "gif/play_aus.gif";
   auf = null;    //Button muß erneut gedrückt werden
  }
 }else{           //Es steht noch kein Knopf auf play.
  if (mod == 0){
   location.href = quelle.track;
   document.getElementById("notelinks").src="gif/noteblau_ani.gif";
   document.getElementById("noterechts").src="gif/noteblau_ani.gif";
  }else{
   quelle.parentNode.setAttribute('href', quelle.track);
  }
  quelle.src = base + "gif/play_an.gif";
  auf = quelle;
 }
}

function mover(aEvent)
{
 var theEvent = null;
 var quelle = null;
 if (window.event){
  theEvent = window.event;
  quelle = event.srcElement;
 }else{
  theEvent = aEvent;
  quelle = aEvent.target;
 }
 //wegen Firefox: Bei mouseover animierte Gif wieder durch die statische ersetzen,
 //wo diese vorher durch die animierte ersetzt wurde (bei mouseout oder bei click
 //auf einen Button, wenn schon ein anderer auf war, weil der alte dann geschlossen wird).
 //Welches Bild ersetzt werden muß, steht in glob. Variable 'zu'.
 if(zu){
   switch (zu.src){
    case base + "gif/ogg_zu3x.gif":
     zu.src = base + "gif/oggklappe1.gif";
     break;
   case base + "gif/mp3_zu3x.gif":
     zu.src = base + "gif/mp3klappe1.gif";
     break;
   case base + "gif/midi_zu3x.gif":
     zu.src = base + "gif/midiklappe1.gif";
     break;
   default:
     //für später
    break;
   }
  zu = null;
 }
  //Klappe öffnen
 switch (quelle.src){
  case base + "gif/oggklappe1.gif":
    quelle.src= base + "gif/ogg_auf3x.gif";
    break;
  case base + "gif/mp3klappe1.gif":
    quelle.src= base + "gif/mp3_auf3x.gif";
    break;
  case base + "gif/midiklappe1.gif":
    quelle.src= base + "gif/midi_auf3x.gif";
    break;
  default:
    //für später
    break;
 }
}

function mout(aEvent)
{
 var theEvent = null;
 var quelle = null;
 if (window.event){
  theEvent = window.event;
  quelle = event.srcElement;
 }else{
  theEvent = aEvent;
  quelle = aEvent.target;
 }
 switch (quelle.src){
  case base  + "gif/ogg_auf3x.gif":
   quelle.src= base + "gif/ogg_zu3x.gif";
   zu = quelle;
   break;
  case base + "gif/mp3_auf3x.gif":
   quelle.src= base + "gif/mp3_zu3x.gif";
   zu = quelle;
   break;
  case base + "gif/midi_auf3x.gif":
   quelle.src= base + "gif/midi_zu3x.gif";
   zu = quelle;
   break;
  case base + "gif/play_aus.gif":
   var lastPoint = quelle.track.lastIndexOf(".");
   var extension = quelle.track.substring(lastPoint);
   switch (extension){
    case ".mp3":
     quelle.src =  base + "gif/mp3_zu3x.gif";
     zu = quelle;
     break;
    case ".mid":
     quelle.src =  base + "gif/midi_zu3x.gif";
     zu = quelle;
     break;
    case ".ogg":
     quelle.src =  base + "gif/ogg_zu3x.gif";
     zu = quelle;
     break;
    default:
     // für später
     break;
   }
   break;
  default:
   //für später
   break;
 }
}

function infofenster(titel_id)
{
  if (document.getElementById(titel_id).style.display == "none")
  {
    document.getElementById(titel_id).style.display = "block";
    document.getElementById("notelinks").src="gif/noteblau_ani.gif";
    document.getElementById("noterechts").src="gif/noteblau_ani.gif";
  }
  else
  {
    document.getElementById(titel_id).style.display = "none";
    document.getElementById("notelinks").src="gif/noteblau_ani.gif";
    document.getElementById("noterechts").src="gif/noteblau_ani.gif";
  }
}
