

// Erreigniswaechter einstellen: Nach dem Laden der Seite die Funktion initKonfigurator() aufrufen
if (typeof window.addEventListener != 'undefined') window.addEventListener('load', initKonfigurator, false);  
else if (typeof document.addEventListener != 'undefined') document.addEventListener('load', initKonfigurator, false);
else if (typeof window.attachEvent != 'undefined') window.attachEvent('onload', initKonfigurator);

 
 


  // ID des zu befuellenden DIV-Containers
  var formularContainer = "konfigurator_container";
  
   
  // Eintraege und Werte fuer die Schriftgroessenauswahl
  var schriftAuswahl = new Array();
  schriftAuswahl[0] = new Array("Sehr Gro%DF", "140%");
  schriftAuswahl[1] = new Array("Gro%DF", "120%");
  schriftAuswahl[2] = new Array("Standard", "100%");
  schriftAuswahl[3] = new Array("Klein", "80%");
  schriftAuswahl[4] = new Array("Sehr Klein", "75%");

  
  // Eintraege und Werte fuer die Stilauswahl
  var stilAuswahl = new Array();
  stilAuswahl[0] = new Array("Standard", "standard");
  stilAuswahl[1] = new Array("Einfach", "einfach"); 


  // Beschreibungstext des zu erstellenden Formulars (Legende)
  var formularLegende = "Seiteneinstellungen:";



function initKonfigurator()
 {
 


  /*****************************************************************************
  erstelleFormElemente(ID-des-Containers, Element, Inhalt, Attribut;  
  *****************************************************************************/
  
  erstelleFormElemente(formularContainer,   "form",     false,                    "id=konfigurator");
  erstelleFormElemente("konfigurator",      "fieldset", false,                    "id=k_feldbereich");
  erstelleFormElemente("k_feldbereich",      "legend",   formularLegende,         false);  

  erstelleFormElemente("k_feldbereich",       "div",      false,                  "id=schrifteinstellung");
  erstelleFormElemente("schrifteinstellung", "label",    "Schriftgr%F6%DFe: ",       false);
  erstelleFormElemente("schrifteinstellung", "select",   schriftAuswahl,          "id=schriftauswahl");
  
  erstelleFormElemente("k_feldbereich",       "div",      false,                  "id=stileinstellung");
  erstelleFormElemente("stileinstellung",    "label",    "Seitenstil: ",          false);
  erstelleFormElemente("stileinstellung",    "select",   stilAuswahl,             "id=stilauswahl");  
  
  erstelleFormElemente("k_feldbereich",       "div",      false,                  "class=beendeFluss");  
  
  
  
  
  // Setze die Schriftgroesse, sofern schon ein Cookie mit einem Wert gespeichert ist
  pruefeBenutzereinstellungen("schrift");
  pruefeBenutzereinstellungen("stil");  
  
  

  
  /*****************************************************************************
  Fuege den Ereigniswaechter bei Aenderung der Auswahlfelder hinzu
  *****************************************************************************/

  document.getElementById("schriftauswahl").onchange = function() 
   {
    setzeBenutzereinstellungen("schrift", this.selectedIndex);   
    speichereBenutzereinstellung("schrift", this.selectedIndex);
   }

  document.getElementById("stilauswahl").onchange = function() 
   {
    setzeBenutzereinstellungen("stil", this.selectedIndex);   
    speichereBenutzereinstellung("stil", this.selectedIndex);
   }   

  
 }





 
function speichereBenutzereinstellung(bezeichner, wert)
 {
  var cookieLebensdauer = 1000 * 60 * 60; // * 24 * 365;
  var aktuellesDatum = new Date();
  var verfallsDatum = new Date(aktuellesDatum.getTime() + cookieLebensdauer);	
  
  // Schreiben des Wertes fuer die Schriftgroesse in den Cookie
  document.cookie = bezeichner + "=" + wert + ";expires=" + verfallsDatum.toGMTString() + ";";
 
 }



 
 
 
