/**
* Datei-Ort : /js/basis.js
* Zweck     : JavaScript-Funktionen, die ueberall auf der Seite gebraucht werden koennen
* Autor (c) : Philipp Rieber / webflips
* Autor (c) : Goetz Nemeth / kajamogo
* Website   : http://www.kajamogo.de
* Kontakt   : info@kajamogo.de
* Datum     : 31.02.2007
* Version   : 0.9
*/


/**
 * Bilder vorladen; so wird die kurze Ladezeit der "hover"-Registerkartenbilder vermieden,
 * was einen unschoenen Effekt haette. Bildquellen muessen im Array 'bilder' stehen, siehe dazu
 * "Allgemein::ladeHovers()".
 * Falls das "images"-Objekt existiert, wird ein Array angelegt und dann die Indexe des Arrays
 * mit den Bildpfaden ("bilder") durchwandert. Fuer jeden Index wird im neuen Array "bilderliste"
 * ein "Image"-Objekt angelegt und dann der "Source" ("src") diese Objektes der Bildpfad aus
 * dem Array "bilder" zugewiesen. Damit ist das Bild vorgeladen.
 */
function bilderVorladen(){
  if(document.images){
    bilderliste = new Array();
      for(zaehler in bilder){
        bilderliste[zaehler] = new Image();
        bilderliste[zaehler].src = bilder[zaehler];
      }
  }
}


/**
 * Mit dieser Funktion kann in einem Formular, dass den Namen "hauptformular" traegt, immer
 * das naechstleere Feld fokussiert (also der Cursor hineingesetzt) werden.
 * Die einzelnen Formularelemente werden dabei eins nach dem anderen durchwandert und sobald
 * die Schleife auf ein Feld des Typs "text" oder "textarea" trifft und dieses leer ist, wird
 * es fokussiert und die Schleife abgebrochen. Das hat den Effekt, das beim ersten Aufruf
 * einer Formularseite, das erste Textfeld fokussiert wird. Hat der Benutzer einige Felder
 * ausgefuellt, aber dabei Pflichtfelder vergessen, wird automatisch das erstleere fokussiert.
 * Zur Anwendung kommt das z.B. im Forumsformular oder dem Gaestebnuchformular usw. Das Formular
 * braucht nur den Namen "hauptformular" zu tragen.
 * Der Funktionsaufruf steht im "<body>"Tag der Hauptindexseite ("onLoad"-Eventhandler).
 */
function hauptformularFokussieren(){
  // Abkuerzung zum Formular
  form = document.hauptformular;
  if(form){
    for(var i = 0; i < form.elements.length; i++){
      if((form.elements[i].type == 'text' || form.elements[i].type == 'textarea')
           && form.elements[i].value == ''){
        form.elements[i].focus();
        break;
      }
    }
  }
}


/**
 * Jump-Menue.
 * Zu sehen z.B. im Forum oder dem Gaestebuch. Ermoeglicht das navigieren zu aelteren Eintraegen,
 * die auf weiteren Seiten untergebracht sind. Es handelt sich um ein "<select>"-Feld, welches
 * die Seitennummern zeigt. Die "values" fuer jede Seitennummer sind die Links zur Zielseite.
 * Die Funktion wird "onChange" des "<select>"-Feldes aufgerufen und uebergibt dabei sich selbst
 * (also die Referenz auf das "<select>"-Feld). Die URL aus dem "value" ("selectedIndex") wird als neue
 * Dokument-Location angegeben und die Seite damit neu geladen.
 */
function jumpMenue(Obj){
  eval("document.location='" + Obj.options[Obj.selectedIndex].value + "'");
}


/**
 * Diese Funktion laesst einen "Tooltip" ercheinen, also eine kleine Info-Box, die beim
 * ueberfahren eines Elementes mit der Maus angezeigt wird. Ihr wird dabei ein "element"
 * uebergeben, welches einen "<div>"- oder "<span>"-Kasten repraesentiert. Dieses Element
 * wird daraufhin mit "display:block" sichtbar gemacht, es wird also ein Blockelement.
 * Der "document.all" Zweig dient der Kompatibilitaet mit dem InternetExplorer4.
 */
function zeige_tooltip(element){
  document.getElementById(element).style.display = "block";
}


/**
 * Gegenstueck zu "zeige_tooltip()", die "Tooltip"-Box verschwindet wieder.
 */
function verstecke_tooltip(element){
  document.getElementById(element).style.display = "none";
}

/**
* Wechselt in Emailformularen das Bueroklammersymbol in ein Upload-Feld um
*/
function attachFeld(){
  document.getElementById("attach").innerHTML='<input type="file" name="mailversand_attachment" />';
}

