/*
  Das Profil
*/

var allPics = Array();
var allGalPics = Array();
var gangs = Array();
var gangMember = Array();
var gbook = Array();

var gb_content = Array();
var gb_user = Array();

var raw_profil_desc = "";

function profilInit()
{
  jscmdWrite("ProfilInit start", 0, 0);
  var se = idf("ScriptError-0.0.7");
  if (se != undefined) se.style.display = "none";

  if (mail_Success == 1)
  {
    alert ("Nachricht wurde erfolgreich abgeschickt.");
  }

  /* TestWoche bei McMatze */

  var ownID = getUserID();
  //alert (ownID + " == " + userTo);
  // Für alle
  // - die Gästebucheinträge umwandeln
  // - die Bilder einlesen
  // Für den Besitzer
  // - die geschützten Bilder sichtbar machen
  // - das Löschen von Gästebucheinträgen ermöglichen
  // Für den Besucher (aber nicht Gast)
  // - das Editieren des Gästebucheintrages ermöglichen
  var re1=/Button\-img-(.*)/gi;
  //var re2=/gbkill-(.*)/gi;
  //var re3=/gbooko-(.*)-(.*)/gi;
  //var re4=/gbe-(.*)-(.*)/gi;
  var re2a=/gbu\-(\d*)\-(\d*)\-(\d*)/gi;
  var re3a=/gbc\-(\d*)\-(\d*)-(\d*)/gi;
  var re5=/imga-(\d*)-(\d*)-(\d*)-(\d*)/gi;
  var re6=/imgg-(\d*)/gi;
  var gbData = "";
  var gbEntryID = 0;
  var gbEntryCount = 0;
  var picTargetA = idf("imgtara");
  var picTargetB = null;
  var picTargetBIndex = null;
  var alp = document.getElementsByTagName("div");
  for (var i=0; i < alp.length; i++)
  {
    var node = alp[i];
    var nid = node.id;
    if (userTo == ownID)
    {
      re1.lastIndex=0;
      var gto1 = re1.exec(nid);
      if (gto1 != null)
      {
        node.style.display = "";
      }
      /*
      // Die Kästchen zum löschen
      re2.lastIndex=0;
      var gto2 = re2.exec(nid);
      if (gto2 != null)
      {
        node.style.display = "";
      }
      */
    }

    /* User Gästebuch */
    re2a.lastIndex=0;
    var gto2a = re2a.exec(nid);
    if (gto2a != null)
    {
      var id = gto2a[1];
      if (node.firstChild != null) userName = node.firstChild.data;
      var j = getIndexOfGBook(id);
      gbook[j].name = userName;
      gbook[j].fromID = parseInt(gto2a[2]);
      gbook[j].background = parseInt(gto2a[3]);
      node.style.display = "none";
    }

    /* Inhalt Gästebuch */
    re3a.lastIndex=0;
    var gto3a = re3a.exec(nid);
    if (gto3a != null)
    {
      var id = gto3a[1];
      if (node.firstChild != null) content = node.firstChild.data;
      var j = getIndexOfGBook(id);
      gbook[j].content = content;
      gbook[j].contentID = gto3a[2];
      gbook[j].posted = parseInt(gto3a[3]);
      node.style.display = "none";
      //node2HTML(node, 550, 0);
      //domClear(node);
      //gbEntryCount += 1;
    }

    /*
    // GB-Einträge umwandeln
    re4.lastIndex=0;
    var gto4 = re4.exec(nid);
    if (gto4 != null)
    {
      node2HTML(node, 550, 0);
      domClear(node);
      gbEntryCount += 1;
    }
    // Die Gästebucheinträge haben die Form gbooko-$fromID-$gbID
    // Hier wird der eigene Eintrag rausgefischt
    re3.lastIndex=0;
    var gto3 = re3.exec(nid);
    if (gto3 != null)
    {
      if (parseInt(gto3[1]) == ownID)
      {
        gbData = node.firstChild.data;
        gbEntryID = parseInt(gto3[2]);
      }
    }
    */


    // die Bilder haben die id imga-$bildID-$typID-$privat
    re5.lastIndex=0;
    var gto5 = re5.exec(nid);
    if (gto5 != null)
    {
      img_comment = "";
      if (node.firstChild != null) img_comment = node.firstChild.data;
      img_id = parseInt(gto5[1]);
      img_typ = parseInt(gto5[2]);
      img_privat = parseInt(gto5[3]);
      img_main = parseInt(gto5[4]);

      if (0 < img_id && (img_privat == 0 || userTo == ownID))
      {

        var imgAddrSmall = "";
        var imgAddrMedium = "";
        if (img_typ == 0 || img_typ == 1)
        {
          imgAddrSmall = "./img/" + lpad(img_id,8)+"ss.jpg";
          imgAddrMedium = "./img/" + lpad(img_id,8)+"s.jpg";
          mustReduce = false;
        }
        if (img_typ == 2)
        {
          imgAddrSmall = "./img/" + lpad(img_id,8)+".gif";
          imgAddrMedium = "./img/" + lpad(img_id,8)+".gif";
          mustReduce = true;
        }

        var tn = new Object();
        tn.id = img_id;
        tn.typ = img_typ;
        tn.privat = img_privat;
        tn.imgAddrSmall = imgAddrSmall;
        tn.imgAddrMedium = imgAddrMedium;
        tn.comment = img_comment;
        tn.main = img_main;
        tn.node = null;
        allPics.push(tn);
      }
    }
    //jscmdWrite("ProfilInit, Bilder aus dem Profil", 0, 2);

    // die Galerie-Bilder haben die id imgg-$bildID
    re6.lastIndex=0;
    var gto6 = re6.exec(nid);
    if (gto6 != null)
    {
      img_comment = "";
      //if (node.firstChild != null) img_comment = node.firstChild.data;

      if (2 < node.childNodes.length)
      {
        var tn = new Object();
        tn.id = parseInt(gto6[1]);
        tn.comment = node.childNodes[0].data;
        tn.url = node.childNodes[2].data;
        allGalPics.push(tn);
      }
    }
  }

  /* Gästebuchs - Zähler */
  /*
  var countGB = idf("countGB");
  if (countGB != null && countGB != undefined)
  {
    removeAllChildren(countGB);
    if (0 < gbook.length)
    {
      domText ("Einträge : " + gbook.length, countGB);
      countGB.style.fontSize = "7pt";
    }
  }
  */

  jscmdWrite("ProfilInit, Daten gelesen", 0, 1);

  // Das Feld für die Bilder aufbauen
  // picTargetA = ist die ZielDiv, sie wird erst aufgebaut und formatiert,
  //              wenn es tatsächlich Bilder
  // picGHeader = ist die Kopfzeile
  // picTargetC = ist der Container für das große Bild
  // picTargetBIndex = ist der Container für die ThumbsIndezes
  // picTargetB = ist der Container für die Thumbs
  if (picTargetA != undefined && (0 < allPics.length || 0 < allGalPics.length))
  {
     var fCol = styleOfBackground(getGstyleka());
     var bCol = styleOfBackground(getGstylebu());
     if (picTargetB == null)
     {
         picTargetA.style.border = "2px solid #000";
         picTargetA.style.padding = "0px";
         var picGHeader = domDiv(domText("Galerie"), picTargetA);
         picGHeader.style.background = fCol;
         picGHeader.style.borderBottom = "2px solid #000";
         picGHeader.style.textAlign = "center";
         picGHeader.style.padding = "2pt";

         picTargetC = domFDiv(picTargetA);
         picTargetC.id = "bigImgTarget";
         picTargetC.style.border = "0px solid blue";
         picTargetC.style.padding = "4px";
         picTargetC.style.paddingBottom = "0px";
         picTargetC.style.textAlign = "center";
         var picGHe = domDiv(domText("Platzhalter"), picTargetC);
         var picTargetAbrB = domBreak(picTargetA);
         picTargetAbrB.style.clear = "both";
         picTargetAbrB.style.lineHeight = "1px";
         picTargetAbrB.style.height = "1px";

         picTargetBIndex = domFDiv(picTargetA, "fr");
         picTargetBIndex.style.border = "0px solid #00aa00";
         picTargetBIndex.style.padding = "0px";
         picTargetBIndex.style.paddingRight = "10pt";
         picTargetB = domFDiv(picTargetA, "fr");
         picTargetB.style.border = "0px solid #0000aa";
         picTargetB.style.padding = "4px";
         picTargetB.style.clear = "both";
     }

     var hasImageMain = false;
     var imageCounter = 0;
     var container = null;
     var thumbsArray = new Array();
     for (var i=0; i < allPics.length; i++)
     {
       if (imageCounter++%10 == 0)
       {
         container = domFDiv(picTargetB);
         container.className = "fl";
         container.style.border = "0px solid #aa6600";
         container.style.width = "190pt";
         thumbsArray.push(container);
       }
       var pic = allPics[i];
       if (pic.main == 1)
       {
         setImageMain("P", pic.id);
         hasImageMain = true;
       }
       profilImageThumb(container, "P", pic.id, pic.imgAddrSmall);
     }

     for (var i=0; i < allGalPics.length; i++)
     {
       if (imageCounter++%10 == 0)
       {
         container = domFDiv(picTargetB);
         container.className = "fl";
         container.style.border = "0px solid #aa6600";
         container.style.width = "190pt";
         thumbsArray.push(container);
       }
       var pic = allGalPics[i];
       profilImageThumb(container, "G", pic.id, pic.url);
     }

    filecard (thumbsArray, picTargetB, picTargetBIndex,2);

    var picTargetAbr = domBreak(picTargetA);
    picTargetAbr.style.clear = "both";
    picTargetAbr.style.lineHeight = "1px";
    picTargetAbr.style.height = "1px";
  }

  jscmdWrite("ProfilInit, Feld für die Bilder aufgebaut", 0, 1);

  // Das Gästebuch aufbauen
  /*
  sortGB();

  var gbtarget = idf("gbtarget");
  if (gbtarget != undefined && 0 < gbook.length)
  {
    for (var i=0; i < gbook.length; i++)
    {
      var gbframe = domFDiv(gbtarget);
      gbframe.style.border = "1pt solid black";
      gbframe.style.width = "545px";
      gbframe.style.overflow = "hidden";
      gbframe.style.margin = "1pt";
      gbframe.style.marginBottom = "8pt";
      gbframe.style.marginLeft = "20pt";
      gbframe.style.padding = "2pt";

      var gbHeader = domFDiv(gbframe);
      gbHeader.style.borderBottom = "1pt dashed black";
      gbHeader.style.marginBottom = "5pt";

      var gbname = domFDiv(gbHeader,"fl");
      var gbProfil = domRef(domText(gbook[i].name), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + gbook[i].fromID, gbname);
      gbProfil.style.color = "#000000";
      gbProfil.style.textDecoration = "none";
      gbProfil.style.fontWeight = "bold";
      eventLink(gbProfil,3);

      var gbdate = domDiv(domText(mDate(gbook[i].posted,15)),gbHeader,"fr");
      domClearRule(gbHeader);

      var gbContent = domFDiv(gbframe);
      //alert(gbook[i].content);
      domText(gbook[i].content, gbContent);
      node2HTML(gbContent, 540, 0);

      if (userTo == ownID)
      {
        domClearRule(gbframe);
        var gbfooter = domFDiv(gbframe);
        domCheckboxName(1, "gb-kill-" + gbook[i].id, gbfooter, false, "fr");
        var gbfootert = domDiv(domText("Eintrag löschen"), gbfooter, "fr");
        gbfootert.style.paddingTop = "2pt";
      }

      //domBreak(gbtarget);
      //domText (gbook[i].content, gbframe);
    }
  }

  // Das Textfeld für das Gästebuch anzeigen
  if (userTo != ownID && 0 < ownID)
  {
    var gbai = idf("gbai");
    if (gbai != undefined) gbai.style.display = "";
    var bg = 0;
    alpta = document.getElementsByTagName("textarea");
    for (var i=0; i < alpta.length; i++)
    {
      if (alpta[i].name == "gbookta")
      {
        //alpta[i].style.display = "";
        var content = "";
        for (var j=0; j < gbook.length; j++)
        {
          if (gbook[j].fromID == ownID)
          {
            content = gbook[j].content;
            bg = gbook[j].background;
          }
        }
        alpta[i].value = stripMCodes(content);
      }
    }

    var gbAddControl = idf ("gbAddControl");
    if (gbAddControl != undefined && 1==ownID)
    {
      gbAddControl.style.border = "0pt solid red";
      var gbsel = domSelectNameValue(Array("kein Hintergrund","grau-blauer Hintergrund","rosa Hintergrund","grüner Hintergrund"), Array(0,1,2,3), bg, "gbBackground", gbAddControl);
      gbsel.style.background = styleOfBackground(getGstylefb());
    }
  }
  // spezifische Felder für Mitglieder eintragen
  if (0 < ownID)
  {
    var gbSubmit = idf("gbSubmit");
    var mailF = idf("mailF");
    gbSubmit.style.display = "";
    if (userTo == ownID)
    {
      gbSubmit.value = "löschen";
    }
    else
    {
      gbSubmit.value = "eintragen";
      mailF.style.display = "";
    }
  }
  // bbc-panel für gästebuch anzeigen
  var bbcPanel = idf("bbc");
  bbcPanel.style.display = "";
  bbctid = "gbookta";
  */

  if (0 < ownID)
  {
    var mailF = idf("mailF");
    if (userTo != ownID)
    {
      mailF.style.display = "";
    }
  }

  // ProfilText formatieren
  jscmdWrite("Formatierung Profil starten",0,0);
  var profilText = idf("profilDescr");
  if (profilText != undefined)
  {
    raw_profil_desc = "";
    for (i = 0; i < profilText.childNodes.length; i++)
    {
      var ciNode = profilText.childNodes[i];
      if (ciNode.nodeType == 3)
      {
        raw_profil_desc = raw_profil_desc.concat(ciNode.data);
      }
    }

    node2HTML(profilText, 550, 0);
    profilText.style.display = "";

    if (getUserID() == userTo)
    {
      //var d = domTextarea(stripMCodes(raw_profil_desc),profilText);
      d = idn("np");
      if (d != undefined && d != null)
      {
        d.value = stripMCodes(raw_profil_desc);
        d.style.clear = "both";
        //d.style.width = "400pt";
        //d.style.height = "400pt";
      }
    }
  }
  jscmdWrite("Formatierung Profil beendet",0,0);

  // Die Adminleiste einblenden
  if (ownID == 1)
  {
    var adminLeiste = idf("survey");
    if (adminLeiste != undefined) adminLeiste.style.display="";
  }
  // Spezielle Links einbinden
  if (0 < getUserID())
  {
    var gbuowe = idf("gbuowe");
    gbuowe.style.padding = "5pt";
    gbuowe.style.paddingLeft = "15pt";
    gbuowe.style.paddingRight = "15pt";
    domText("Mitglieder, die in dein Gästebuch geschrieben haben, und noch keinen Eintrag von dir haben (",gbuowe);
    var gbuowe1 = domRef(domText("Auflisten"), "JavaScript:ownwindow(0,'./frame.php?action=gbookFeed&userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&mode=1',1)" , gbuowe);
    domText(")",gbuowe);
  }

  // Gruppendarstellung Steuerelemente Teil 1 (Daten lesen)
  //  type = p (Bilder), i (Gruppeninfos), f (Fußzeile)
  //         d,e (externe Einladungen)
  //         n (neuen Gruppe)
  var gangDElem = Array();
  var gangAElem = Array();
  var regnst=/^gang\-(.)\-(\d+)$/gi;
  var alltr = document.getElementsByTagName("div");
  for (var i=0; i < alltr.length; i++)
  {
    var node = alltr[i];
    var nid = node.id;
    regnst.lastIndex=0;
    var gtotr = regnst.exec(nid);
    if (gtotr != null)
    {
      var grp_type = gtotr[1];
      var grp_id = parseInt(gtotr[2]);
      if (grp_type == 'p' || grp_type == 'i' || grp_type == 'f')
      {
        // Ist für diese Gruppe bereits ein Array angelegt ?
        var t = -1;
        for (var j=0; j < gangDElem.length; j++) if (gangDElem[j].index == grp_id) t = j;
        if (0 <= t) gangDElem[t].grp.push(node);
        else
        {
          var tn = new Object();
          tn.index = grp_id; tn.grp = new Array(); tn.grp.push(node);
          gangDElem.push(tn);
        }
      }
      if (grp_type == 'd' || grp_type == 'e' || grp_type == 'n') gangAElem.push(node);
      //alert (gtotr[1] + " , " + gtotr[2]);
      //node.style.display = "none";
      //node.style.lineHeight = "1px";
      //node.style.overflow = "hidden";
      /* die Elemente ausblenden */
      //node.style.background = "#44f";
      //node.style.border = "2px solid #44f";
      node.style.position = "absolute";
      node.style.top = "-2000px";
    }
  }
  
  jscmdWrite("Gruppenfelder gelesen 0", 0, 2);
  //jscmdWrite("Gruppenfelder gelesen 10", 10, 2);
  //jscmdWrite("Gruppenfelder gelesen 11", 11, 2);

  // Gruppendarstellung Steuerelemente Teil 2 (Verlinken)
  //  Gruppen
  for (var j=0; j < gangDElem.length; j++)
  {
    var grp_index = gangDElem[j].index;
    var grp_on = idf("grp_ButtonOn_" + grp_index);
    var grp_off = idf("grp_ButtonOff_" + grp_index);
    if (grp_on != undefined && grp_off != undefined)
    {  
      switch_rows(gangDElem[j].grp, grp_on, grp_off);
    }
  }
  //   externe Elemente
  var grp_on = idf("grp_ButtonOn_0");
  var grp_off = idf("grp_ButtonOff_0");
  if (grp_on != undefined && grp_off != undefined && 0<gangAElem.length)
  {
    //alert (grp_on.id + " " + grp_off.id);
    switch_rows(gangAElem, grp_on, grp_off);
  }

  // Gruppendaten lesen Teil 1
  // Zuteilung User-Gruppe
  // :> Gruppe - UserID
  var gnm1 = idf("gnm1");
  var regn1=/^(\w*)-(\w*),(.*)$/gi;
  if (gnm1 != undefined)
  {
    if (0 < gnm1.childNodes.length)
    {
      var gnm1Data = gnm1.childNodes[0].data;
      while (1 < gnm1Data.length)
      {
        regn1.lastIndex=0;
        var gto = regn1.exec(gnm1Data);
        if (gto != null)
        {
          var tn = new Object();
          tn.gangID = parseInt(gto[1]);
          tn.userID = parseInt(gto[2]);
          gnm1Data = gto[3];
          //alert (tn.gangID + " # " + tn.userID + " # " + gnm1Data);
          gangs.push(tn);
        }
        else
        {
          gnm1Data = "";
        }
      }
    }
  }

  // Gruppengröße feststellen
  var gangCount = Array();
  for (var i=0; i<gangs.length; i++)
  {
    newEntry = true;
    for (var j=0; j<gangCount.length; j++)
    {
      if (gangCount[j].id==gangs[i].gangID)
      {
        newEntry = false;
        gangCount[j].c++;
      }
    }
    if (newEntry)
    {
      var tn = new Object();
      tn.id = gangs[i].gangID;
      tn.c = 1;
      tn.mailC = 0;
      gangCount.push(tn);
    }
  }

  // Gruppendaten lesen Teil 4
  // Gruppenmails
  // :> gangmail-gangID-mailID-lastUserID-0-0
  // :>> header
  var grpMails = Array();
  var gmreg=/^gangmail\-(\d+)\-(\d+)\-(\d+)\-(\d+)\-(\d+)$/gi;
  var alltr = document.getElementsByTagName("div");
  for (var i=0; i < alltr.length; i++)
  {
    var node = alltr[i];
    var nid = node.id;
    gmreg.lastIndex=0;
    var gtotr = gmreg.exec(nid);
    if (gtotr != null)
    {
      var tn = new Object();
      header = "......";
      if (0 < node.childNodes.length) header = node.childNodes[0].data;
      tn.gangID = parseInt(gtotr[1]);
      tn.mailID = parseInt(gtotr[2]);
      tn.header = header;
      tn.lastUserID = parseInt(gtotr[3]);
      //alert (header);
      grpMails.push(tn);
    }
  }

  // Zählen der Mails pro Gruppe
  for (var i=0; i<gangCount.length; i++)
  {
    for (var j=0; j<grpMails.length; j++)
    {
      if (grpMails[j].gangID==gangCount[i].id)
      {
        gangCount[i].mailC++;
      }
    }
  }

  // Die Mails für die einzelnen Gangs anzeigen
  for (var j=0; j<gangCount.length; j++)
  {
    var gangID = gangCount[j].id;
    var grpMailStart = idf("grpMail-" + gangID);
    if (grpMailStart != undefined && grpMailStart != null)
    {
      if (2 < gangCount[j].c && gangCount[j].mailC < gangCount[j].c)
      {
        //alert (gangCount[j].id + " " + gangCount[j].c + " " + gangCount[j].mailC);
        //name=\"grp-header-$gangID\"
        //name=\"grp-content-$gangID\"
        var gmailsh = domFDiv(grpMailStart);
        gmailsh.id = "startGangMail" + gangID;
        gmailsh.style.textAlign = "left";
        gmailsh.style.padding = "2pt";
        domText ("Es können noch " + (gangCount[j].c - gangCount[j].mailC) + " Mails gestartet werden ", gmailsh);

        var dsn = domRef(domText("starten"),"JavaScript:startNewGrpMail("+gangID+")", gmailsh);
      }
      /*
      for (var k=0; k<grpMails.length; k++)
      {
        if (grpMails[k].gangID==gangID)
        {
          var gmails = domFDiv(grpMailStart);
          domText (grpMails[k].header + " ", gmails);
          var openText = "Mail öffnen";
          var openBold = "normal";
          if (grpMails[k].lastUserID != getUserID())
          {
            var grpmn = domText (" neu", gmails, 1);
            grpmn.style.color = "#800";
          }
          gmails.style.textAlign = "left";
          gmails.style.padding = "2pt";
          gmails.style.paddingBottom = "0pt";
          gmails.style.paddingLeft = "5pt";

          var gmails2 = domFDiv(grpMailStart);
          gmails2.style.textAlign = "left";
          gmails2.style.padding = "2pt";
          gmails2.style.paddingTop = "0pt";
          gmails2.style.paddingLeft = "9pt";
          var ds = domRef(domText(openText),"JavaScript:ownwindow(0,\"./mailgrpown.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&mailID=" + grpMails[k].mailID + "\", 0)", gmails2);
          ds.style.color = "#000";
          //ds.style.fontWeight = openBold;
              //ds.style.fontFamily = "Courier New";
        }
      }
      */
    }
  }

  // Gruppendaten lesen Teil 2
  // UserDaten
  // :> UserID - UserAge - UserSex - UserImage - UserImageTyp
  var gnm2 = idf("gnm2");
  var regn2=/gu-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)$/gi;
  if (gnm2 != undefined)
  {
    for (var i=0; i<gnm2.childNodes.length; i++)
    {
      regn2.lastIndex=0;
      var gto = regn2.exec(gnm2.childNodes[i].id);
      if (gto != null)
      {
        var tn = new Object();
        var userName = gnm2.childNodes[i].childNodes[0].data;
        var userID = parseInt(gto[1]);
        var userAge = parseInt(gto[2]);
        var userSex = parseInt(gto[3]);
        var userImage = parseInt(gto[4]);
        var userImageTyp = parseInt(gto[5]);
        tn.id = userID;
        tn.image = null;
        tn.name = userName;

           var tb = domTable(document.body, 0, 0);
           tb.style.display = "none";
           tb.style.border = "1pt solid black";
           tb.style.background = styleOfBackground(getGstyleb());
           var tb_name = tr(tb);
           // Bild des Users einblenden, falls vorhanden und unterschiedlich vom Sticker
           if (0 < userImage)
           {
              var imgAddr = "";
              if (userImageTyp == 0 || userImageTyp == 1) imgAddr = "./img/" + lpad(userImage,8)+"ss.jpg";
              if (userImageTyp == 2)
              {
                imgAddr = "./img/" + lpad(userImage,8)+".gif";
              }
              if (1 < imgAddr.length)
              {
                var td_img_u = td(tb_name, "tinytable");
                td_img_u.rowSpan = 2;
                var img_u = domImg(imgAddr, td_img_u);
                tn.image = img_u;
                td_img_u.style.paddingRight = "4pt";
              }
           }
           else
           {
             // Falls von dem User kein Image existiert ???
             tn.image = domImg("./hilfe/noImage.gif");
           }
           // Name
           var tr_name = td(tb_name, "tinytable");
           tr_name.colSpan = 2;
           tr_name.style.textAlign = "center";
           tr_name.style.backgroundColor = "#ccc";
           tr_name.style.padding = "4pt";
           tr_name.style.fontWeight= "bold";
           if (0 < userSex)
           {
             if (userSex == 1) sexsrc = "./sexw.gif";
             if (userSex == 2) sexsrc = "./sexm.gif";
             var nimg = domImg(sexsrc, tr_name, "fr");
             nimg.style.display = "inline";
             nimg.border = "0";
           }
           domText (userName,tr_name);
           // Alter
           var tb_age = tr(tb);
           var tb_age_l = td(tb_age, "tinytable");
           tb_age_l.style.textAlign = "right";
           tb_age_l.style.paddingRight = "4pt";
           var tb_age_r = td(tb_age, "tinytable");
           domText("Alter :",tb_age_l);
           domText(userAge,tb_age_r);

           /*
           var tb_ll = tr(tb);
           var tb_ll_l = td(tb_ll, "tinytable");
           tb_ll_l.style.textAlign = "right";
           tb_ll_l.style.paddingRight = "4pt";
           var tb_ll_r = td(tb_ll, "tinytable");
           domText("zuletzt online :",tb_ll_l);
           tb_ll_r.appendChild(mDate(st1.last_login, 11));
           */
           tn.profilCard = tb;
           gangMember.push(tn);
      }
    }
  }

  // Gruppendaten lesen Teil 3
  // Verbindungen (Mitglieder, die rein wollen oder raus...)
  // :> grp[mpwe]-gangID-userID-crossStatus
  // :> m = Anträge
  // :> p = Einladung
  // :> w = gestellte Anträge
  // :> e = Einladung zuschicken
  // :>> userName
  // :>> gruppenName
  var grpCross = Array();
  var regn3=/grp([mpwe])-(\w*)-(\w*)-(\w*)/gi;
  var alp = document.getElementsByTagName("div");
  for (var i=0; i < alp.length; i++)
  {
    var node = alp[i];
    regn3.lastIndex=0;
    var gto = regn3.exec(node.id);
    if (gto != null)
    {
      if (2 < node.childNodes.length)
      {
        var type = gto[1];
        var gangID = gto[2];
        var userID = gto[3];
        var crossStatus = gto[4];
        var tn = new Object();
        var newEntry = true;
        for (var j=0; j<grpCross.length; j++)
        {
          if (grpCross[j].type==type && grpCross[j].gangID==gangID && grpCross[j].userID==userID && grpCross[j].crossStatus==crossStatus) newEntry = false;
        }
        if (newEntry)
        {
          tn.userName = node.childNodes[0].data;
          tn.groupName = node.childNodes[2].data;
          tn.type = type;
          tn.gangID = gangID;
          tn.userID = userID;
          tn.crossStatus = crossStatus;
          
  		  jscmdWrite("Eintrag: Gruppe(" + tn.groupName + "), User(" + tn.userName + "), Type=" + tn.type + ", cross=" + tn.crossStatus, 10, 2);
          grpCross.push(tn);
        }
      }
    }
  }

  for (var i=0; i < grpCross.length; i++)
  {
    var regularGroup = true;
    var target_id = "gng" + grpCross[i].type + "-" + grpCross[i].gangID;
    var group_target = idf(target_id);
    if (group_target == undefined || group_target == null)
    {
      target_id = "gng" + grpCross[i].type + "-0";
      group_target = idf(target_id);
      regularGroup = false;
    }

    var crossStat = grpCross[i].crossStatus;
    jscmdWrite("Zuordnung: Gruppe (" + grpCross[i].groupName + "), User(" + grpCross[i].userName + "), Type=" + grpCross[i].type + ", cross=" + crossStat, 10, 2);
  
    //alert (target_id + " "  + grpCross[i].gangID);
    if (group_target != undefined && group_target != null)
    {
      if (group_target.childNodes.length == 0)
      {
        // Überschrift erstellen
        var subH = "";
        if (grpCross[i].type == "m") subH = "Anträge";
        if (grpCross[i].type == "p") subH = "Einladungen";
        if (grpCross[i].type == "w") subH = "gestellte Anträge";
        if (grpCross[i].type == "e") subH = "Einladungen zugeschickt";
        var subHc = domText(subH,group_target,1);
      
      }
      
      // In der Übersicht anzeigen, daß Entscheidungen anstehen
      //  Das ist der Fall, wenn keine Einladung (not 'e')
      //  und offene Entscheidung (crossStatus 0)
      var hasNews = idf("grp_ButtonOnNews_" + grpCross[i].gangID);
        
      //jscmdWrite("grpCross[i].news " + grpCross[i].news, 10, 3);
      //jscmdWrite("hasNews " + hasNews, 10, 3);
      //jscmdWrite("grpCross[i].type " + grpCross[i].type, 10, 3);
      //jscmdWrite("grpCross[i].crossStatus " + grpCross[i].crossStatus, 10, 3);
 
      if (grpCross[i].news == undefined && hasNews == null && grpCross[i].type != "e" && grpCross[i].crossStatus == 0)
      {
        var onButton = idf("grp_ButtonNews_" + grpCross[i].gangID);

        if (onButton != null)
        {
          grpCross[i].news = domDiv(domText(" news"), onButton);
          grpCross[i].news.id = "grp_ButtonOnNews_" + grpCross[i].gangID;
        }
      }
      
      var cKon = domFDiv(group_target);
      cKon.style.padding = "1pt";
      cKon.style.paddingLeft = "10pt";
      cKon.style.whiteSpace = "noWrap";
      if (crossStat==0 && grpCross[i].type != "e") {
        cKon.style.fontWeight = "bold";
        cKon.style.background = "#fff";
      }

      var confimationText = "aufnehmen";
      var declineText = "ablehnen";
      var confirmAction = "confirm";

      if (regularGroup)
      {
        //domText(grpCross[i].userName + " ",cKon);
        //var conProfil = domRef(domText("Profil"), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + grpCross[i].userID, cKon);
        var conProfil = domRef(domText(grpCross[i].userName), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + grpCross[i].userID, cKon);
        conProfil.style.color = "#000";
        domText(" ",cKon);
        if (grpCross[i].type == "p")
        {
          confimationText = "einladen";
          declineText = "ausladen";
          confirmAction = "support";
        }
      }
      else
      {
        if (grpCross[i].type == "p")
        {
          confimationText = "einladen";
          declineText = "ausladen";
          confirmAction = "support";
        }
        if (grpCross[i].type == "w")
        {
          confimationText = "aufnehmen";
          declineText = "ablehnen";
        }
        domText(grpCross[i].groupName + " ",cKon);
      }

      //domText(crossStat + "," + grpCross[i].type + " ",cKon);

      //domText(" " + crossStat,cKon);
      //domText("./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&userA=" + grpCross[i].userID, cKon);

      // Auswahl (e ist Bestätigung der Einladung, sie kann nicht zurückgenommen werden)
      //  cross-Beziehung
      //   0 = keine Entscheidung / Enthaltung
      //   1 = Einladung unterstützen
      //   2 = Aufnahme unterstützen
      //   3 = Ablehnen
      if (grpCross[i].type != "e")
      {
        // Erste Auswahl
        var conFirstChoice;
        domText(" (",cKon);
        if (crossStat==3) conFirstChoice = domRef(domText(confimationText), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&what=support&userA=" + grpCross[i].userID, cKon);
        if (crossStat==0) conFirstChoice = domRef(domText(confimationText), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&what=" + confirmAction + "&userA=" + grpCross[i].userID, cKon);
        if (crossStat==1 || crossStat==2) conFirstChoice = domRef(domText(declineText), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&what=decline&userA=" + grpCross[i].userID, cKon);
        conFirstChoice.style.color = "#000";
        domText(")",cKon);

        // Zweite Auswahl
        if (regularGroup)
        {
          var conSecondChoice;
          domText(" (",cKon);
          if (crossStat==0) conSecondChoice = domRef(domText("ablehnen"), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&what=decline&userA=" + grpCross[i].userID, cKon);
          if (crossStat==1 || crossStat==2 || crossStat==3) conSecondChoice = domRef(domText("enthalten"), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&gang=" + grpCross[i].gangID + "&what=abstain&userA=" + grpCross[i].userID, cKon);
          conSecondChoice.style.color = "#000";
          domText(")",cKon);
        }
      } // von Auswahl
    }
    else
    {
      //alert ("group crosscon undefined: " + target_id + " " + idf(target_id));
    }
  }

  jscmdWrite("ProfilInit, Feld für die Gruppendaten gelesen", 0, 1);

  //gb_start(userTo);
  //jscmdWrite("Neues Gästebuch", 0, 1);

  // Eieruhr ausblenden
  var prPWork = idf("prPWork");
  prPWork.style.display = "none";

  jscmdWrite("ProfilInit Ende", 0, 0);

  window.setTimeout("setGangImages()",100);
}


function getIndexOfGBook(id)
{
  var erg = -1;
  for (var i=0; i<gbook.length; i++)
  {
    if (gbook[i].id == id) erg=i;
  }
  if (erg == -1)
  {
    var tn = new Object();
    tn.id = id;
    gbook.push(tn);
    erg = gbook.length - 1;
  }
  return erg;
}

var doSmilies = true;
function showProfilTextArea()
{
  showOnD("profilButtonPreview");
  showOffD("profilButtonChange");
  showOffD("profilDescr");
  showOnD("profilTextArea");
  showOnD("profilChangeSubmit");
  showOnD("profilButtonCommand");

  if (doSmilies)
  {
    var a = idf("profilTextAreaCP");
    var at = idn("np");
    if (a != undefined && at != undefined)
    {
      var as = smiliePanel(at);
      a.appendChild(as);
      var ap = form1Panel(at, 0);
      a.appendChild(ap);
    }
    doSmilies = false;
  }
}

function showProfilPreview()
{
  var profilText = idf("profilDescr");
  var profilTextArea = idn("np");
  if (profilText != undefined && profilText != null && profilTextArea != undefined && profilTextArea != null)
  {
    removeAllChildren(profilText);
    domText(addMCodes(profilTextArea.value),profilText);
    node2HTML(profilText, 550, 0);
  }

  showOffD("profilButtonPreview");
  showOnD("profilButtonChange");
  showOffD("profilTextArea");
  showOnD("profilDescr");
  showOffD("profilButtonCommand");
}

function sizeProfilTextArea(mode)
{
  var at = idn("np");
  if (at != undefined && at != null)
  {
    if (mode == 1)
    {
      at.cols = 25;
      at.style.fontSize = "10pt";
    }
    if (mode == 2)
    {
      at.cols = 55;
      at.style.fontSize = "12pt";
    }
  }
}

/*
  Gästebuch
*/

var gbStart_Flag = false;
var gbIFrame = null;
function gb_start(userToB)
{
  // Die Abfrage nach dem Gästebuch wird gestartet
  // Sobald der iFrame geladen wurde, startet dort
  // der Script für das Verwerten der Infos
  if (!gbStart_Flag)
  {
    var ownID = getUserID();
    var location = getServerFromLoc() + "/gb/gb" + lpad(userToB,8) + ".html";
    gbIFrame = domIFrame(location,1);
    gbStart_Flag = true;
  }

  jscmdWrite("Reading GB " + location, 0, 1);
  //alert (location);
}

function gb_reload()
{

  gb_content = Array();
  gb_user = Array();
  var gbtarget = idf("gbtarget");
  if (gbtarget != undefined)
  {
    removeAllChildren(gbtarget);
  }

  if (gbIFrame != null)
  {
    domIFrameReload(gbIFrame);
  }
}

function gb_init()
{
  // Das Auswerten der Daten im iFrame
  // Zwei Basistypen werden eingelesen - Einträge und User-Infos
  // Die Infos stehen in der Funktion updateGBEntry in info.php
  var regb=/gb(.)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)/gi;
  var tdoc = getTopWindow();
  var alp = document.getElementsByTagName("div");
  for (var i=0; i < alp.length; i++)
  {
    var node = alp[i];
    var nid = node.id;
    regb.lastIndex=0;
    var gto = regb.exec(nid);
    if (gto != null)
    {
      if (node.firstChild != null) content = node.firstChild.data;
      if (gto[1]=="c")
      {
        tdoc.gb_entry_content(gto[2],gto[3],gto[4],gto[5],content);
      }
      if (gto[1]=="u")
      {
        tdoc.gb_entry_user(gto[2],content);
      }
    }
  }
  tdoc.gb_make();
}

function gb_entry_content(gb_id, gb_userTo, gb_userFrom, gb_posted, gb_cont)
{
  var tn = new Object();
  //alert ("con: " + gb_id + " " + gb_userTo + " " + gb_userFrom + " " + gb_posted);
  tn.id = gb_id;
  tn.userTo = parseInt(gb_userTo);
  tn.userFrom = parseInt(gb_userFrom);
  tn.posted = parseInt(gb_posted);
  tn.content = gb_cont;
  tn.name = "???";
  gb_content.push(tn);
  return;
}

function gb_entry_user(gb_userID, gb_name)
{
  var tn = new Object();
  tn.userID = parseInt(gb_userID);
  tn.name = gb_name;
  gb_user.push(tn);
  return;
}

function gb_make()
{
  jscmdWrite("Making GB Start", 0, 1);
  // User-Daten ergänzen
  for (var i = 0; i < gb_content.length; i++)
  {
    for (var j = 0; j < gb_user.length; j++)
    {
      //alert (gb_content[i].userFrom + " " + gb_user[j].userID);
      if (gb_content[i].userFrom == gb_user[j].userID)
      {
        gb_content[i].name = gb_user[j].name;
      }
    }
    //alert (gb_content[i].name + ": " + gb_content[i].content);
  }


  var ownID = getUserID();

  // Gästebuch aufbauen...
  sortGB2();

  var gbtarget = idf("gbtarget");
  if (gbtarget != undefined && 0 < gb_content.length)
  {
    for (var i=0; i < gb_content.length; i++)
    {
      var gbframe = domFDiv(gbtarget);
      gbframe.style.border = "1pt solid black";
      gbframe.style.width = "545px";
      gbframe.style.overflow = "hidden";
      gbframe.style.margin = "1pt";
      gbframe.style.marginBottom = "8pt";
      gbframe.style.marginLeft = "20pt";
      gbframe.style.padding = "2pt";

      var gbHeader = domFDiv(gbframe);
      gbHeader.style.borderBottom = "1px dashed black";
      gbHeader.style.marginBottom = "5pt";

      var gbname = domFDiv(gbHeader,"fl");
      var gbProfil = domRef(domText(gb_content[i].name), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + gb_content[i].userFrom, gbname);
      gbProfil.style.color = "#000000";
      gbProfil.style.textDecoration = "none";
      gbProfil.style.fontWeight = "bold";
      eventLink(gbProfil,3);

      var gbdate = domDiv(domText(mDate(gb_content[i].posted,15)),gbHeader,"fr");
      domClearRule(gbHeader);

      var gbContent = domFDiv(gbframe);
      //alert(gbook[i].content);
      domText(gb_content[i].content, gbContent);
      node2HTML(gbContent, 540, 0);

      if (gb_content[i].userTo == ownID)
      {
        domClearRule(gbframe);
        var gbfooter = domFDiv(gbframe);
        domCheckboxName(1, "gb-kill-" + gb_content[i].id, gbfooter, false, "fr");
        var gbfootert = domDiv(domText("Eintrag löschen"), gbfooter, "fr");
        gbfootert.style.paddingTop = "2pt";
      }

      //domBreak(gbtarget);
      //domText (gbook[i].content, gbframe);
    }
  }

  // Das Textfeld für das Gästebuch anzeigen
  if (userTo != ownID && 0 < ownID)
  {
    var gbai = idf("gbai");
    if (gbai != undefined) gbai.style.display = "";
    var bg = 0;
    alpta = document.getElementsByTagName("textarea");
    for (var i=0; i < alpta.length; i++)
    {
      if (alpta[i].name == "gbookta")
      {
        //alpta[i].style.display = "";
        var content = "";
        for (var j=0; j < gb_content.length; j++)
        {
          if (gb_content[j].userFrom == ownID)
          {
            content = gb_content[j].content;
            //bg = gb_content[j].background;
          }
        }
        alpta[i].value = stripMCodes(content);
      }
    }

    var gbAddControl = idf ("gbAddControl");
    if (gbAddControl != undefined && 1==ownID)
    {
      removeAllChildren(gbAddControl);
      gbAddControl.style.border = "0pt solid red";
      var gbsel = domSelectNameValue(Array("kein Hintergrund","grau-blauer Hintergrund","rosa Hintergrund","grüner Hintergrund"), Array(0,1,2,3), bg, "gbBackground", gbAddControl);
      gbsel.style.background = styleOfBackground(getGstylefb());
    }
  }

  // spezifische Felder für Mitglieder eintragen
  if (0 < ownID)
  {
    var gbSubmit = idf("gbSubmit");
    var gbSubmitD = idf("gbSubmitD");
    var mailF = idf("mailF");
    if (gbSubmit != null)
    {
      gbSubmit.style.display = "";
      if (userTo == ownID)
      {
        var gbaiT = idf("gbaiT");
        gbSubmit.value = "löschen";
        if (gbaiT != undefined)
        {
          gbaiT.appendChild(gbSubmitD);
          gbaiT.style.display = "";
        }
      }
      else
      {
        gbSubmit.value = "eintragen";
        mailF.style.display = "";
      }
    }
  }
  // bbc-panel für gästebuch anzeigen
  var bbcPanel = idf("bbc");
  if (bbcPanel != null)
  {
    bbcPanel.style.display = "";
    bbctid = "gbookta";
  }

  var gbWork = idf("gbWork");
  if (gbWork != undefined && gbWork != null)
  {
    gbWork.style.position = "absolute";
    gbWork.style.left = "-2000px";
  }

  try
  {
    if (gbEntryChanged != undefined)
    {
      var gbReload = idf("gbReloadC");
      if (gbReload != undefined)
      {
        gbReload.style.display = "";
      }
    }
  }
  catch (e)
  {
  }

  jscmdWrite("Making GB Ende", 0, 1);
}

function domIFrame(location,mode)
{
 if (mode == undefined) mode = 0;
 var htmltag = getChildW(document, "HTML");
 var bodytag = getChildW(htmltag, "BODY");
 var isf = document.createElement("iframe");
 isf.width = 800;
 isf.height = 400;
 //if (getUserID() != 1)
 if (mode == 1 && getUserID()!=1)
 {
   isf.style.position = "absolute";
   isf.style.left = "-2000px";
 }
 isf.style.fontSize = "8pt";
 bodytag.appendChild(isf);
 idoc = (isf.location!=undefined&&isf.location!=null)?isf:isf.contentWindow;
 //alert (isf + " " + isf.location + " " + isf.contentWindow + " " + isf.src + " " + idoc);
 if (idoc != null) idoc.location = location;
 else isf.src = location;
 //showObject(idoc);
 //showObject(isf);
 return isf;
}

function domIFrameReload(isf)
{
 idoc = (isf.location!=undefined&&isf.location!=null)?isf:isf.contentWindow;
 if (isf.location != undefined) isf.location.reload();
 else idoc.location.reload();
 return isf;
}


/*
  Die Gangs darstellen, sobald alle Images geladen sind.
  Eventuell werden in mehreren Gangs die gleichen Mitglieder sein,
  dann sollte immer nur ein Image geladen werden...
*/
function setGangImages()
{
  var erg = true;
  for (var i=0; i<gangMember.length; i++)
  {
    if (gangMember[i].image != undefined) erg = erg & gangMember[i].image.complete;
  }

  if (erg)
  {
    for (var i=0; i<gangs.length; i++)
    {
      var gangID = gangs[i].gangID;
      var memberID = gangs[i].userID;

      var target = idf("grpi-" + gangID);
      if (target != undefined)
      {
        for (var j=0; j<gangMember.length; j++)
        {
          //alert(gangMember[j].userID + " " + memberID);
          if (gangMember[j].id == memberID)
          {
            // gangMember[j].userName
            //domText (gangMember[j].name + ", ",target);
            var imj = domCopy(gangMember[j].image);
            addEvent(imj,"mouseover",gangProfilOn);
            addEvent(imj,"mouseout",gangProfilOff);
            addEvent(imj,"click",gangProfilOnClick);
            imj.id = "gimg-" + gangID + "-" + memberID;

            //var authorRef = domRef(imj, "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + memberID, target);
            target.appendChild(imj);
            imj.className = "fl";
            scaleImage(imj, 40);
          }
        }
      }
    }
  }
  else
  {
    window.setTimeout("setGangImages()",1000);
  }
}

var profilShown = null;
function gangProfilOn(e)
{
  var node = getEventTarget(e);
  re=/gimg\-(\w*)\-(\w*)/gi;
  re.lastIndex=0;
  var gto = re.exec(node.id);
  if (gto != null)
  {
    var gangID = parseInt (gto[1]);
    var memberID = parseInt (gto[2]);
    var flyer;

    for (var i=0; i<gangMember.length; i++)
    {
      if (gangMember[i].id == memberID)
      {
        flyer = gangMember[i].profilCard;
        //alert (flyer);
      }
    }
    if (flyer != undefined)
    {
      attach_flying_div (node, flyer, 3);
      profilShown = flyer;
    }
  }
}

function gangProfilOff(e)
{
 var target = getEventTarget(e);
 if (profilShown != null) profilShown.style.display = "none";
}


function gangProfilOnClick(e)
{
  var node = getEventTarget(e);
  re=/gimg\-(\w*)\-(\w*)/gi;
  re.lastIndex=0;
  var gto = re.exec(node.id);
  if (gto != null)
  {
    var gangID = parseInt (gto[1]);
    var memberID = parseInt (gto[2]);
    document.location = "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + memberID;
    /*
    for (var i=0; i<gangMember.length; i++)
    {
      if (gangMember[i].id == memberID)
      {
        //var authorRef = domRef(gangMember[i].name),"./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + memberID);
      }
    }
    */
  }
}

function gang_recall(gangID, userID)
{
  var node = idf("arec-" + gangID);
  var nodep = idf("arecT-" + gangID);
  if (node != undefined && nodep == undefined)
  {
    var pNode = node.parentNode;
    var flyer = domFDiv(pNode);
    flyer.id = "arecT-" + gangID;
    domBreak (flyer);
    domText ("Willst du den Antrag wirklich zurückziehen ?",flyer);
    domBreak (flyer);domBreak (flyer);
    var t1 = domRef(domText("Ja, ich habe will nicht mehr in diese Gruppe"), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userID + "&what=recall&gang=" + gangID, flyer);
    domBreak (flyer);domBreak (flyer);
    var t2 = domRef(domText("Nein, der Antrag bleibt bestehen"), "JavaScript:gang_recall_no("+gangID+","+userID+")" , flyer);
    t1.style.color = "#000";
    t2.style.color = "#000";
  }
}

function gang_recall_no(gangID, userID)
{
  var node = idf("arecT-" + gangID);
  if (node != undefined)
  {
    node.id="";
    node.style.display = "none";
  }
}

function gang_quit(gangID, userID)
{
  var node = idf("brec-" + gangID);
  var nodep = idf("brecT-" + gangID);
  if (node != undefined && nodep == undefined)
  {
    var pNode = node.parentNode;
    var flyer = domFDiv(pNode);
    flyer.id = "brecT-" + gangID;
    domBreak (flyer);
    domText ("Willst du die Gruppe wirklich verlassen ?",flyer);
    domBreak (flyer);domBreak (flyer);
    var t1 = domRef(domText("Ja, ich habe will nicht mehr in diese Gruppe sein"), "./profil.php?userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userID + "&what=quit&gang=" + gangID, flyer);
    domBreak (flyer);domBreak (flyer);
    var t2 = domRef(domText("Nein, ich will die Gruppe nicht verlassen"), "JavaScript:gang_quit_no("+gangID+","+userID+")" , flyer);
    t1.style.color = "#000";
    t2.style.color = "#000";
  }
}

function gang_quit_no(gangID, userID)
{
  var node = idf("brecT-" + gangID);
  if (node != undefined)
  {
    node.id="";
    node.style.display = "none";
  }
}

/*
  Erzeugen des Thumbs für das Profil-Image
  Diese Function wird zweimal aufgerufen:
    einmal für die Profilbilder und einmal für die Galeriebilder
*/
function profilImageThumb(target, typ, picid, url)
{
 var frm1 = domFDiv(target,"fl");
 frm1.id = "Button-img" + typ + "-" + picid;
 frm1.style.height = "44px";
 frm1.style.width = "44px";
 frm1.style.borderTop = "2px solid #aaa";
 frm1.style.borderBottom = "2px solid #222";
 frm1.style.borderLeft = "2px solid #888";
 frm1.style.borderRight = "2px solid #444";
 frm1.style.marginRight = "2px";
 frm1.style.marginBottom = "2px";
 //addEvent(frm1,"load",imgReduce80);
 var dr = domImg(url, frm1);
 dr.id = "profilImg" + typ + "-" + picid;
 addEvent(dr,"load",imgReduce80Event);
 if (dr.complete) imgReduce80(dr);
 return frm1;
}

function sortGB()
{
  // Quicksort start
  if (1 < gbook.length) quicksortGB(0,gbook.length-1);
}

function quicksortGB(start,stop)
{
  if (1 < stop-start)
  {
    var pivot = Math.floor((stop+start) / 2);
    var pivotElement = gbook[pivot];
    var t1 = start;
    var t2 = stop;
    var b = true;
    while (t1<=t2)
    {
      while (gbVrgl(gbook[t1],pivotElement)) t1++;
      while (gbVrgl(pivotElement,gbook[t2])) t2--;

      if (t1 <= t2)
      {
          var h = gbook[t1];
          gbook[t1] = gbook[t2];
          gbook[t2] = h;
          t1++;
          t2--;
      }
    }

    if (start < t2) quicksortGB(start,t2);
    if (t1 < stop) quicksortGB(t1,stop);
  }
  else
  {
    // Austausch der letzten beiden Elemente
    if (gbVrgl(gbook[stop],gbook[start]))
    {
      var h = gbook[stop];
      gbook[stop] = gbook[start];
      gbook[start] = h;
    }
  }
}


function gbVrgl(e1,e2)
{
  var erg = false;
  if (e1.posted < e2.posted) erg = true;
  return erg
}


function sortGB2()
{
  // Quicksort start
  if (1 < gb_content.length) quicksortGB2(0,gb_content.length-1);
}

function quicksortGB2(start,stop)
{
  if (1 < stop-start)
  {
    var pivot = Math.floor((stop+start) / 2);
    var pivotElement = gb_content[pivot];
    var t1 = start;
    var t2 = stop;
    var b = true;
    while (t1<=t2)
    {
      while (gb2Vrgl(gb_content[t1],pivotElement)) t1++;
      while (gb2Vrgl(pivotElement,gb_content[t2])) t2--;

      if (t1 <= t2)
      {
          var h = gb_content[t1];
          gb_content[t1] = gb_content[t2];
          gb_content[t2] = h;
          t1++;
          t2--;
      }
    }

    if (start < t2) quicksortGB2(start,t2);
    if (t1 < stop) quicksortGB2(t1,stop);
  }
  else
  {
    // Austausch der letzten beiden Elemente
    if (gb2Vrgl(gb_content[stop],gb_content[start]))
    {
      var h = gb_content[stop];
      gb_content[stop] = gb_content[start];
      gb_content[start] = h;
    }
  }
}


function gb2Vrgl(e1,e2)
{
  var erg = false;
  if (e1.posted < e2.posted) erg = true;
  return erg
}

/*
  Reduktion der Images im Profil auf Breite...
*/
function imgReduce80Event(e)
{
 var target = getEventTarget(e)
 //alert (target + " " + target.id + " " + e.currentTarget);
 imgReduce80(target);
}

function imgReduce80(a)
{
 var bndary = 40;
 var gExp=/profilImg([P|G])-(.*)/gi;
 gExp.lastIndex=0;
 var iid = gExp.exec(a.id);
 if (iid != null)
 {
   jscmdWrite("reduce profilImage: " + a.id + " " + iid[1] + " " + iid[2], 0);
   //alert (a + " " + a.id + " " + iid[1] + " " + iid[2]);
   var b = idf("Button-img" + iid[1] + "-" + iid[2]);
   if (b != undefined)
   {
     //alert (a + " " + a.id + " " + iid[1] + " " + iid[2]);
     var bCol = styleOfBackground(getGstylebu());
     b.style.background = bCol;
     addEvent(b,"mouseover",ButtonBEnter);
     addEvent(b,"mouseout",ButtonBLeave);
     addEvent(b,"click",profilImageBig);
     // Spezialfall suchen Profilhauptbild
     if (iid[1] == "P")
     {
     }
   }
 }

 if (a.style != undefined)
 {
   var img_w = a.width;
   var img_h = a.height;
   var max = (img_w<img_h)?img_h:img_w;
   if (bndary < max)
   {
     var redc = bndary / max;
     img_w *= redc;
     img_h *= redc;
     a.style.width = img_w;
     a.style.height = img_h;
   }
   var marg_v = (bndary - img_h) / 2;
   var marg_h = (bndary - img_w) / 2;
   a.style.marginLeft = marg_h+"px";
   a.style.marginRight = marg_h+"px";
   a.style.marginTop = marg_v+"px";
   a.style.marginBottom = marg_v+"px";
 }
}

function imgReduce200Event(e)
{
 var a = getEventTarget(e);
 imgReduce200(a);
}

// Das Image wird über den umfassenden Knoten mit dem Start (Button...) verwaltet
// In der ID des Knoten steht die Image-Nummer

function imgReduce200(a)
{
 var bndary = 200;
 var exceed = 20;
 a = getParentStartingWith(a, "Button");
 if (a != undefined)
 {
   //alert ("340:" + a + " " + a.id);
   var gExp=/Button-ImgBig([P|G])-(.*)/gi;
   gExp.lastIndex=0;
   var iid = gExp.exec(a.id);
   if (iid != null)
   {
     //alert ("346:" + a.id + " " + iid[1] + " " + iid[2]);
     var aimg = idf("profilImgBig" + iid[1] + "-" + iid[2]);
     var b = idf("Button-imgBig" + iid[1] + "-" + iid[2]);
     if (b != undefined  && aimg != undefined)
     {
       var bCol = styleOfBackground(getGstylebu());
       b.style.background = bCol;
       addEvent(b,"mouseover",ButtonBEnter);
       addEvent(b,"mouseout",ButtonBLeave);
       addEvent(b,"click",imageMainEvent);

       var img_w = aimg.width;
       var img_h = aimg.height;
       var max = (img_w<img_h)?img_h:img_w;
       if (bndary < max)
       {
         var redc = bndary / max;
         img_w *= redc;
         img_h *= redc;
         aimg.style.width = img_w;
         aimg.style.height = img_h;
       }
       var marg_v = ((bndary + exceed) - img_h) / 2;
       var marg_h = ((bndary + exceed) - img_w) / 2;
       b.style.paddingLeft = marg_h+"px";
       b.style.paddingRight = marg_h+"px";
       b.style.paddingTop = marg_v+"px";
       b.style.paddingBottom = marg_v+"px";
     }
   }
 }
}

/*
   Das Profilbild in groß anzeigen
*/
function profilImageBig(e)
{
 var a = getEventTarget(e);
 a = getParentStartingWith(a, "Button");

 var gExp=/Button-Img([PG])-(.*)/gi;
 gExp.lastIndex=0;
 var iid = gExp.exec(a.id);
 if (iid != null)
 {
   setImageMain(iid[1],iid[2]);
 }
}

function setImageMain(typ, id)
{
  var getImgFrom = null;
  if (typ == "P") getImgFrom = allPics;
  if (typ == "G") getImgFrom = allGalPics;
  if (getImgFrom != null)
  {
    for (var i=0; i < getImgFrom.length; i++)
    {
      if (getImgFrom[i].id == id)
      {
        var pic = getImgFrom[i];
        var bigitarget = idf("bigImgTarget");
        var picExists = true;
        if (pic.node == null)
        {
          picExists = false;
          var frm1 = domFDiv();
          frm1.id = "Button-imgBig" + typ + "-" + pic.id;
          //frm1.style.height = "84px";
          //frm1.style.width = "84px";
          frm1.style.borderTop = "2px solid #aaa";
          frm1.style.borderBottom = "2px solid #222";
          frm1.style.borderLeft = "2px solid #888";
          frm1.style.borderRight = "2px solid #444";
          frm1.style.marginRight = "2px";
          frm1.style.marginBottom = "2px";
          //addEvent(frm1,"load",imgReduce80);
          var adr;
          if (typ == "P") adr = pic.imgAddrMedium;
          if (typ == "G") adr = pic.url;
          var dr = domImg(adr, frm1);
          dr.id = "profilImgBig" + typ + "-" + pic.id;
          addEvent(dr,"load",imgReduce200Event);
          /* Text */
          if (0 < pic.comment.length)
          {
            var comnt = domDiv(domText(pic.comment),frm1);
          }
          pic.node = frm1;
        }
        if (bigitarget != undefined)
        {
          removeAllChildren(bigitarget);
          var tPic = domCopy(pic.node);
          bigitarget.appendChild(tPic);
          imgReduce200(tPic);
        }
      }
    }
  }
}

function imageMainEvent(e)
{
 var a = getEventTarget(e);
 a = getParentStartingWith(a, "Button");

 var gExp=/Button-imgBig([PG])-(.*)/gi;
 gExp.lastIndex=0;
 var iid = gExp.exec(a.id);
 if (iid != null)
 {
   if (iid[1] == "P" && 0 < getUserID())
   {
     // Mail schreiben
     var nref = "./frame.php?action=bigImage&userID=" + getUserID() + "&sessionID=" + getSessionID() + "&gstyle=" + getGstyle() + "&userTo=" + userTo + "&picture=" + iid[2];
     //alert (nref);
     location.href = nref;
     //"./frame.php?action=bigImage&userID=&sessionID=&gstyle=&userTo=$userTo&picture=$imageID";
   }
   //alert(iid[1] + " " + iid[2]);
 }

}

function testGangName(e)
{
  var textField = idn("gangname");
  var gangNameP = idf ("gangNameOk");
  var gangNameM = idf ("gangNameFalse");
  var gExp=/([^a-zA-Z0-9äöüÄÜÖ\- ]+)/gi;
  if (textField != undefined)
  {
    var v = textField.value;
    gExp.lastIndex=0;
    var vo = gExp.exec(v);
    //alert (v, vo);
    if (vo != null)
    {
      var ill = vo[1];
      if (ill.charAt(0) == ' ') ill = "Leerzeichen";
      if (gangNameP != undefined) gangNameP.style.display = "none";
      if (gangNameM != undefined)
      {
        removeAllChildren(gangNameM);
        domText ("Der Name enthält ein unzulässiges Zeichen : ", gangNameM);
        domText (ill, gangNameM, 1);
        gangNameM.style.display = "";
      }
    }
    else
    {
      if (v.length < 10)
      {
        if (gangNameP != undefined) gangNameP.style.display = "none";
        if (gangNameM != undefined)
        {
          removeAllChildren(gangNameM);
          domText ("Der Name muß mindestens 10 Zeichen enthalten", gangNameM);
          gangNameM.style.display = "";
        }
      }
      else
      {
        if (gangNameP != undefined) gangNameP.style.display = "";
        if (gangNameM != undefined) gangNameM.style.display = "none";
      }
    }
  }
}

function startNewGrpMail(gangID)
{
  var strtM = idf("startGangMail" + gangID);
  if (strtM != null && strtM != undefined)
  {
    strtM.style.display = "none";
  }

  var form = idn("grpMail");
  var grpMail = idf("grpMail-" + gangID);
  if (grpMail != null && grpMail != undefined)
  {
    var warn = domDiv(domText("Kopfzeile oder Inhalt ist zu kurz"), grpMail);
    warn.style.textAlign = "center";
    warn.style.fontWeight = "bold";
    warn.style.color = "#900";
    warn.style.fontSize = "11pt";
    warn.id = "grpmailwarn" + gangID;
    var gm_head = domInputName("","grp-header-" + gangID, grpMail);
    gm_head.style.width = "190pt";
    gm_head.style.background = "#faa";
    gm_head.style.fontFamily = "Arial";
    domBreak(grpMail);
    addEvent(gm_head,"keyup",testGrpMail);
    //gm_head.form = form;
    var gm_text = domTextarea("",grpMail);
    gm_text.style.width = "190pt";
    gm_text.style.height = "80pt";
    gm_text.style.background = "#faa";
    gm_text.style.fontFamily = "Arial";
    gm_text.name = "grp-content-" + gangID;
    addEvent(gm_text,"keyup",testGrpMail);
    //gm_text.form = form;

    var sendGrpMails = idf("sendGrpMails");
    if (sendGrpMails != null && grpMail != sendGrpMails)
    {
      sendGrpMails.style.display = "";
    }

    //form.appendChild(gm_head);
    //form.appendChild(gm_text);

    //form.insertAdjacentElement(gm_text)
    //alert (form.elements[0] + " " + gm_text);
    //form.elements.push(gm_head);
    //form.elements.push(gm_text);
    //var test = idn("test-" + gangID);
    //showObject (form);
    //showObject (form.elements);
    //showObject (test);
  }
}

function testGrpMail(e)
{
  var node = getEventTarget(e);
  var gangID = 0;
  var re=/grp\-\w+\-(\d+)/gi;
  re.lastIndex=0;
  var gto = re.exec(node.name);
  if (gto != null) gangID = parseInt(gto[1]);

  var warn = false;
  var header = idn("grp-header-" + gangID);
  if (header != null && header != undefined)
  {
    if (header.value.length < 10)
    {
      header.style.background = "faa";
      warn = true;
    }
    else
    {
      header.style.background = styleOfBackground(getGstylefb());
    }
  }

  var content = idn("grp-content-" + gangID);
  if (content != null && content != undefined)
  {
    if (content.value.length < 10)
    {
      content.style.background = "faa";
      warn = true;
    }
    else
    {
      content.style.background = styleOfBackground(getGstylefb());
    }
  }

  var warnD = idf ("grpmailwarn"+gangID);
  if (warnD != null && warnD != undefined)
  {
    if (warn)
    {
      warnD.style.display = "";
    }
    else
    {
      warnD.style.display = "none";
    }
  }
}

function sendgrpmails()
{
 var form = idn("grpMail");
 if (form == null || form == undefined) alert ("Formular Gruppenmails nicht gefunden");
 else
 {
   var re=/grp\-\w+\-(\d+)/gi;
   var alpta = document.getElementsByTagName("textarea");
   for (var i=0; i < alpta.length; i++)
   {
     re.lastIndex=0;
     var gto = re.exec(alpta[i].name);
     if (gto != null)
     {
       form.appendChild(alpta[i]);
     }
   }

   var alpta = document.getElementsByTagName("input");
   for (var i=0; i < alpta.length; i++)
   {
     re.lastIndex=0;
     var gto = re.exec(alpta[i].name);
     if (gto != null)
     {
       form.appendChild(alpta[i]);
     }
   }
   /*
     var postElems = explode(tname,"&");
     for (var i = 0; i < postElems.length; i++)
     {
       var sui = document.createElement("input");
       form.appendChild(sui);
       sui.name = postElems[i];
       sui.value = 1;
     }
     //showObject (sui);
   */
  form.submit();
 }
}

function prLoadQ()
{
  var alqf1 = document.getElementById("prLoadQ1");
  var alqf2 = document.getElementById("prLoadQ2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prFragen&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prFragen");
  }
}

function prLoadM()
{
  var alqf1 = document.getElementById("prLoadM1");
  //var alqf2 = document.getElementById("prLoadQ2");
  alqf1.style.display = "none";
  //alqf2.style.display = "";
  getExtern("action=prMail");
}

function prLoadB()
{
  var alqf1 = document.getElementById("prLoadB1");
  var alqf2 = document.getElementById("prLoadB2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prGal&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prGal");
  }
}


function prLoadGa()
{
  var alqf1 = document.getElementById("prLoadGa1");
  var alqf2 = document.getElementById("prLoadGa2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prGame&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prGame");
  }
}


function prLoadlv()
{
  var alqf1 = document.getElementById("prLoadlv1");
  var alqf2 = document.getElementById("prLoadlv2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prLastVis&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prLastVis");
  }
}