function setzeBenutzereinstellungen(bezeichner, wert)
 { 
  if (bezeichner == "schrift")
   {  
    if ( wert == -1) wert = 2; 
    document.getElementById("koeper_inhalt").style.fontSize = schriftAuswahl[wert][1];
    document.forms[0].elements['schriftauswahl'].options[wert].selected = "selected";
    // document.getElementById("schriftauswahl").options[wert].selected = "selected";
   }
  else if (bezeichner == "stil")
   {
    if ( wert == -1) wert = 0;
    var bodyObj = document.getElementsByTagName("body")[0];
    bodyObj.className = stilAuswahl[wert][1]; 
    document.getElementById("stilauswahl").options[wert].selected = "selected";   
   }
 }    
 
 

 
function pruefeBenutzereinstellungen(bezeichner)
 {
 
  var wert = -1;
 
  if (document.cookie) // ... wenn ein Cookie vorhanden ist
   {  

    cookieFeld = document.cookie.split(";"); 

    // alert("Bezeichner: " + bezeichner + "\n\nJa, ein Cookie vorhanden: >" + cookieFeld[0] + "< >" + cookieFeld[1] + "<");
 
    for (var i = 0; i < cookieFeld.length; i++)
	{
     cookieFeld[i] = cookieFeld[i].replace(/ /g, "");
     
	 if ( cookieFeld[i].split("=")[0] == bezeichner)
      {
	   wert = cookieFeld[i].split("=");
	   wert = unescape(wert[1]);
	  }
    }
   }

  setzeBenutzereinstellungen(bezeichner, wert);


 }
 
 
 
 

 
 
 
 
function erstelleFormElemente(formularContainer, formElement, formElementInhalt, formElementAttr)
 {
  
  if (document.getElementById) // ... wenn DOM verfuegbar
   {
    
    // Wertekontrolle
	// alert( "Container-ID: >" + formularContainer + "<\n\nElement: >" + formElement + "<\n\nInhalt: >" + unescape(formElementInhalt) + "<\n\nAttribut: >" + formElementAttr + "<" );
 
    // Das Containerelement fuer die zu erstellenden Elemente wird definiert
    var formContainerObj = document.getElementById(formularContainer);
    
    
    
    /***************************************************************************
     Schritt 1: Elemente erstellen
    ***************************************************************************/
    
    // neues Element erstellen
    var neuesElement = document.createElement(formElement);      
    
    
    // ... wenn Inhalte mit uebergeben wurden (Beschriftungen, Beschreibungen, usw.)
    if (formElementInhalt) 
     {
     
      // ... wenn ein Select-Feld erstellt werden soll
      if (formElement == "select")
       {
        for (var i = 0; i < formElementInhalt.length; i++)
         { 
          var neueOption = document.createElement("option");
          var neuerText = document.createTextNode( unescape(formElementInhalt[i][0]) );
          neueOption.appendChild(neuerText);
          neuesElement.appendChild(neueOption); 
         }
       }
       
      // ... sonst gilt fuer die Erstellung mit einfachen Inhalten immer:       
      else
       { 
        var neuerText = document.createTextNode( unescape(formElementInhalt) );
        neuesElement.appendChild(neuerText); 
       }
     }
      
    // das neu erstellte Element an den Container anfuegen      
    formContainerObj.appendChild(neuesElement);   
    

    
    /***************************************************************************
     Schritt 2: Attribute fuer die Elemente erstellen
    ***************************************************************************/     
          
    // ... wenn Attribute uebergeben wurden, werden sie im folgenden gesetzt
    if (formElementAttr)
     {
 
      // Attributtyp und Attributwert extrahieren
      i = formElementAttr.indexOf("="); 
      var attrName = formElementAttr.substring(0,i);
      var attrText = formElementAttr.substring(i+1,formElementAttr.length);
 
 
      // Attribute setzen
      if (attrName == "class")
       {
        neuesElement.className = attrText;
       }
      else 
       {
        neuesElement.setAttribute(attrName, attrText);
       }
     }     
   }
 } 
 
 
 

 
 

/*******************************************************************************
 Beispielfunktion zum Austauschen von Bildern beim Wechsel des Seitenstils:
 
var stilVorgaben = new Array("standard", "einfach");
var bildPfad = "bilder/vordergrund/";
var bildName = "ueberschrift";
var bildTyp  = ".jpg";


if (document.images)
 { 
  if (auswahl == "0") document.images["kopf_ueberschriftbild"].src = bildPfad + bildName + bildTyp; 
  else document.images["kopf_ueberschriftbild"].src = bildPfad + bildName + "_" + stilVorgaben[auswahl] + bildTyp;
 }
*******************************************************************************/ 
