var GLOB_coverscans_sind_eingeschaltet = 1;
// Umschalten von Checkboxen mit gegebener ID. Aufruf:
// Umschalt...
function toggle_checkbox() {
for (var i = 0; i < toggle_checkbox.arguments.length; i++) {
cur_box = $(toggle_checkbox.arguments[i]);
if (cur_box.checked) {
cur_box.checked = false;
} else {
cur_box.checked = true;
}
}
}
function zeige_details(elementname) {
Effect.toggle( $('annotation_inline_' + elementname), 'blind' );
// Coverscan koennte auch einfach, ohne id, da sein
if ( $('coverscan_inline_' + elementname) != null) {
Effect.toggle( $('coverscan_inline_' + elementname), 'blind' );
}
}
// ein oder mehrere id's umschalten
function verstecke(elementname) {
$(elementname).hide();
}
function unsichtbar_flipflop() {
for (var i=0; i < arguments.length; i++) {
if ($(arguments[i]) != null) {
Effect.toggle( $(arguments[i]), 'blind' );
}
}
}
// Wir sind in einem vom Hauptfenster geoeffneten Fenster
// Oeffne Ziel im Hauptfenster
// Aufruf:
// Berufe
function oeffne_in_hauptfenster(URL) {
opener.location.href=URL;
window.close();
}
function zeige_tagcloud(url,customer) {
// Zeige gleich mal den Kasten, auch wenn nichts drinsteht
Effect.toggle( $('tagcloud_hinweis') );
Effect.toggle( $('tagcloud') );
var param = 'customer=' + customer + '&ajax=1&action=tagcloud&submit=1'
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
zeige_tagcloud_callback(req);
}
}
);
}
function zeige_tagcloud_callback(request) {
var erg_html = request.responseText;
$('tagcloud').innerHTML = erg_html;
}
// Etwas zum Merkzettel hinzufuegen
function add2note(url, customer, mednr) {
// Ausblenden des Links
Effect.toggle( $('add2note_link_' + mednr) );
// Zeige Hinweis dass etwas passiert
Effect.toggle( $('add2note_anzeige_' + mednr) );
var param = 'customer=' + customer
+ '&mednr=' + mednr
+ '&ajax=1&action=add2note&submit=1'
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
zeige_add2note_callback(req, mednr);
}
}
);
}
function zeige_add2note_callback(request, mednr) {
var erg_html = request.responseText;
$('add2note_anzeige_' + mednr).innerHTML = erg_html;
}
// eine Vorbestellung zuruecknehmen
function vorbestellung_cancel(url,customer,lesernr,mednr,checksum) {
// Ausblenden des Links
Effect.toggle( $('vorbestellung_cancel_klickmich_' + mednr) );
//Zeige Hinweis, dass etwas passiert
Effect.toggle( $('vorbestellung_cancel_aktion_' + mednr) );
var param = 'customer=' + customer
+ '&lesernr=' + lesernr
+ '&mednr=' + mednr
+ '&checksum=' + checksum
+ '&ajax=1&action=vorbestellung_cancel&submit=1'
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
vorbestellung_cancel_callback(req, mednr);
}
}
);
}
// Zeige Ergebnis von Vorbestellung canceln
// erg ist json: fehler: 1|0, html_fuer_user: '..'
function vorbestellung_cancel_callback(req,mednr) {
var erg = req.responseText.evalJSON();
var div_id = 'vorbestellung_cancel_aktion_' + mednr;
if (erg.fehler === 1) {
$(div_id).removeClassName('vorbestellung_cancel');
$(div_id).addClassName('vorbestellung_cancel_fehler');
}
$(div_id).innerHTML = erg.html_fuer_user;
}
// Etwas vom Merkzettel entfernen
function delete_from_note(url, customer, mednr, zeige_coverscans) {
// Ausblenden des Links
Effect.toggle( $('delete_from_note_link_' + mednr) );
// Zeige Hinweis dass etwas passiert
Effect.toggle( $('delete_from_note_anzeige_' + mednr) );
var param = 'customer=' + customer
+ '&mednr=' + mednr
+ '&ajax=1&action=delete_from_note'
+ '&zeige_coverscans=' + zeige_coverscans
+ '&submit=1'
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
merkzettel_neu_aufbauen(req);
}
}
);
}
// Merkzettel komplett loeschen
function delete_complete_note(url, customer) {
// Ausblenden des Links
Effect.toggle( $('merkzettel_komplett_loeschen_link') );
// Zeige Hinweis dass etwas passiert
Effect.toggle( $('merkzettel_komplett_loeschen_ist_aktiv') );
var param = 'customer=' + customer
+ '&ajax=1&action=delete_complete_note&submit=1'
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
merkzettel_neu_aufbauen(req);
}
}
);
}
// Merkzettel einfach neu aufbauen, wegen Umschaltung Bilder
function zeige_merkzettel(url, customer, zeige_coverscans) {
var param = 'customer=' + customer
+ '&ajax=1&action=zeige_merkzettel'
+ '&zeige_coverscans=' + zeige_coverscans
+ '&submit=1';
var ajaxRequest = new Ajax.Request( url,
{
method: 'get',
parameters: param,
onComplete: function(req) {
merkzettel_neu_aufbauen(req);
}
}
);
}
// Es wird die komplette Sektion fuer den Merkzettel zurueckgegeben
function merkzettel_neu_aufbauen(request) {
var erg_html = request.responseText;
$('merkzettel').innerHTML = erg_html;
}
// Mailto-Tag hinschreiben damit es die Spamsucher nicht so leicht haben
// Aufruf:
//
function mailto (site, user) {
document.write('' +
user + '@' + site +
'');
}
// void annotation_in_popup(
// url,height,width,left,top,scrollbars) {
// "http://www../findus.pl?customer=xy&zeige_annotation=1&mednr=103744&submit=1"
// height = 500
// width = 600
// left = 10
// top = 10
// scrollbars = yes
function annotation_in_popup(url,fenstername,parameter) {
window.open(url,fenstername,parameter);
}
//
function force_email(feldname) {
email = document.getElementsByName(feldname)[0].value;
gueltig = 1;
// leeres Feld?
if (email == "") {
gueltig = 0;
}
// at-Zeichen enthalten?
if ( email.indexOf("@") == -1) {
gueltig = 0;
}
// Punkt enthalten?
if ( email.indexOf(".") == -1) {
gueltig = 0;
}
if ( gueltig == 0 ) {
alert("Bitte die E-Mail-Adresse ausfüllen damit wir Ihnen antworten können. Danke!");
return false;
}
return true;
}
function alles_ausser_merkzettel_ausblenden() {
// Egal ob das da ist oder nicht
var divs = new Array( "merkzettel_ausblenden", "login_leserkonto", "reserviert_und_ausgeliehen", "findus_leserkonto_vorwarnbereich");
for (var i=0; i < divs.length; i++ ){
if ( $(divs[i]) ) {
// Effect.toggle( $(divs[i]) );
Element.hide( $(divs[i]) );
}
}
}
// Es gibt ein a href id=coverscansumschalten
// Bilder ein/ausschalten und Text fuer das a abaendern
function coverscans_umschalten() {
// Alle imgs von class="coverscan" umschalten
// globale Variable
if (GLOB_coverscans_sind_eingeschaltet == 1) {
// schalte jetzt aus
GLOB_coverscans_sind_eingeschaltet = 0;
var coverscans = $$('.coverscan');
coverscans.each(Element.hide);
var bilderschalter = $$('.coverscans_umschalten');
for (var i = 0; i < bilderschalter.length; i++) {
$(bilderschalter[i]).update("Bilder ein");
}
} else {
// schalte jetzt ein
GLOB_coverscans_sind_eingeschaltet = 1;
var coverscans = $$('.coverscan');
coverscans.each(Element.show);
var bilderschalter = $$('.coverscans_umschalten');
for (var i = 0; i < bilderschalter.length; i++) {
$(bilderschalter[i]).update("Bilder aus");
}
}
}
function verlaengerungshaken_umschalten() {
var haken = $$('.verlaengerungshaken');
for (var i = 0; i < haken.length; i++) {
$(haken[i]).checked = true;
}
var hakentext = $$('.verlaengerungshaken_text');
for (var i = 0; i < hakentext.length; i++) {
$(hakentext[i]).update("Bitte verlängern");
}
var links = $$('.verlaengerungshaken_alles_anbieten');
links.each(Element.hide);
}
/*******************************************************/
function fernleihe_dropdown_soll_hinweistext_veraendern() {
var form_id = 'form_vorbestellung';
var dropdown_id = 'customer';
fernleihe_richtigen_hinweistext_anzeigen(form_id, dropdown_id);
var auswaehler = Event.observe(
document.forms[form_id].elements[dropdown_id],
"change",
function() {
fernleihe_richtigen_hinweistext_anzeigen(form_id, dropdown_id);
}
);
}
function fernleihe_richtigen_hinweistext_anzeigen (form_id, dropdown_id) {
var customer_des_mediums = document.forms[form_id].elements['mediennummer_von_customer'].value;
var verbundcustomer = document.forms[form_id].elements['verbundcustomer'].value;
var ausgewaehlter_customer = fernleihe_ausgewaehlter_customer_in_dropdown(form_id, dropdown_id);
// alle Customer-Divs verstecken
var customers = fernleihe_alle_customers_in_dropdown(form_id, dropdown_id);
for (i = 0; i < customers.length; i++) {
$$('#' + customers[i]).invoke('hide');
}
$$('#' + verbundcustomer).invoke('hide');
if (ausgewaehlter_customer === customer_des_mediums) {
/* gar keine Fernleihe, sondern Reservierung innerhalb eigener Buecherei */
/* $$('#' + ausgewaehlter_customer).invoke('show'); */
Effect.toggle( $(ausgewaehlter_customer), 'blind' );
} else {
/* $$('#' + verbundcustomer).invoke('show'); */
Effect.toggle( $(verbundcustomer), 'blind' );
}
}
function fernleihe_ausgewaehlter_customer_in_dropdown(form_id,element_id) {
var dropdown = document.forms[form_id].elements[element_id];
for (i = 0; i < dropdown.options.length; i++) {
if (dropdown.options[i].selected) {
/* gibt den Variablenwert zurueck, nicht das was fuer den User da steht */
return dropdown.options[i].value;
}
}
return '';
}
function fernleihe_alle_customers_in_dropdown(form_id,element_id) {
var dropdown = document.forms[form_id].elements[element_id];
var customers = new Array( dropdown.options.length );
for (i = 0; i < dropdown.options.length; i++) {
customers[i] = dropdown.options[i].value;
}
return customers;
}