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;
}

var posx,posy;

function store_pos() {
  e=window.event;
  if(e.pageX || e.pageY){
    posx=e.pageX; posy=e.pageY;
  }
  else if(e.clientX || e.clientY){
    if(document.documentElement.scrollTop){
      posx=e.clientX+document.documentElement.scrollLeft;
      posy=e.clientY+document.documentElement.scrollTop;
    }
    else{
      posx=e.clientX+document.body.scrollLeft;
      posy=e.clientY+document.body.scrollTop;
    }
  }
}

function bubble(c,n,t,p,s) {
  var b = document.getElementById("bubble");
  var content = document.getElementById("b_content");
  p = _tofixed(Number(p),2);
  content.innerHTML = c + "x " + n +"<br />" + t +"<br /><b>Gesamt: " + p + " EUR</b>";
  b.style.position = "absolute";
  b.style.top=posy-60+"px";
  if ( posx-120 >= 0 ) b.style.left=posx-120+"px"; else b.style.left="0px"
  if (s == 1) b.style.display="block"; else b.style.display="none";
}

function check_wk() {
  var wkcount = 0;
  var wksum = 0;
  var num = Number(get_cookie_key("num", 0));
  for (var i=0; i < num; ++i) {
     wkcount += Number(get_cookie_key("c"+(i), "Fehler!"));
     wksum += Number(get_cookie_key("p"+(i), "Fehler!"));
  }
  get_element("wk_num").innerHTML = wkcount;
  get_element("wk_sum").innerHTML = _tofixed(wksum, 2) +" &euro;";
}

function wk(c, n, t, v, vt, p) {
  var num = Number(get_cookie_key("num", 0));
  count = document.getElementById(c).value
  p = count * p;
  set_cookie_key("c"+num, count);
  set_cookie_key("n"+num, n);
  set_cookie_key("t"+num, t);
  set_cookie_key("v"+num, v);
  set_cookie_key("vt"+num, vt);
  set_cookie_key("p"+num, p);
  ++num;
  set_cookie_key("num", num);
  bubble(count,n,t,p,1)
  check_wk();
  window.setTimeout("bubble(0,0,0,0)", 4000);
}

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("c"+i, get_cookie_key("c"+(i+1), "Fehler!"));
    set_cookie_key("n"+i, get_cookie_key("n"+(i+1), "Fehler!"));
    set_cookie_key("t"+i, get_cookie_key("t"+(i+1), "Fehler!"));
    set_cookie_key("v"+i, get_cookie_key("v"+(i+1), "Fehler!"));
    set_cookie_key("vt"+i, get_cookie_key("vt"+(i+1), "Fehler!"));
    set_cookie_key("p"+i, get_cookie_key("p"+(i+1), "Fehler!"));
  }
  set_cookie_key("num", num-1);
  parent.location.reload();
}

function empty_basket () {
  set_cookie_key("num", 0);
  parent.location.reload();
}

function replace_el(org, n) {
  var s = org;
  s = s.replace(/wd\(0\)/g, "wd("+n+")");
  s = s.replace(/vorlage_zahl/g, get_cookie_key("c"+n, "Fehler!"));
  s = s.replace(/vorlage_name/g, get_cookie_key("n"+n, "Fehler!"));
  s = s.replace(/vorlage_typ/g, get_cookie_key("t"+n, "Fehler!"));
  s = s.replace(/vorlage_bild/g, get_cookie_key("v"+n, "Fehler!"));
  s = s.replace(/vorlage_tbild/g, get_cookie_key("vt"+n, "Fehler!"));
  s = s.replace(/vorlage_preis/g, _tofixed(Number(get_cookie_key("p"+n, "Fehler!")), 2) + " EUR");
  return s;
}

var cost = 0;
var vkost = 0;

function payment() {
  vpreisliste = new Array( 2.0,  4.0,  5.0,  5.0,  7.0, 10.0, 14.0,
                                     6.5,  8.5,  9.0,  9.0, 17.0, 22.0, 32.0,
                                     7.0, 13.5, 13.5, 13.5, 30.0, 35.0, 45.0);
  var vpreise = new Array(3)
  for (var i=0; i<3; i++) {
    vpreise[i] = new Array(7);
    for (var j=0; j<7; j++) vpreise[i][j] = vpreisliste[(i*7)+j];
  }
   vnums = new Array(2, 3, 4, 5, 11, 21);
  var vregion = 0;
  var wkcount = 0;
  var e = get_element("mz");
  vkost = 0;
  if (e.checked) {
    get_element("utext").style.display = "inline";
    get_element("ptext").style.display = "none";
  }
  else {
    get_element("utext").style.display = "none";
    get_element("ptext").style.display = "inline";
  }
  e = get_element("country");
  get_element("vregion").innerHTML = "("+e.value+")";
  if (e.value == "Deutschland") vregion = 0;
  else {
    var ln = new Array("Frankreich", "Grossbritannien", "Andorra" , "Oesterreich", "Belgien", "Tschechische Republik",
        "Daenemark", "Finnland", "Griechenland", "Groenland", "Ungarn", "Irland", "Italien", "Liechtenstein",
        "Luxemburg", "Monaco", "Niederlande", "Norwegen", "Polen", "Portugal", "Slovakei", "Spanien",
        "Schweden", "Schweiz", "Vatikanstadt");
    var i;
    for (i=0; i < ln.length; ++i) if (e.value == ln[i]) { vregion = 1; break; }
    if (i == ln.length) vregion = 2;
  }
  var num = Number(get_cookie_key("num", 0));
  for (var i=0; i < num; ++i) {
    wkcount += Number(get_cookie_key("c"+(i), "Fehler!"));
  }

  for (var vnum=0; vnum<vnums.length; vnum++) if (wkcount < vnums[vnum]) break;

  vkost = vpreise[vregion][vnum];
  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("vsum").innerHTML = _tofixed(cost, 2) + " EUR";
  get_element("total").innerHTML = _tofixed(Number(cost + vkost), 2) + " EUR";
}

function is_empty(s) {
   var n = s.replace(/ /g, "");
   return n.length == 0;
}

function chk_button() {
   var allowed = true;
   var m = document.getElementsByName("email")[0].value;
   var num = Number(get_cookie_key("num", 0));
   if (is_empty(document.getElementsByName("name")[0].value) || is_empty(m) || num == 0) 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) {
      get_element("wtcontainer").style.display = "block";
      get_element("noprod").style.display = "none";
   }
   else return;
   var i, j, cnt = t.rows.item(1).cells.length;
   for (i=2; i < num+1; ++i) {
      var tr = t.insertRow(i);
      for (j=0; j < cnt; ++j) {
         var org = t.rows.item(1).cells.item(j);
         var td = org.cloneNode(true);
         td.innerHTML = replace_el(org.innerHTML, i-1);
         tr.appendChild(td);
      }
   }
   for (j=0; j < cnt; ++j) {
      var org = t.rows.item(1).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("c"+i, "Fehler!") + "x " + get_cookie_key("n"+i, "Fehler!") + ", " + get_cookie_key("t"+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" : "Paypal");
      document.getElementsByName("data")[0].value += "/// " + best + " ///";
      document.getElementsByName("total")[0].value = tcost;
   }
   delete_main_cookie_key("t");
}

//  alert(document.compatMode);
