function myTT_clsGlossar(aURL) {
/*------------------------------------------------------------------------------------------------------------------------------------
 <jsclass>
  <name>     myTT_clsGlossar  </name>
  <datum>    12.01.2007     </datum>
  <lastedit> 12.01.2007     </lastedit>
  <version>  1.0            </version>
  <copyright>tiefensee.com  </datum>
  <text>     Klasse zum arbeiten mit Glossarn</text>
--------------------------------------------------------------------------------------------------------------------------------------
  <variablen>
------------------------------------------------------------------------------------------------------------------------------------*/
 this.cAJAX             = new myTT_clsAjax();                                             // object  -> Instanz der Klasse myTT_clsAJAX erstellen

 this.fAnzSperre        = document.getElementById("SPERRE");                             // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzGlossar       = document.getElementById("GLOSSAR");                             // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzAnzeige       = document.getElementById("GLOSSAR_ANZEIGE");                     // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzBegriff       = document.getElementById("GLOSSAR_BEGRIFF");                     // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzBeschreibung  = document.getElementById("GLOSSAR_BESCHREIBUNG");                // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzVerwandt      = document.getElementById("GLOSSAR_VERWANDT");                    // zeiger -> auf HTML-Anzeige-Objekt
 this.fAnzFuss          = document.getElementById("GLOSSAR_FUSS");                        // zeiger -> auf HTML-Anzeige-Objekt
 
 this.fAktKennung       = "";                                                             // string  -> aktueller Begriff

 this.fAnzahl           = null;                                                           // string -> XML-Dokument des Glossars

 this.fGlossar          = null;                                                           // string -> XML-Dokument des Glossars

 this.fOriginal         = null;                                                           // string -> XML-Dokument des Glossars

 this.fTeil             = null;                                                           // string -> XML-Dokument des Glossars

 this.fURL              = PFAD + "seiten/standard/ajax_glossar.php5?KHM=S_GLOSSAR_AJAX";  // string -> URL zum Laden der Glossar
 this.fURLBeg           = PFAD + "seiten/standard/ajax_glossar.php5?KHM=S_GLOSSAR_AJAXB"; // string -> URL zum Laden der Glossar

 this.fXML              = null;                                                           // string -> XML-Dokument des Glossars

 this.Close             = myTT_clsGlossar_Close;                                          // function -> Glossaranzeige schliessen

 this.Create            = myTT_clsGlossar_Create;                                         // function -> Erstellt die Glossar

 this.Laden             = myTT_clsGlossar_Laden;                                          // function -> Begriff neu laden

 this.Open              = myTT_clsGlossar_Open;                                           // function -> öffnet einen neuen Begriff
 this.Open1             = myTT_clsGlossar_Open1;                                           // function -> öffnet einen neuen Begriff

 this.Resize            = myTT_clsGlossar_Resize;                                         // function -> Größe überarbeiten

 this.Write             = myTT_clsGlossar_Write;                                          // function -> Begriff neu schreiben
 this.WriteBegriff      = myTT_clsGlossar_WriteBegriff;                                   // function -> Begriff
 this.WriteBegriffe     = myTT_clsGlossar_WriteBegriffe;                                  // function -> Begriff

// this.Create();
  
/*------------------------------------------------------------------------------------------------------------------------------------
  </variablen>
  <functions>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Close -> myTT_clsGlossar_Close</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Glossaranzeige schliessen</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Close() {
  with(this) {
   fAnzGlossar.style.display = fAnzSperre.style.display = "none";
 }}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Create -> myTT_clsGlossar_Create</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Erstellt die Glossar</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Create() {
  with(this) {
//   Resize();                                                                  //** - Glossar neu zeichnen  
}}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Laden -> myTT_clsGlossar_Laden</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Begriff neu laden</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Laden(aKennung,aTyp) {
  with(this) {

   var mParam = "";

       Resize();
//alert(fAktKennung+"!="+aKennung)
       if(fAktKennung!=aKennung) {
       
        fAktKennung = aKennung;  

        cAJAX.fUrl        = aTyp==0?fURL:fURLBeg;                  //** - URL der Datei, welche die Datenabfrage ausführt
        cAJAX.fMethod     = "POST";                                //** - GET
        cAJAX.fParams     = "KKENNUNG=" + fAktKennung;             //** - Parameter
//        alert(fURL+cAJAX.fParams);
        cAJAX.onSuccess   = myTT_clsGlossar_Sucess;                //** -
        cAJAX.onRequest();                                         //** - Dateiliste abrufen

       } 
}}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Open - myTT_clsGlossar_Open</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>öffnet einen neuen Begriff</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Open(aKennung) {
  with(this) {
   fAnzSperre.style.display = fAnzGlossar.style.display = "inline";
   Laden(aKennung,0);                    
 }}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Open - myTT_clsGlossar_Open</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>öffnet einen neuen Begriff</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Open1(aKennung) {
  with(this) {
   fAnzSperre.style.display = fAnzGlossar.style.display = "inline";
   Laden(aKennung,1);                    
 }}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Resize -> myTT_clsGlossar_Resize</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Glossar neu zeichnen</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Resize() {
  with(this) {

       if(fAnzGlossar) {                                                    //** - Glossarnbreite eintragen

        fAnzGlossar.style.height  = myTT_objElemSeite.offsetHeight -  10 + "px";
        fAnzGlossar.style.top     = myTT_objElemSeite.offsetTop    +   5 + "px"; 
        fAnzGlossar.style.left    = myTT_objElemSeite.offsetLeft   + 175 + "px"; 

        fAnzBeschreibung.style.height = fAnzGlossar.offsetHeight   - 
                                        fAnzBeschreibung.offsetTop - 15 - 
                                        fAnzFuss.offsetHeight      - 1 + "px";
        
       }
}}
/*------------------------------------------------------------------------------------------------------------------------------------
    </inhalt>
   </function>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>myTT_clsGlossar_Sucess</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <variable>
     aMessage : string -> Meldung
     aXML     : domdoc -> XML-Doc der Datenübertragung
    </variable>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Begriff - Antwort des Servers bearbeiten</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Sucess(aMessage,aXML) {
  with(this) {

   //alert(aMessage);                                                        //** - DEBUG-Anweisung

   if(aMessage && aMessage.indexOf("PHPERROR:")==0) {                         //** - Test ob das PHP-Skript eine Fehlermeldung liefert
    onError(aMessage.replace(/PHPERROR:/, ""));                               //** - wenn ja Fehler auslösen
    return null;                                                              //** - keine erfolgreiche Abfrage möglich
   }

   c_GLOSSAR.fXML = aXML;                                                     //** - DS in Struktur eintragen
   c_GLOSSAR.Write();                                                         //** - DS neu schreiben 

 }}
/*------------------------------------------------------------------------------------------------------------------------------------
      </inhalt>
     </private>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>Write -> myTT_clsGlossar_Write</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Begriff neu schreiben</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_Write() {
  with(this) {

   var fOriginal  = fXML.getElementsByTagName("original")[0].getElementsByTagName("b");
   var fTeil      = fXML.getElementsByTagName("teil")[0]?fXML.getElementsByTagName("teil")[0].getElementsByTagName("b"):null;
   var fGlossar   = fXML.getElementsByTagName("glossar")[0]?fXML.getElementsByTagName("glossar")[0].getElementsByTagName("b"):null;;

   switch(true) {
    case (fOriginal.length==1 && 
          fTeil.length==0     && 
          fGlossar.length==0)     : WriteBegriff();  break;
    case (fOriginal.length>1 ||  
          fTeil.length>0     ||
          fGlossar.length>0)      : WriteBegriffe(); break;
    default : fAnzBegriff.innerHTML = "Es wurde kein Eintrag gefunden."; 
              fAnzBeschreibung.innerHTML = "";
              break;
   }           

 }}
/*------------------------------------------------------------------------------------------------------------------------------------
      </inhalt>
     </private>
------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>WriteBegriff -> myTT_clsGlossar_WriteBegriff</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Es wurden ein Begriff gefunden</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_WriteBegriff() {
  with(this) {
  
   var mBeschreibung = fOriginal[0].getElementsByTagName("beschreibung")[0];
   var mVerwandte    = fOriginal[0].getElementsByTagName("verwandte")[0];
   var mText         = "";
   var mStr          = "";

       fAnzBegriff.innerHTML = fOriginal[0].getAttribute("n");
       
       if(mBeschreibung) {
        for(var i=0;i<mBeschreibung.childNodes.length;i++)
         if(mBeschreibung.childNodes[i].nodeType==1) 
          mText += myTT_funElementKnoten(mBeschreibung.childNodes[i])
       } 
 
       fAnzBeschreibung.innerHTML = mText;
 
       if(mVerwandte) {
        mV = mVerwandte.getElementsByTagName("v");

        if(mV) 
         for(var i=0;i<mV.length;i++)
          mStr += (mStr!=""?"<span>,</span>":"") +
                  "<a href='javascript:if(c_GLOSSAR) c_GLOSSAR.Open1(\"" + mV[i].getAttribute("n") + "\")'>" + mV[i].getAttribute("n") + "</a>";
       }
                  
       fAnzVerwandt.innerHTML     = "<span>verwandte Begriffe :</span>" + mStr;
  
 }}
/*------------------------------------------------------------------------------------------------------------------------------------
      </inhalt>
     </private>
------------------------------------------------------------------------------------------------------------------------------------*/
 
/*------------------------------------------------------------------------------------------------------------------------------------
   <function>
    <name>WriteBegriffe -> myTT_clsGlossar_WriteBegriffe</name>
--------------------------------------------------------------------------------------------------------------------------------------
    <text>Es wurden mehrere Begriffe gefunden</text>
    <inhalt>
------------------------------------------------------------------------------------------------------------------------------------*/
 function myTT_clsGlossar_WriteBegriffe() {
  with(this) {
 
   var mOriginal     = fXML.getElementsByTagName("original");
   var mTeil         = fXML.getElementsByTagName("teil");
   var mGlossar      = fXML.getElementsByTagName("glossar");
   var mStr          = "";

       fAnzBegriff.innerHTML = "Es wurden mehrere Eintr&#228;ge gefunden.";
                  
       //** - aktuelles anzeigen
       if(fOriginal && fOriginal.length>0) {

        mBegriffe = fOriginal;
        mStr += "<h6>Es wurden folgende Begriffe gefunden</h6><ul>";

        for(var i=0;i<mBegriffe.length;i++) {
         mStr += "<li>" +
                  "<a href='javascript:if(c_GLOSSAR) c_GLOSSAR.Open1(\"" + mBegriffe[i].getAttribute("n") + "\")'>" + 
                   mBegriffe[i].getAttribute("n") + 
                  "</a>" +
                 "</li>";          
        }

        mStr += "</ul>";
       
       }

       //** - weiter Teilbegriffe anzeigen
       if(fTeil && fTeil.length>0) {
       
        mStr += "<h6>Es wurden folgende Begriffe gefunden, worin Suchbegriffe enthalten sind</h6><ul>";
       
        mBegriffe = fTeil;

        for(var i=0;i<mBegriffe.length;i++) {
        
         //** - Position an dem der Begriff anfängt;
         //** - Position an dem der Begriff aufhört;
         //** - Wort zerlegen und neu zusammensetzen;
         
         mStr += "<li>" +
                  "<a href='javascript:if(c_GLOSSAR) c_GLOSSAR.Open1(\"" + mBegriffe[i].getAttribute("n") + "\")'>" + 
                   mBegriffe[i].getAttribute("n") + " ("+ mBegriffe[i].getAttribute("t") + ")" +
                  "</a>" +
                 "</li>";          
        }

        mStr += "</ul>";
      
       }

       //** - weiter Glossarbegriffe anzeigen
       if(fGlossar && fGlossar.length>0) {
       
        mStr += "<h6>Es wurden folgende Begriffe gefunden, welche in Suchbegriffen enthalten sind</h6><p>(in Klammern der Begriff welcher gesucht wurde)</p><ul>";
       
        mBegriffe = fGlossar;

        for(var i=0;i<mBegriffe.length;i++) {
         mStr += "<li>" +
                  "<a href='javascript:if(c_GLOSSAR) c_GLOSSAR.Open1(\"" + mBegriffe[i].getAttribute("n") + "\")'>" + 
                   mBegriffe[i].getAttribute("n") + " ("+ mBegriffe[i].getAttribute("t") + ")" +
                  "</a>" +
                 "</li>";          
        }
        
        mStr += "</ul>";
      
       }

       fAnzBeschreibung.innerHTML = mStr;
        
/*  
*/
 }}
/*------------------------------------------------------------------------------------------------------------------------------------
      </inhalt>
     </private>
------------------------------------------------------------------------------------------------------------------------------------*/

}
/*------------------------------------------------------------------------------------------------------------------------------------
  </functions>
 </jsclass>
------------------------------------------------------------------------------------------------------------------------------------*/
