/*
 * System entwickelt unter Einbeziehung der Vorlage von Johannes Gamperl 1999.
 *
 *  slightly modified by Haymo Hinz      ( hinz@hrz.uni-marburg.de )
 *  modification listing:
 *  - using cookies (again?) instead of parent.frames
 *  - basket-updating for serving Opera browsers added (by loading a transfer-page)
 *  - error-handling added against wrong inputs in basket-formular
 */


var leer = 0;
var wohin = 'frame_zentral.html';
var maxmenge = 10000;
var error = 'Die eingegebene Menge ist nicht korrekt!';
var errorLine = '\nBitte überprüfen Sie Ihre Eingabe in Zeile ';
var del_art = 'Soll dieser Artikel gelöschen werden?';
var del_war = 'Möchten Sie den Warenkorb wirklich leeren?';
var war_leer = '\nEs sind noch keine Produkte im Warenkorb.\n\nBitte wählen Sie den gewünschten Titel\noder gehen Sie zunächst zur Buchauswahl.\n';
var bookPath = "";

//
// Der Warenkorb von Euregio! >
//


var basket = "";

function loadBasket () {
  if (document.cookie) {
    var dose = document.cookie;
    var keksOrt = dose.indexOf("; korbEuregio=");             // irgendwo unten ?
    if (keksOrt == -1) {                                      // nicht unten !
      if (dose.indexOf("korbEuregio=") == 0 ) { keksOrt= 0;   // ganz oben ?
    } }
    if (keksOrt > -1) {                                       // ist drin !
      var keksAnfang = dose.indexOf("=", keksOrt)+1;          // auspacken ...
      var keksEnde = dose.indexOf(";", keksOrt+1);
      if (keksEnde == -1) { keksEnde = dose.length; }
      basket = dose.substring(keksAnfang,keksEnde);
} } } loadBasket();

function itemizeBasket () {
  if (basket != "") {
    var tmp = basket.substring(0,basket.length-3);
    items = tmp.split('###');
    for (i in items) {
      items[i] = items[i].split('|');
} } }


function dazu(form) { // name,nummer,preis,menge
  var name = form.elements['titel'].value;
  var nummer = form.elements['isbn'].value;
  var menge = parseInt(form.elements['menge'].value);  // eval( )
  var preis = eval(form.elements['preis'].value);
  if (isNaN(menge) == true) {
    alert(error);
  } else {
    if(menge <= 0 || menge > maxmenge) {
      alert(error);
    } else {
      if (confirm('Möchten Sie '+menge+' mal \"'+name+'\" in den Warenkorb legen? '))
        basket += name+'|'+nummer+'|'+preis+'|'+menge+'###';
} } }

function runden(wert) {
  k = (Math.round(100 * (wert + 0.00001)) / 100 + 0.001) + '';
  k = k.substring(0, k.indexOf('.') + 3);
  return k;
}

function rechnen() {
  zsumme = runden(parseFloat(items[i][2]))*runden(parseFloat(items[i][3]));
  gesamtpreis += runden(parseFloat(items[i][2]))*runden(parseFloat(items[i][3]));
  ergebnis = runden(zsumme);
  return ergebnis;
}

function gesamt() {
  gesamtpreis = runden(gesamtpreis);
  return gesamtpreis;
}

function cent(wert) {
  var wert = String(wert);
  if (wert.length > 2 && wert.indexOf(".")>wert.length-3) {
    var stellen = wert.indexOf(".")+3-wert.length;
    for (j=0;j<stellen;j++) { wert += "0"; }
  } else if (wert.indexOf(".")==-1) {
    wert += ".00"
  } return wert;
}

function update() {
  var upd = '';
  var del0 = new Array();
  var tmp = '';
  for (i in items) {
    var theValue = parseInt(eval('document.forms[0].menge'+i+'.value'));
    if (isNaN(theValue) == true) {
      alert(error+errorLine+(parseInt(i)+1)+":\n\""+items[parseInt(i)][0]+"\"");
      return false;
    } else {
      upd += theValue + '~';
      if (theValue<=0) {
        del0[i] = true;
      } else {
        del0[i] = false;
  } } }
  upd = upd.substring(0, upd.length-1);
  upd = upd.split('~');
  for (i in items) {
    items[i][3] = upd[i];
    if (!del0[i]) {
      tmp += items[i][0]+ '|' +items[i][1]+ '|' +items[i][2]+ '|' +items[i][3]+ '###';
  } }
  basket = tmp;
  if (navigator.userAgent.indexOf("Opera")>-1) {
    self.location = 'opera_ff.html';
  } else {
    self.location = 'korb_euregio.html';
} }

function del_me(cnt) {
  if (confirm(del_art)) {
    var del = '';
    if (basket != "") {
      var tmp = basket.substring(0,basket.length-3);
      items = tmp.split('###');
      for (i in items) {
        if (i != cnt) {
          del += items[i] +'###';
    } } }
    basket = del;
    if (navigator.userAgent.indexOf("Opera")>-1) {
      self.location = 'opera_ff.html';
    } else {
      self.location = 'korb_euregio.html';
} } }


function aktion(x) {  // außer Betrieb
  if (x==1) {
    if (confirm(del_war)) {
      basket = ''; self.location='korb_euregio.html'; }
    }
    if (x==2) {
      if (basket != "") {
        location.href = 'formular.html';
      } else { alert(war_leer);
} } }

// -------- Keksfunktionen -----------------------

function saveBasket() {
  if (basket!="") {
    document.cookie = "korbEuregio =" + basket;
  } else {  // löschen
    deleteCookie(true);
} }

function deleteCookie(ok) {
  if (ok) {
    if (basket!="") basket="";
    var damals = new Date (2000, 0, 1 );
    var damalsGMT = damals.toGMTString();
    document.cookie = "korbEuregio=irgendwas;expires="+damalsGMT;
} }
