
var IE = false;
var IE6 = false;
if (navigator.appName.match(/internet explorer/i) != null) {
   IE = true;
   var m = window.navigator.appVersion.match(/MSIE (\d)/);
   if (m != null && Number(m[1]) >= 6) IE6 = true;
}

function _cln(s) {    return s ? s.replace(/^\s+/, "").replace(/\s+$/, "") : ""; }

function _tofixed(v, n) {
   var a = 0.5;
   for (var i=0; i < n; ++i) a /= 10;
   v += a;
   v = String(v);
   return v.substr(0, v.indexOf(".") + 3);
}

function ie_fix() {
   if (navigator.appName.match(/internet explorer/i) == null) return;
   var m = window.navigator.appVersion.match(/MSIE (\d)/);
   if (m != null && Number(m[1]) >= 6 && document.compatMode == "CSS1Compat") return; // IE in standard compliance mode
   if (!document.all) return;
   for (var i=0; i < document.all.length; ++i) {
      var el = document.all.item(i);
      if (el.IEstyle) {
         m = el.IEstyle.match(/[^;$]+/g);
         for (var j=0; j < m.length; ++j) {
            var p = _cln(m[j].match(/(.+):/)[1]);
            var p2 = p.toLowerCase();
            if (p.length == 0 || p2.charAt(0) < 'a' || p2.charAt(0) > 'z') continue;
            var v = _cln(m[j].match(/:(.+)/)[1]);
            el.style[p] = v;
         }
      }
   }
}

function set_main_cookie_key(k, v) {
   var d = new Date();
   d.setFullYear(d.getFullYear()+1);
   var perm = k != "t";
   document.cookie = k + "=" + v + "; path=/;" + (perm ? " expires=" + d.toUTCString() : "");
}

function get_main_cookie_key(k) {  
   var s = "([\\| ]|^)" + k + "=([^;=]+)(;|$)";  
   var re = new RegExp(s);  
   var m = re.exec(document.cookie);  
   return m == null ? "" : m[2];  
}  

function get_cookie_key(k, d, perm) {
   var s = get_main_cookie_key(get_cookie_key.arguments.length == 3 && perm ? "p" : "t");
   if (s == "") return d;
   var re = new RegExp("\\|" + k + ":([^:;=\\|]+)([:;\\|]|$)");  
   var m = re.exec(s);
   return m == null ? d : m[1];
}

function delete_main_cookie_key(k) {
   var d = new Date();
   d.setFullYear(d.getFullYear()-1);
   document.cookie = k + "=-; path=/; expires=" + d.toUTCString();
}

function set_cookie_key(k, v, perm) {
   var p = false;
   if (set_cookie_key.arguments.length == 3 && perm) p = true;
   if (k == "ver" && p) {
      set_main_cookie_key(k, v);
      return;
   }
   var s = get_main_cookie_key(perm ? "p" : "t");
   if (s != "") {
      var re = new RegExp("\\|" + k + ":([^:;=\\|]+)([:;\\|]|$)");  
      var t = s.match(re);
      if (t != null && t[0].charAt(t[0].length-1) == "|") t = "|";
      else t = "";
      s = s.replace(re, t); 
      s = s.replace(/  /g, " "); s = s.replace(/ *\|+ */g, "|");
   }
   s += "|";
   s += k + ":" + v;
   if (s.charAt(0) != "|") s = "|" + s;
   set_main_cookie_key(perm ? "p" : "t", s);
}

var el_cache = new Object();
function get_element(n) {
   var el = el_cache[n];
   if (!el) {
      el = document.getElementById(n);
      el_cache[n] = el;
   }
   return el;
}

function cb(e, n) {
   e.style.backgroundImage = n == 1 ? "url(../buttons/lg_button_01.gif)" : "url(../buttons/lg_button_01.gif)";
   e.style.color = n == 1 ? "#444444" : "black";
}

var dx, dy;
var slide=false;