function prLoadFr()
{
  var alqf1 = document.getElementById("prLoadFr1");
  var alqf2 = document.getElementById("prLoadFr2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prFriends&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prFriends");
  }
}

function prLoadgg()
{
  var alqf1 = document.getElementById("prLoadgg1");
  var alqf2 = document.getElementById("prLoadgg2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prGang&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prGang");
  }
}


function prLoadZen()
{
  var alqz1 = document.getElementById("prLoadZen1");
  var alqz2 = document.getElementById("prLoadZen2");
  alqz1.style.display = "none";
  alqz2.style.display = "";

  try
  {
    getExtern("action=prZen&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prZen");
  }
}

function prLoadst()
{
  var alqf1 = document.getElementById("prLoadst1");
  var alqf2 = document.getElementById("prLoadst2");
  alqf1.style.display = "none";
  alqf2.style.display = "";

  try
  {
    getExtern("action=prStatus&userTo=" + userTo);
  }
  catch(e)
  {
    getExtern("action=prStatus");
  }
}

function prQuestion()
{
  initPageStandart();

  // Namen einsetzen
  var alq = idf("pfFrg");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prQTarget");
  var alqf = tw.document.getElementById("prLoadQ2");


  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}

function prMail()
{
  // Namen einsetzen
  var mailTop = idf("mailTop");
  if (mailTop != undefined) domText("Mail an " + sname, mailTop);

  // fertigen Knoten transferieren
  initPageStandart();
  var alq = idf("pfMail");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prMTarget");
  //var alqf = tw.document.getElementById("prLoadQ2");

  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  //if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  //alqf.style.display = "none";

  // Namen in das Topfeld einsetzen
  var rem=/mail\-head\-(.*)/gi;
  alp = tw.document.getElementsByTagName("input");
  for (var i=0; i < alp.length; i++)
  {
    var node = alp[i];
    var nname = node.name;
    rem.lastIndex=0;
    var gtom = rem.exec(nname);
    if (gtom != null)
    {
      node.value = "Hallo " + sname;
      //node.style.display = "inline";
      //node.style.background = "#fff";
    }
  }
}


