function quell_text(id,text) {
  if (id == "" || id == undefined) {id="quelltext";}
  if (text == "" || text == undefined) {text="Individuelle Quellenliste";}
  while(document.getElementById(id).hasChildNodes()) {
    child = document.getElementById(id).firstChild;
    document.getElementById(id).removeChild(child);
  }
  var Textknoten = document.createTextNode(text);
  document.getElementById(id).appendChild(Textknoten);
}

function select_default(id) {
  var i;
  var merk=-1;
  if ((id == undefined) || (id=="")) { id="default"; }
  for (i = 0; i < document.GBI.elements.length; ++i) {
    if ((document.GBI.elements[i].name == 'DBN') && (document.GBI.elements[i].getAttribute('id')==id)) {
      merk=i;
    }
  }
  // indi. Auswahl unchecked 
  if (merk>-1) {
    for (i = 0; i < document.GBI.elements.length; ++i) {
      if ((document.GBI.elements[i].name == 'DBN') && (document.GBI.elements[i].value == '_') && (document.GBI.elements[i].checked == true)) { 
        document.forms.GBI.elements[i].checked = false;
      }
    }
    document.forms.GBI.elements[merk].checked = true;
  }
}

function neue_seite(url,bereich,kenner) {
  var parameter = "";
  var ziel = "";
  var variable = "";
  /* Werte aus "bereich" auslesen und an URL haengen */
  var dbn_indi = document.getElementById(bereich).childNodes;
  var anzahl=dbn_indi.length;
  variable = "PRS_DBN_INDI_" + kenner;
  if (anzahl > 0) {
    while(anzahl-->0) {
      parameter = parameter + variable + '=' + dbn_indi[anzahl].getAttribute('id');
      if (anzahl != 0) parameter = parameter + '&';
    }
  } else { // PRS_Variable loeschen
    parameter = parameter + variable + '=';
  }
  if (url.match(/\?/)) {
    ziel = url + '&' + parameter;
  } else {
    ziel = url + '?' + parameter;
  }
  window.location.href=ziel;
}

function neue_seite_mit_ipv(url,bereich,kenner,ipvbereich) {
  var parameter = "";
  var ziel = "";
  var variable = "";
  var liste = "";
  /* Werte aus "bereich" auslesen und an URL haengen */
  var dbn_indi = document.getElementById(bereich).childNodes;
  var anzahl=dbn_indi.length;
  variable = "PRS_DBN_INDI_" + kenner;
  liste = "PRS_DBN_INDI_LISTE_" + kenner;
  if (anzahl > 0) {
    while(anzahl-->0) {
      parameter = parameter + variable + '=' + dbn_indi[anzahl].getAttribute('id');
      parameter = parameter + '&';
    }
  } else { // PRS_Variable loeschen
    parameter = parameter + variable + '=&' + liste + '=&';
  }
  /* Werte aus "ipvbereich" auslesen und an URL haengen */
  var ipvwerte = document.getElementById(ipvbereich);
  var input = ipvwerte.getElementsByTagName("input");
  var select = ipvwerte.getElementsByTagName("select");
  anzahl=input.length;
  if (anzahl > 0) {
    while(anzahl-->0) {
      if ((input[anzahl].value != "") && ((input[anzahl].type=="text") || (input[anzahl].type=="hidden"))) {
        parameter = parameter + input[anzahl].name + '=' + input[anzahl].value + '&';
      }
    }
  }
  anzahl=select.length;
  if (anzahl > 0) {
    while(anzahl-->0) {
      parameter = parameter + select[anzahl].name + '=' + select[anzahl].value + '&';
    }
  }

  if (url.match(/\?/)) {
    ziel = url + '&' + parameter;
  } else {
    ziel = url + '?' + parameter;
  }
  window.location.href=ziel;
}

