
// JavaScript-Funktionen fuer page.php, pag.php und grec.php
// *** mit Sonderfunktionen f. aLF

  var Fenster=0;

  function grec(v)  //  Datensatz in eigenem Fenster zeigen
  {                 // v = Satznummer oder find-Befehl
/* falls Fenster schon offen, zumachen, dann neu oeffnen */
//    if(Fenster!=0 && Fenster.closed==false) Fenster.close();
    if(v.substr(v.length-3,9)=="...") v=v.substr(0,v.length-3) +"?";
    Fenster = window.open("grec.php?" + v,"Datensatz","width=620,height=550,screenX=380,screenY=150,scrollbars=yes,resizable=yes,toolbar=1");
    Fenster.focus();
  }

function cReqObj() // ein "request object" anlegen
 {
  brws = navigator.appName;
  if(brws == "Microsoft Internet Explorer")
  rq = new ActiveXObject("Microsoft.XMLHTTP");
  else rq = new XMLHttpRequest(); return rq;
 }

// Globales Request-Objekt anlegen:
rqo = cReqObj();

var  usP="s1";  // Zaehler fuer die Signaturen
lsr = "";       // Lesername oder -kennung


function ixlist()  // angekreuzte Zeilen auswerten, Suchbefehl daraus bilden
{
  var rset="";
  i=0; m=0;

  j=document.liste.ck.length;   // Anzahl der zu gezeigten Registerzeilen
  urG=document.getElementById("REG").value;  // symbol. Name des Registers
  while(i<j)
{
  lk="lk" +i;
  if(document.liste.ck[i].checked==true)
   {
     zei=document.getElementById(lk).href;
     k=zei.lastIndexOf("urS="); if(k==-1) l=zei.lastIndexOf("urN=");
     bef=zei.split("')");
     if(m>0) rset = rset +"+or+";
     if(k>-1) rset = rset +urG +"+" + bef[0].substr(k+4,1000);
     else rset = rset +"#" +bef[0].substr(l+4,10);
// truncation?
     if(rset.substr(rset.length-3,9)=="...") rset=rset.substr(0,rset.length-3) +"?";
     ++m;
   }
  ++i;
}

    // Liste zu Ende, Ergebnisse in neuem Fenster zeigen
 if(rset!="") {  Fenster = window.open("rset.php?ufC=" + rset,"Ergebnisse","width=700,height=550,screenX=100,screenY=150,scrollbars=yes,resizable=yes,toolbar=1");
                Fenster.focus();
        }
  else alert("Nichts angekreuzt");

}

// allgemeine AJAX-Sachen

// ****** Anzeige eines Datensatzes im Indexdisplay

// wird aus dem Dokument aufgerufen z.B. mit javascript:requesT('620') :
function requesT(wert)
{
 // Programm axa.php aufrufen:
// rqo.open('get', 'grex.php?urN=' +wert);
 rqo.open('get', 'grex.php?' +wert);
 //               anwendungsspezifisch!
 rqo.onreadystatechange = receivD; // Die Ausgabedaten gehen an die Funktion receivE()
 rqo.send(null);
}

// Wird ausgefuehrt, sobald Ergebnis zurueckkommt
 function receivD()
{
 if(rqo.readyState == 4)
 {
  // Die Ausgabe des PHP-Programms auswerten:
  ergeb = rqo.responseText;
  document.getElementById("ajax").innerHTML = ergeb;

 }
}



// ***** ALFA-Funktionen  [raus, wenn nicht gebraucht]
// wird aus dem Dokument aufgerufen z.B. mit javascript:ausl(...) :

function ausl(da1,da2,da3,da4)  // z.B. ('urN=264','usI=90','usP=s2','usN=01 5')
{
  lsr = prompt("LESER?",document.cookie);
  if(lsr == "null" || lsr == null || lsr == "") return;
  document.cookie = lsr;
  alfadata = "alfa.php?ulK=" +lsr +"&" +da1 +"&" +da2+"&" +da3;
if(da4!=undefined) alfadata= alfadata +"&" +da4;
usP = da3.split("=")[1];   // z.B. da3 = "usP=s3", gebraucht wird "s3"


 // alfadata ist der komplette URL:
 rqo.open('get', alfadata);
 //               anwendungsspezifisch!
 rqo.onreadystatechange = receivE; // Die Ausgabedaten gehen an die Funktion receivE()
 rqo.send(null);
}

