
/*********************************************************************/
/*
  UlbParseDetailsText():
    Div-Elemente, die die Klasse 'detailtext' haben werden ausgeblendet und durch einen
    'Link': '[Details einblenden]' ersetzt. Nach Einblendung wird der Link zum erneuten
    Ausblenden umbenannt.

    Benutzt prototype.js (Ver. >= 1.6)
*/

function UlbParseDetailsText() {
  if (typeof document.getElementById == 'undefined' || typeof document.createElement == 'undefined') { return; }

  // alle divs holen, die die CSS-Klasse 'detailtext' haben
  this.divs = $$('div.detailtext');

  var self = this;
  for(i=0; i<this.divs.length; i++) {
    // neues Div-Element mit CSS-Klasse 'detailsswitch' erzeugen und Klassen aus dem Div uebernehmen
    var divClasses='detailsswitch';
    this.divs[i].classNames().each(function(name, index) {
      if (name != 'detailtext') {
        divClasses = divClasses + " " + name;
      }
      });

    var switchDiv = new Element('div', { 'class': divClasses }).update('mehr ...');
    // neues Element vor die Div mit der CSS-Klasse 'detailtext' setzen und diese dann ausblenden
    this.divs[i].insert({'before': switchDiv});
    this.divs[i].style.display='none';
    // neues Element mit onclick-Funktion versorgen
    switchDiv.onclick = function () {
                          self.toggleStyle(this);
                          return false;
                        };
  }
}

/*
  toggleStyle():
    Parameter: switchDiv
    onclick-Funktion fuer Div aus UlbParseDetailsText(): wechselt die Sichtbarkeit des
    auf switchDiv folgenden Elementes und Aktualisiert den Text in switchDiv
*/
UlbParseDetailsText.prototype.toggleStyle = function (switchDiv) {
  var nextSiblings=switchDiv.nextSiblings();

  if (nextSiblings[0]!=null) {
    if (nextSiblings[0].style.display=='none') {
      nextSiblings[0].style.display='block';
      switchDiv.update('ausblenden');
    } else {
      nextSiblings[0].style.display='none';
      switchDiv.update('mehr ...');
    }
  }
}

new UlbParseDetailsText();



/*********************************************************************/
/* Suche */

function checkSearchTarget(f, o) {
  for (var i=0; i<f.search_target.length; i++) {
    if (f.search_target[i].checked) {
      break;
    }
  }
  if (! f.search_target[i]) {
    alert('Bitte wählen Sie aus, ob Sie die Suche in den WWW-Seiten oder im Katalog der ULB durchführen möchten!');
    return false;
  }
  if (f.search_target[i].value=='opac') {
    var v=escape(encode_utf8(f.q.value));
    location.replace("http://katalog.ub.uni-duesseldorf.de/F/?x=0&y=0&func=find-b&find_code=WRD&request="+v);
    return false;
  }
  return true;
}


function encode_utf8(rohtext) {
  // original von selfhtml: http://de.selfhtml.org
  // dient der Normalisierung des Zeilenumbruchs
  rohtext = rohtext.replace(/\r\n/g,"\n");
  var utftext = "";
  for(var n=0; n<rohtext.length; n++)
    {
    // ermitteln des Unicodes des  aktuellen Zeichens
    var c=rohtext.charCodeAt(n);
    // alle Zeichen von 0-127 => 1byte
    if (c<128)
      utftext += String.fromCharCode(c);
    // alle Zeichen von 127 bis 2047 => 2byte
    else if((c>127) && (c<2048)) {
      utftext += String.fromCharCode((c>>6)|192);
      utftext += String.fromCharCode((c&63)|128);}
    // alle Zeichen von 2048 bis 66536 => 3byte
    else {
      utftext += String.fromCharCode((c>>12)|224);
      utftext += String.fromCharCode(((c>>6)&63)|128);
      utftext += String.fromCharCode((c&63)|128);}
    }
  return utftext;
}

/*
// Popup fuer Umfrage 2011, JR 2011-11-16
jQuery(document).ready(function(){
   if (! jQuery.cookie('ulb_umfrage_2011')) {
     jQuery.get(
       "/home/umfrage_popup",
       function (data) {
         jQuery("body").append(data);
         jQuery("#popup").dialog({
           modal: true,
           draggable: false,
           resizable: false,
           title: 'ULB Online-Benutzerbefragung 2011',
           minHeight: 400,
           width: 500,
           buttons: { "Umfrage starten!": function() { 
               window.open("http://www.bibliotheksbefragung.de/duesseldorf");
               piwikTracker.trackLink('/tracker/popups/onlineUmfrage2011', 'link', '');
               piwikTrackerInt.trackLink('/tracker/popups/onlineUmfrage2011', 'link', '');
               jQuery(this).dialog("close"); 
             }
           }
         });
         jQuery.cookie('ulb_umfrage_2011', '1', { expires: 3, path: '/' });
       }
     );
   }
 });
*/