function slide_bubble() {
   var el = get_element("bubble");
   var sz = parseInt(el.style.fontSize) - 1;
   if (sz <= 1) {
      el.style.display = "none";
      slide = false;
      return;
   }
   el.style.fontSize = parseInt(sz) + "px";
   el.style.left = parseInt(el.style.left) + dx + "px";
   el.style.top = parseInt(el.style.top) + dy + "px";
   window.setTimeout("slide_bubble()", 50);
}

function start_sl(se) {
   if (slide) return;
   slide = true;
   var sx = se.offsetLeft, sy = se.offsetTop;
   if (IE && sy == 0) {   // work around IE bugs
      if (sx == 0) sx = window.event.clientX;
      var el = se;
      while (el.parentNode != document.body && el.offsetTop == 0) el = el.parentNode;
      sy = el.offsetTop != 0 ? el.offsetTop : window.event.clientY;
   }
   sy += 30;
   var el = get_element("bubble");
   el.style.display = "inline";
   el.style.width = "auto";
   el.style.fontSize = "16px";
   el.style.left = sx + "px";
   el.style.top = sy + "px";
   var k = get_element("kasse");
   dx = parseInt((k.offsetLeft - sx) / 16);
   dy = parseInt((k.offsetTop - sy) / 16);
   if (Math.abs(dy) > 80) dy /= Math.abs(dy)/80;
   window.setTimeout("slide_bubble()", 50);
}

function check_wk() {
   var num = Number(get_cookie_key("num", 0));
   if (num > 0) {
      get_element("kasse").src = "../buttons/zur_kasse_02.gif";
      var el = document.getElementsByName("obut");
      for (var i=0; i < el.length; ++i) el[i].src = "../buttons/warenkorb_02.gif";
   }
   get_element("wk_num").innerHTML = num;
}

function wk(n, v, p) {
   var num = Number(get_cookie_key("num", 0));
   set_cookie_key("a"+num, n);
   set_cookie_key("p"+num, p);
   set_cookie_key("v"+num, v);
   ++num;
   set_cookie_key("num", num);
   get_element("bubble").innerHTML = n;
   check_wk();
}

function wd(n) {
   var num = Number(get_cookie_key("num", 0));
   if (num == 0) return;
   for (var i=n; i < num-1; ++i) {
      set_cookie_key("a"+i, get_cookie_key("a"+(i+1), "Fehler!"));
      set_cookie_key("p"+i, get_cookie_key("p"+(i+1), "Fehler!"));
      set_cookie_key("v"+i, get_cookie_key("v"+(i+1), "Fehler!"));
   }
   set_cookie_key("num", num-1);
   parent.location.reload();
}

function replace_el(org, n) {
   var s = org;
   s = s.replace(/wd\(0\)/g, "wd("+n+")");
   s = s.replace(/vorlage_name/g, get_cookie_key("a"+n, "Fehler!"));
   s = s.replace(/vorlage_preis/g, _tofixed(Number(get_cookie_key("p"+n, "Fehler!")), 2) + " EUR");
   s = s.replace(/vorlage_bild/g, get_cookie_key("v"+n, "Fehler!"));
   return s;
}

var cost = 0;
var vkost = 0;

function payment() {
   var e = get_element("mz");
   vkost = 0;
   if (e.checked) { 
      get_element("utext").style.display = "inline";
      get_element("ntext").style.display = "none";
   }
   else {
      get_element("utext").style.display = "none";
      get_element("ntext").style.display = "inline";
      vkost = 5;
   }
   e = get_element("country");
   if (e.value == "Deutschland") vkost += 4.6;
   else {
      var ln = new Array("Frankreich", "Grossbritannien", "Oesterreich", "Belgien", "Zypern", "Tschechische Republik", 
         "Daenemark", "Finland", "Griechenland", "Groenland", "Ungarn", "Irland", "Italien", "Liechtenstein",
         "Luxemburg", "Malta", "Monaco", "Niederlande", "Polen", "Portugal", "Slovakai", "Spanien",
         "Vatikan");
      var i;
      for (i=0; i < ln.length; ++i) if (e.value == ln[i]) { vkost += 17; break; }
      if (i == ln.length) vkost += 30;
   }
   get_element("vkost").innerHTML = _tofixed(Number(vkost), 2) + " EUR";
   cost=0;
   var num = Number(get_cookie_key("num", 0));
   for (i=0; i < num; ++i) cost += Number(get_cookie_key("p"+i, 0));
   get_element("total").innerHTML = _tofixed(Number(cost + vkost), 2) + " EUR";
}