// Wird ausgefuehrt, sobald Ergebnis zurueckkommt
 function receivE()
{
 if(rqo.readyState == 4)
 {
  // Die Ausgabe des PHP-Programms auswerten:
  ergeb = rqo.responseText;
// in ergeb steht DONE drin, wenn's geklappt hat
  if(ergeb.indexOf('DONE')>-1)
  { document.getElementById(usP).innerHTML = "(ausgeliehen an " +lsr +")";
  usP = usP +"a";
  document.getElementById(usP).href = "javascript:alert('schon verliehen')";
  }
  else alert("Fehler!" +ergeb);  // sonst die (Fehler)Meldung anzeigen

 }
}

// *** ALFA-Rueckbuchung:

function rtrn(da1,da2,da3,da4)  // statt ausl()
{
  alfadata = "alfa.php?ulK=-&" +da1 +"&" +da2+"&" +da3;
if(da4!=undefined) alfadata= alfadata +"&" +da4;
usP = da3.split("=")[1];   // da3 = "usP=si"
 // alfadata ist der komplette URL:
 rqo.open('get', alfadata);
 //               anwendungsspezifisch!
 rqo.onreadystatechange = returN; // Die Ausgabedaten gehen an die Funktion returN()
 rqo.send(null);
}

 function returN()  // statt receivE()
{
 if(rqo.readyState == 4)
 {
  // Die Ausgabe des PHP-Programms auswerten:
  ergeb = rqo.responseText;
  if(ergeb.indexOf('BACK')>-1)  // kommt 'BACK' vor? dann hats geklappt
 {
  document.getElementById(usP).innerHTML = "(returned)";
  usP = usP +"a";
  document.getElementById(usP).href = "javascript:alert('erst diesen Satz neu laden')";
 }
  else alert("nicht geklappt");
 }
}

// **** ALFA ENDE


// **** aLF  [raus, wenn nicht gebraucht]

function vm()
{
 arg = document.getElementById("ueN").value +"&uuS=" +document.getElementById("user").value +"&upW=" +document.getElementById("pw").value;
 rqo.open('get', 'a-ovorm.php?urN=' +arg);
 rqo.onreadystatechange = receivV; // Die Ausgabedaten gehen an die Funktion receivE()
 rqo.send(null);
}

function receivV()
{
 if(rqo.readyState == 4)
 {
  // Die Ausgabe des PHP-Programms auswerten:
  ergeb = rqo.responseText;
  document.getElementById("va").innerHTML = ergeb;
 }

}

// es wurde auf  Vormerken  geklickt
function vorm(recn)  // vbox fuellen und sichtbar machen, recn=TitelID
{   // vbox wird in grec.php/grex.php gesetzt, in av_ini.php ist CSS dafuer

// Formular ohne <form>!  Mit <form... tut es der IE nicht!!!
//   txt = '<form name="vormerk" action="null.php">';

   txt = '<table><tr><td>Leser:</td><td><input id="user" name="user" type="text" /></td></tr>';
   txt = txt +'<tr><td>Passwort:</td><td><input id="pw" name="pw" type="password" type="text"></td></tr>';
   txt = txt +'</table><input type="hidden" id="ueN" value="' +recn +'">';
   txt = txt +'&nbsp;<a href="javascript:vm();" style="color:red; text-decoration:underline;">Vormerken</a>';
   txt = txt +' <div id="va" style="color:red"> &nbsp; </div><p/>';
   txt = txt +'&nbsp;<a href="javascript:closebox(); "style="color:red; text-decoration:underline;">Schlie&szlig;en</a>';

// CSS fuer vbox ist deklariert in av_ini.php
// vbox wird in HTML eingebaut in  grec.php und grex.php
   document.getElementById("vbox").style.visibility = "visible";

   document.getElementById("vbox").innerHTML = txt;

}

function closebox()
{
  document.getElementById("vbox").style.visibility = "hidden";
}


//  ***** aLF ENDE