function CheckInput (bereich,kenner) {
  var merk = 0;
  var vergleich = "";
  for (i = 0; i < document.GBI.elements.length; ++i) {
    if ((document.GBI.elements[i].name == 'DBN') && (document.GBI.elements[i].value == '_') && (document.GBI.elements[i].checked == true)) {
      merk = i;
      i = document.GBI.elements.length;
    }
  }
  if (merk > 0) {
    vergleich = "PRS_DBN_INDI_" + kenner;
    document.GBI.elements[merk].value = "";
    for (i = 0; i < document.GBI.elements.length; ++i) {
      if (document.GBI.elements[i].type == 'hidden' && document.GBI.elements[i].name == vergleich) {
        var my_input=document.createElement('input');
        my_input.type = 'hidden';
        my_input.value = document.GBI.elements[i].value;
        my_input.name = "DBN";
        var Ausgabebereich = document.getElementById(bereich);
        Ausgabebereich.appendChild(my_input);
      }
    }
  } else {
    vergleich = "PRS_DBN_INDI_" + kenner;
    var my_input=document.createElement('input');
    my_input.type = 'hidden';
    my_input.value = '';
    my_input.name = vergleich;
    var Ausgabebereich = document.getElementById(bereich);
    Ausgabebereich.appendChild(my_input);
  }
  return true;
}

function anzeigen_speichern(bereich,flag) {
  if (bereich == "") { bereich="speichern"; }
  if (flag == "1")      {
    document.getElementById(bereich).style.display = "block";
  } else {
    document.getElementById(bereich).style.display = "none";
  }
}

function anzeigen(bereich,flag,grafik,link) {
  if (flag == "1")      {
    document.getElementById(bereich).style.display = "block";
    document.getElementById(grafik).src = '/images/layout/minus_o.gif';
    document.getElementById(link).href = "javascript:anzeigen('" + bereich + "','0','" + grafik + "','"+ link +"')";
  } else {
    document.getElementById(bereich).style.display = "none";
    document.getElementById(grafik).src = '/images/layout/plus_o.gif';
    document.getElementById(link).href = "javascript:anzeigen('" + bereich + "','1','" + grafik + "','"+ link +"')";
  }
}

function schreibe(text,bereich,dbn,kenner) {
  // pruefen, ob schon ausgewaehlt
  var anzahl = 0;
  var dbn_anz = 0;
  var vorhanden = document.getElementById(bereich).childNodes;
  anzahl = vorhanden.length;
  for (var i=0;i<anzahl;i++) {
    if ((vorhanden[i].getAttribute('id') != undefined) && (vorhanden[i].getAttribute('id')==dbn)) {
      // nicht aufnehmen, da schon vorhanden
      return;
    }
  }
  // Checkbox fuer indiv. Auswahl markieren
  dbn_anz = document.GBI.elements['DBN'].length;
  for (var i=0;i<dbn_anz;i++) {
    if (document.forms.GBI.elements['DBN'][i].value == '_') {
      document.forms.GBI.elements['DBN'][i].checked = true;
      anzeigen_speichern('','1');
      anzeigen_speichern('loeschen','1'); 
    }
  }
  // neuen Eintrag erstellen
  var my_div=document.createElement('div');
  my_div.setAttribute('id',dbn);
  var my_input=document.createElement('input');
  my_input.type = 'hidden';
  my_input.value = dbn;
  my_input.name = "PRS_DBN_INDI_" + kenner;
  var my_a=document.createElement('a');
  aufruf="javascript:loeschen('" + bereich + "','" + dbn + "');";
  my_a.setAttribute('href', aufruf);
  var my_img=document.createElement('img');
  my_img.src='/images/layout/bubble_x.gif?WID=56072-6410820-72505_1';
  my_img.border="0";
  var my_li=document.createElement('span');
  my_li.setAttribute('class','text_maincontent_blue');
  var my_text=document.createTextNode(text);
  my_li.appendChild(my_text);
  my_a.appendChild(my_img);
  my_li.appendChild(my_a);
  my_div.appendChild(my_input);
  my_div.appendChild(my_li);
  anzahl++;
  var Ausgabebereich = document.getElementById(bereich);
  if (anzahl <= 20) {
    Ausgabebereich.appendChild(my_div);
  } else {
    alert("Max. 20 Werte erlaubt");
  }
}

function loeschen(bereich,dbn) {
  var Loeschbereich = document.getElementById(bereich).childNodes;
  var anzahl=Loeschbereich.length;
  while(anzahl-->0) {
   if ((Loeschbereich[anzahl].getAttribute('id') == dbn) || (dbn == "")) {
     Loeschbereich[anzahl].parentNode.removeChild(Loeschbereich[anzahl]);
    }
  }
  /* ist noch eine Datenbank ausgewaehlt */
  Loeschbereich = document.getElementById(bereich).childNodes;
  if (Loeschbereich.length == 0) {
    anzeigen_speichern('','0');
    anzeigen_speichern('loeschen','0');
    select_default();
    quell_text();
  }
}