function prGalLoad()
{
  initPageStandart();
  // Namen einsetzen
  var alq = idf("ownGalerie");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prBTarget");
  var alqf = tw.document.getElementById("prLoadB2");


  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";

  tw.galerieSetup();
}


function prGameLoad()
{

  initPageStandart();

  // Namen einsetzen
  var alq = idf("ownGame");
  var tw = getTopWindow();
  var copy = true;

  if (tw == undefined) copy = false;
  var alqt = undefined;
  var alqf = undefined;
  var alqfp = undefined;

  if (copy)
  {
    alqt = tw.document.getElementById("prGaTarget");
    alqf = tw.document.getElementById("prLoadGa2");
    alqfp = tw.document.getElementById("prLoadGa3");

    if (alq == undefined)
    {
      //alert ("Arbeitsknoten nicht gefunden");
      copy = false;
    }
    if (alqt == undefined)
    {
      //alert ("Zielknoten nicht gefunden");
      copy = false;
    }
    if (alqf != undefined) alqf.style.display = "none";
    if (alqfp != undefined) alqfp.style.display = "none";
  }

  if (copy)
  {
    var tNode = importElement(alq, tw.document);
    if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
    alqt.appendChild(tNode);
  }
}


function prFriends()
{
  initPageStandart();

  // Namen einsetzen
  var alq = idf("pfFr");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prFrTarget");
  var alqf = tw.document.getElementById("prLoadFr2");


  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}

