// www.a-s-i.de

//--- Browser-Ermittlung ---
function Is() {
    var agent = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.ns2 = (this.ns && (this.major == 2));
    this.ns3 = (this.ns && (this.major == 3));
    this.ns4b = (this.ns && (this.minor < 4.04));
    this.ns4 = (this.ns && (this.major >= 4 && this.major < 6));
    this.ns6 = (agent.indexOf("gecko") != -1);
    this.ie   = (agent.indexOf("msie") != -1);
    this.ie3  = (this.ie && (this.major == 2));
    this.ie4  = (this.ie && (this.major >= 4 && this.major < 5));
    this.ie5  = (this.ie && (this.major >= 5));
    this.op = (agent.indexOf("opera") != -1);
    this.win   = (agent.indexOf("win")!=-1);
    this.mac   = (agent.indexOf("mac")!=-1);
    this.unix  = (agent.indexOf("x11")!=-1);
}
var is = new Is();
var count = 0;

//--- Preloading ---


// Lädt die Grafiken des Menüs vor der Anzeige
function preLoadMenu()
{ 
  // Anzahl der zu ladenen Bilder ermitteln
  layer = "menu";

  // Bilder laden

  menu1on = new Image();
  menu1on.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu1on.src = "images/info.on.jpg";
  menu1off = new Image();
  menu1off.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu1off.src = "images/info.off.jpg";

  menu2on = new Image();
  menu2on.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu2on.src = "images/produkte.on.jpg";
  menu2off = new Image();
  menu2off.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu2off.src = "images/produkte.off.jpg";

  menu3on = new Image();
  menu3on.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu3on.src = "images/service.on.jpg";
  menu3off = new Image();
  menu3off.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu3off.src = "images/service.off.jpg";

  menu4on = new Image();
  menu4on.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu4on.src = "images/jobs.on.jpg";
  menu4off = new Image();
  menu4off.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu4off.src = "images/jobs.off.jpg";

  menu5on = new Image();
  menu5on.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu5on.src = "images/kontakt.on.jpg";
  menu5off = new Image();
  menu5off.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  menu5off.src = "images/kontakt.off.jpg";

  dummy = new Image();
  dummy.onload = (is.ns4b || is.op) ? loadCheckMenu() : loadCheckMenu;
  dummy.src = "images/empty.gif";
}

// überprüft, ob alle Bilder geladen sind (hier: Menubalken & -Punkte)
function loadCheckMenu()
{
  layer = "menu";

  count++;
  if (count >= 11)
  { 
    // wenn fertig geladen, dann anzeigen
    if (is.ie || is.ns6)
    {
      var doc = document;
    }
    else 
    {
      if (is.ns6 || is.op)
      { 
        eval("var doc = document.getElementById(\"" + layer + "\").document");    
      }
      else
      {
        eval("var doc = document.layers[\"" + layer + "\"].document");
      }
    }

    // Menüpunkte
    doc.info.src = menu1off.src;
    doc.produkte.src = menu2off.src;
    doc.service.src = menu3off.src;
    doc.jobs.src = menu4off.src;
    doc.kontakt.src = menu5off.src;

    hide("menutext");
    show("menu");

    window.status = "";
  } 
  else
  {
    percent = eval(Math.round((count/10)*100));
    numLines = Math.round(percent/100*25);
    lines = "";
    for (i=0; i<numLines; i++)
    {
      lines = lines + "|";
    }
    window.status = lines + " " + eval(Math.round((count/10)*100)) + "% der Menüs geladen.";
  }
}

// --- Menü-Animation ---
function switchOn(what)
{
  layer = "menu";

  if (is.ie || is.ns6)
  {
    var doc = document;
  }
  else 
  {
    if (is.ns6 || is.op)
    { 
      eval("var doc = document.getElementById(\"" + layer + "\").document");    
    }
    else
    {
      eval("var doc = document.layers[\"" + layer + "\"].document");
    }
  }

  switch (what)
  {
    case "info":
      doc.info.src = menu1on.src;
      break;
    case "produkte":
      doc.produkte.src = menu2on.src;
      break;
    case "service":
      doc.service.src = menu3on.src;
      break;
    case "jobs":
      doc.jobs.src = menu4on.src;
      break;
    case "kontakt":
      doc.kontakt.src = menu5on.src;
      break;
    default:
  }
}

function switchOff(what)
{
  layer = "menu";
  window.onerror = fehler;

  if (is.ie || is.ns6)
  {
    var doc = document;
  }
  else 
  {
    if (is.ns6 || is.op)
    { 
      eval("var doc = document.getElementById(\"" + layer + "\").document");    
    }
    else
    {
      eval("var doc = document.layers[\"" + layer + "\"].document");
    }
  }

  switch (what)
  {
    case "info":
      doc.info.src = menu1off.src;
      break;
    case "produkte":
      doc.produkte.src = menu2off.src;
      break;
    case "service":
      doc.service.src = menu3off.src;
      break;
    case "jobs":
      doc.jobs.src = menu4off.src;
      break;
    case "kontakt":
      doc.kontakt.src = menu5off.src;
      break;
    default:
  }
}

function fehler()
{ 
  hide("menutext");
  show("menu");

  return true;
}


// --- Layer-Funktionen ---
// Layer verstecken
function hide(what) 
{
  if (is.ie)
  { 
    eval("document.all[\"" + what + "\"].style.visibility = \"hidden\"");
  }
  else 
  {
    if (is.ns6 || is.op)
    { 
      eval("document.getElementById(\"" + what + "\").style.visibility = \"hidden\"");
    }
    else
    {
      eval("document.layers[\"" + what + "\"].visibility = \"hide\"");
    }
  }
}

// Layer zeigen
function show(what) 
{ 
  if (is.ie)
  { 
    eval("document.all[\"" + what + "\"].style.visibility = \"visible\"");
  }
  else 
  {
    if (is.ns6 || is.op)
    { 
      eval("document.getElementById(\"" + what + "\").style.visibility = \"visible\"");
    }
    else
    {
      eval("document.layers[\"" + what + "\"].visibility = \"show\"");
    }
  } 
}

// Layer Clipping
function clip(layer, w, h) 
{
  if (is.ie)
  {
    eval("document.all[\"" + layer + "\"].style.clip = \"rect(0px " + w + "px " + h + "px 0px)\"");
  }
  else
  {
    eval("document.layers[\"" + layer + "\"].clip.width = w");
    eval("document.layers[\"" + layer + "\"].clip.height = h");
  }
}
