// JavaScript Document
// In diesem Skript werden die Instruktionen zum Ein-/Ausschalten der Hintergrundmusik beschrieben

// Zunächst wird dynamisches HTML zur Steuerung der Hintergrundmusik erzeugt
if(top.frames[0] && w3c() && navigator.cookieEnabled){
  var img = document.createElement("img");
  var a = document.createElement("a");
  
  var img_name = document.createAttribute("name");
  img_name.nodeValue = "lautspr";
  var img_src = document.createAttribute("src");
  img_src.nodeValue = "lautspron.png";
  
  var a_href = document.createAttribute("href");
  a_href.nodeValue = "javascript:toggleBgsound()";
  var a_class = document.createAttribute("class");
  a_class.nodeValue = "bgmusik";
  var a_text = document.createTextNode("Hintergrundmusik An/Aus");
  
  img.setAttributeNode(img_name);
  img.setAttributeNode(img_src);
  a.setAttributeNode(a_href);
  a.setAttributeNode(a_class);
  a.appendChild(a_text);
  
  document.getElementById("bild").appendChild(img);
  document.getElementById("link").appendChild(a);
  
  /* Nach dem die Elemente zur Steuerung aktiviert wurden,
   wird mithilfe von Cookies festgestellt ob die Hintergrundmusik
   gerade ein- oder ausgeschaltet ist */
  CookieLaden();
}

function w3c(){
  return document.documentElement;
}

function getFileNames(soundon){
  dir = "http://www.untouchables.at/";
  if(soundon){
    return Array("/bgsoundon.html", dir + "lautspron.png");
  }
  else{
    return Array("/bgsoundoff.html", dir + "lautsprof.png");
  }
  /* Die Funktion liefert je nach übergegebenen Boolwert, ein Array:
   [0]: Der Pfadname des Musikframes
   [1]: Der Dateiname des Lautsprecherbildes */
}

function toggleBgsound(){
  /* Die Funktion toggleBgsound wird aufgerufen, wenn der Benutzer die Musik ein bzw.
   ausschalten will. */
  if(top.frames[0].location.pathname.indexOf("/bgsoundon.html") > -1){
    document.cookie = "off";
  }
  else{
    document.cookie = "on";
  }
  CookieLaden();
}

function CookieLaden(){
  /* Im Array fileNames werden später die Dateinamen für das entsprechende Bild
   und den Musikframe gespeichert. */
  var fileNames = Array();
  
  /* Wurde in document.cookie bereits "off" gespeichert, wird die Musik nicht wiedergegeben,
   ansonsten wird die Musik wiedergegeben. */
  if(document.cookie.indexOf("off") > -1){
    fileNames = getFileNames(false);
  }
  else{
    fileNames = getFileNames(true);
  }
  
  /* Nur wenn der geladene Dateiname dem aktuellen Dateinamen des Musikframes widerspricht,
   muss der Frame neu geladen werden */
  if(top.frames[0].location.pathname.indexOf(fileNames[0]) == -1){
    top.frames[0].location.pathname = fileNames[0];
  }
  document.images['lautspr'].src = fileNames[1];
}