//------------------------------------------------------------------------------
//
//  ACTIVE-BUTTONS
//   Version: 1.0 - Datum: 06.04.2000
//   Copyright (c) 2000 by Dominik Leonhardt. Alle Rechte vorbehalten.
//
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// Objekt: ButtonList
//  Dieses Objekt stellt eine Liste von Buttons dar.
//------------------------------------------------------------------------------
function ButtonList() {
 this.count=0;

 this.Add=_Add;
 this.GetIndex=_GetIndex;
  
 return this;
}

function _Add(btn) {
 this.count++;
 this[this.count]=btn;
}

function _GetIndex(name) {
 var i=1;
 while (i<=this.count){
  if (this[i].name==name) {return i};
  i++;
 }
 return -1;
}

//------------------------------------------------------------------------------
// Objekt: Button
//  Dieses Objekt stellt einen Button dar.
//------------------------------------------------------------------------------
function Button(name,img1,img2,img3,state) {
 this.name=name;
 this.img1=new Image();
 this.img1.src=img1;
 this.img2=new Image();
 this.img2.src=img2;
 this.img3=new Image();
 this.img3.src=img3;
 this.state=state;
 return this;
}
 
var Buttons=new ButtonList();

//------------------------------------------------------------------------------
// PreLoad()
//  Diese Funktion initialisiert die Liste mit den Buttons.
//------------------------------------------------------------------------------
function Preload() {
 for (i=0;i<Preload.arguments.length;i++){
  Buttons.Add(Preload.arguments[i]);
 }
}

//------------------------------------------------------------------------------
// BtnOver()
//  Diese Funktion ändert das Bild, wenn die Maus über dem Bild ist.
//------------------------------------------------------------------------------
function BtnOver(btn) {
 if (document.images[btn]) {
  i=Buttons.GetIndex(btn);
  if (Buttons[i].state==0) { document.images[btn].src=Buttons[i].img2.src; }
 }
}
 
//------------------------------------------------------------------------------
// BtnOver()
//  Diese Funktion ändert das Bild, wenn die Maus das Bild verlässt.
//------------------------------------------------------------------------------
function BtnOut(btn) {
 if (document.images[btn]) {
  i=Buttons.GetIndex(btn);
  if (Buttons[i].state==1) { document.images[btn].src=Buttons[i].img3.src; }
  else { document.images[btn].src=Buttons[i].img1.src; }
 }
}
 
//------------------------------------------------------------------------------
// BtnOver()
//  Diese Funktion ändert das Bild, wenn auf das Bild geklickt wird.
//------------------------------------------------------------------------------
function BtnClick(btn) {
 if (document.images[btn]) {
  i=Buttons.GetIndex(btn);
  if (Buttons[i].state==0) {
   document.images[btn].src=Buttons[i].img3.src;
   Buttons[i].state=1;
  } else {
   document.images[btn].src=Buttons[i].img1.src;
   Buttons[i].state=0;
  }
 }
}

//------------------------------------------------------------------------------
// IsClicked()
//  Diese Funktion überprüft ob ein Bild angeklickt ist und liefer dann 0 für
//  "nein" oder 1 für "ja" zurück.
//------------------------------------------------------------------------------
function IsClicked(btn) {
 if (document.images[btn]) {
  i=Buttons.GetIndex(btn);
  return Buttons[i].state;
 }
}

//------------------------------------------------------------------------------
// SetState()
//  Diese Funktion setzt den Status auf angeklickt(1) oder nicht angeklickt(0).
//------------------------------------------------------------------------------
function Set(btn,state) {
 if (document.images[btn]) {
  i=Buttons.GetIndex(btn);
  Buttons[i].state=state;
  BtnOut(btn);
 }
}