function is_empty(s) {
   var n = s.replace(/ /g, "");
   return n.length == 0;
}

function trans(s) {
   var n = "";
   for (var i=0; i < s.length; ++i)
      if (s.charAt(i) >= String.fromCharCode(128)) {
         if (s.charAt(i) == "ä") n += "#ae";
         else if (s.charAt(i) == "ö") n += "#oe";
         else if (s.charAt(i) == "ü") n += "#ue";
         else if (s.charAt(i) == "Ä") n += "#Ae";
         else if (s.charAt(i) == "Ö") n += "#Oe";
         else if (s.charAt(i) == "Ü") n += "#Ue";
         else if (s.charAt(i) == "ß") n += "#ss";
         else n += '#';
      }
      else n += s.charAt(i);
   return n;
}

function chk_button() {
   var allowed = true;
   var m = document.getElementsByName("email")[0].value;
   if (is_empty(document.getElementsByName("name")[0].value) || is_empty(m)) allowed = false;
//   m = m.replace(/ /g,"");
//   if (m.indexOf('@') <= 0 || m.indexOf('@') + 1 >= m.indexOf('.') || m.indexOf('.') == m.length - 1) allowed = false;
   get_element("sub").disabled = !allowed;
   payment();
}

function filltable() {
   document.onkeyup = chk_button;
   chk_button();
   payment();
   var t = get_element("wt");
   var num = Number(get_cookie_key("num", 0));
   if (num != 0) {
      t.style.display = "block";
      get_element("noprod").style.display = "none";
   }
   else return;
   var i, j, cnt = t.rows.item(0).cells.length;
   for (i=1; i < num; ++i) {
      var tr = t.insertRow(i);
      for (j=0; j < cnt; ++j) {
         var org = t.rows.item(0).cells.item(j);
         var td = org.cloneNode(true);
         td.innerHTML = replace_el(org.innerHTML, i);
         tr.appendChild(td);
      }
   }
   for (j=0; j < cnt; ++j) {
      var org = t.rows.item(0).cells.item(j);
      org.innerHTML = replace_el(org.innerHTML, 0);
   }
}

function conv_fields(ev) {
   var best = "";
   var num = Number(get_cookie_key("num", 0));
   if (num > 0) {
      var tcost = _tofixed(Number(cost + vkost),2);
      for (i=0; i < num; ++i) best += get_cookie_key("a"+i, "Fehler!") + ", " + get_cookie_key("p"+i, "Fehler!") + " EUR /// ";
      best += "Versand: " + vkost + " EUR (" + get_element("country").value + ") /// ";
      best += "Gesamt: " + tcost + " EUR /// Zahlung: " + (get_element("mz").checked ? "Ueberweisung" : "Nachnahme");
      document.getElementsByName("comment")[0].value += "/// Bestellung: /// " + best + " ///";
   }
   document.getElementsByName("givenname")[0].value = trans(document.getElementsByName("givenname")[0].value);
   document.getElementsByName("name")[0].value = trans(document.getElementsByName("name")[0].value);
   document.getElementsByName("email")[0].value = trans(document.getElementsByName("email")[0].value);
   document.getElementsByName("street")[0].value = trans(document.getElementsByName("street")[0].value);
   document.getElementsByName("city")[0].value = trans(document.getElementsByName("city")[0].value);
   document.getElementsByName("country")[0].value = trans(document.getElementsByName("country")[0].value);
   document.getElementsByName("phone")[0].value = trans(document.getElementsByName("phone")[0].value);
   document.getElementsByName("comment")[0].value = trans(document.getElementsByName("comment")[0].value);
   delete_main_cookie_key("t");
}

//  alert(document.compatMode);