function prLastVis()
{
  initPageStandart();

  // Namen einsetzen
  var alq = idf("pflv");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prlvTarget");
  var alqf = tw.document.getElementById("prLoadlv2");


  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}

function prGang()
{
  initPageStandart();

  // Namen einsetzen
  var alq = idf("pfgg");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("gaggTarget");
  var alqf = tw.document.getElementById("prLoadgg2");


  if (alq == undefined) alert ("Knoten mit den Fragen nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}


function prZen()
{
  initPageStandart();

  var alq = idf("pfzen");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("prZenTarget");
  var alqf = tw.document.getElementById("prLoadZen2");

  if (alq == undefined) alert ("Knoten mit den Infos nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}

function prStatus()
{
  initPageStandart();

  // Namen einsetzen
  var alq = idf("pfst");
  var tw = getTopWindow();

  var alqt = tw.document.getElementById("stTarget");
  var alqf = tw.document.getElementById("prLoadst2");

  if (alq == undefined) alert ("Knoten mit den Status nicht gefunden");
  if (alqt == undefined) alert ("Zielknoten nicht gefunden");
  if (alqf == undefined) alert ("Link zum nachladen nicht gefunden");

  var tNode = importElement(alq, tw.document);
  if (tNode == undefined) alert ("Bereich kopieren fehlgeschlagen");
  alqt.appendChild(tNode);
  alqf.style.display = "none";
}
