var firstRun = 0;
var termWindowConfig = 'toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no, status=no';
var termWindowConfigWidth = 600;
var termWindowConfigHeight = 600;
var currentChecked = new Array();
currentChecked['cash_on_delivery'] = "";
currentChecked['kreditor'] = "";
currentChecked['invoice'] = "";

function expandMenu(obj){
  obj = document.getElementById(obj);

  if (!obj) {
    return;
  }

  if(obj.parentNode.className == "expand"){
    obj.parentNode.className = "collapse";
  }else{
    obj.parentNode.className = "expand";
  }
  return;
}
function initUnobtrusiveJs(){
    if(firstRun != 0)return;
    firstRun++;
    var a = document.getElementsByTagName("A");
    // Make menu dynamic
    var linkcount=0;
    for(var i=0;i<a.length;i++){
        if(a[i].className == "expand" && linkcount != 0){
          a[i].className = "expandlink";
          a[i].parentNode.className = "expand";
          a[i].setAttribute("href","javascript:expandMenu('menu"+i+"');");
          a[i].setAttribute("id",("menu"+i));
        }else if(a[i].className == "expand"){
          linkcount=i;
          a[i].className = "expandlink";
          a[i].parentNode.className = "expand";
          a[i].setAttribute("href","javascript:expandMenu('menu"+i+"');");
          a[i].setAttribute("id",("menu"+i));
        }
    }
    expandMenu('menu'+linkcount);
    // Make productlisting clickable
    var p = document.getElementsByTagName("P");
    for(var i=0;i<p.length;i++){
      if(p[i].className == "information"){
        a = p[i].getElementsByTagName("A");
        for(var j=0;j<a.length;j++){
          p[i].parentNode.setAttribute("rel",a[j].getAttribute("href"));
          p[i].parentNode.style.cursor = 'pointer';
          p[i].parentNode.onclick=function(){
            this.id = "activelink";
            var obj = document.getElementById(this.id);
            document.location.href = obj.getAttribute("rel");
            this.id = "";
            return;
          };
        }
      }
    }
    var d = document.getElementsByTagName("DIV");
    var count = 0;
    // Make dynamic product galleries
    for(var i=0;i<d.length;i++){
      if(d[i].className == "images"){
        if(count != 0){
          d[i].style.display = "none";
        }
        count++;
      }
      if(d[i].id == "variants"){
        // Create links for input
        var r = d[i].getElementsByTagName("INPUT");
        for(var j=0;j<r.length;j++){
          r[j].setAttribute("rel",j);
          r[j].onclick=function(){
            this.id = "activevariant";
            var obj = document.getElementById(this.id);
            var rel = obj.getAttribute("rel");
            this.id = "";
            if(document.getElementById("gallery"+rel)){
              for(var k=0;k<d.length;k++){
                  if(d[k].className == "images"){
                    d[k].style.display = "none";
                   }
              }
              var galleryObj = document.getElementById("gallery"+rel);
              galleryObj.style.display = "inline";
            }
            document.getElementById("price").innerHTML = "<p>" + pricetext + " " + document.getElementById("variants").getAttribute("price"+rel)+" " + currency + "</p>";
          }
        }
        // Clear pricetags
        var s = d[i].getElementsByTagName("SPAN");
        var spanCount = 1;
        for(var k=0;k<s.length;k++){
          if(s[k].parentNode.className == "now"){
            var price = s[k].innerHTML.split(" ");
            s[k].parentNode.parentNode.setAttribute("price"+spanCount,price[0]);
            spanCount++;
          }
          if(s[k].parentNode.className == "regular"){
            var price = s[k].innerHTML.split(" ");
            s[k].parentNode.parentNode.setAttribute("price"+spanCount,price[0]);
            spanCount++;
          }
        }
        var nowthen = false;
        for(var k=s.length;k>0;k--){
          if(s[k-1].parentNode.className == "regular"){
            s[k-1].parentNode.parentNode.removeChild(s[k-1].parentNode);
          }else{
            nowthen = true;
          }
        }
        // Create new price tag
        if(!nowthen){
          var priceDiv=document.createElement("DIV");
          priceDiv.setAttribute("id","price");
          var priceLink=document.createElement('P');
          priceLinkText=document.createTextNode(pricetext + " " + d[i].getAttribute("price1")+" " + currency);
          priceLink.appendChild(priceLinkText);
          priceDiv.appendChild(priceLink);
          document.getElementById("variants").appendChild(priceDiv);
        }
      }
    }

    // Create cart confirmation dialog
    if(document.getElementById("detailedcart")){
      var a = document.getElementById("detailedcart").getElementsByTagName("A");
      for(var i=0;i<a.length;i++){
        if(a[i].parentNode.className == "delete"){
          a[i].setAttribute("rel",a[i].getAttribute("href"));
          a[i].setAttribute("href","javascript:;");
          a[i].onclick=function(){
              var result = confirm(deleteitem);
              if(result){
                this.id = "deletelink";
                var obj = document.getElementById(this.id);
                document.location.href = obj.getAttribute("rel");
                this.id = "";
              }
              return;
           };
        }
      }
    }
    // Validate loginform
    if(document.getElementById("login")){
      var f = document.getElementById("login").getElementsByTagName("FORM");
      for(var i=0;i<f.length;i++){
        f[i].onsubmit=function(){
          var inputs = this.getElementsByTagName("INPUT");
          for(var j=0;j<inputs.length;j++){
            if((inputs[j].name == "password" && inputs[j].value == "") || (inputs[j].name == "username" && inputs[j].value == "")){
              alert(loginfailed);
              return false;
            }
          }
        }
      }
    }
    // Validate registerform
    if(document.getElementById("customer")){
      var f = document.getElementById("customer").getElementsByTagName("FORM");
      f[0].onsubmit = function(){
        var i = document.getElementById("userdetails").getElementsByTagName("INPUT");
        for(var j=0;j<i.length;j++){
            if(i[j].value=="" && i[j].getAttribute("name") != "company"){
              alert(registerfailed);
              return false;
            }
        }
      }
    }
    // Modify terms & conditions form
    if(document.getElementById("confirm")){
      var i = document.getElementById("confirm").getElementsByTagName("INPUT");
      for(var j=0;j<i.length;j++){
        if(i[j].getAttribute("type") == "submit"){
          i[j].setAttribute("disabled",true);
          i[j].onclick=function(){
            var rb = document.getElementById("payment").getElementsByTagName("INPUT");
            for(var k=0;k<rb.length;k++){
              if(rb[k].checked)var paymentType = rb[k].value;
            }
            var pno="0000";
            if(document.getElementById("pno")){
              pno = document.getElementById("pno").value;
            }
            var pno2="-";
            if(document.getElementById("pno2")){
              pno2 = document.getElementById("pno2").value;
            }

            if(paymentType == 'cash_on_delivery'){
              if(pno2 == ""){
                alert('Vid val av postförskott måste du även fylla i ditt personnummer.');
                return false;
              }
            }
            //tb_show('',paymentUrl+'?payment='+paymentType+'&pno='+pno+'&pno2='+pno2+'&KeepThis=true&TB_iframe=true&height=640&width=500&',null);
            //return false;
          }
        }else if(i[j].getAttribute("type") == "checkbox"){
          i[j].onclick = function(){
            var i = document.getElementById('confirm').getElementsByTagName("INPUT");
            for(var j=0;j<i.length;j++){
              if(i[j].getAttribute("type") == "submit"){
                i[j].disabled = !this.checked;
              }
            }
          }
        }
      }
      // Generate popup link
      var a = document.getElementById("confirm").getElementsByTagName("A");
      a[0].setAttribute("rel",a[0].getAttribute("href"));
      a[0].setAttribute("href","javascript:;");
      a[0].onclick = function(){
      	var popw=640;
      	var poph=480;
      	if (document.all || document.layers) {
      	   popw = screen.availWidth;
      	   poph = screen.availHeight;
      	}
      	var posLeft = (popw-termWindowConfigWidth)/2, posTop = (poph-termWindowConfigHeight)/2;
        var windowProperties = termWindowConfig+",left="+posLeft+",top="+posTop+",width="+termWindowConfigWidth+",height="+termWindowConfigHeight;
        window.open(this.rel,'termsWindow',windowProperties);
      }
    }
    // Modify total cost depending on cash_on_delivery
    if(document.getElementById("cash_on_delivery")){
      var i = document.getElementById("payment").getElementsByTagName("INPUT");
      for(var j=0;j<i.length;j++){
        if(i[j].checked){
          //currentChecked['cash_on_delivery'] = i[j].value;
		  currentChecked['kreditor'] = i[j].value;
        }
        if(i[j].value != '')i[j].onclick = function(){
            updateVat(this,'cash_on_delivery');
            updateVat(this,'kreditor');
            updateVat(this,'invoice');
        }
      }
    }

}

// Update vats
function updateVat(thisObj,prefix){
    if(thisObj.value == prefix && currentChecked[prefix] == prefix)return;
    if(thisObj.value != prefix && currentChecked[prefix] != prefix)return;
    currentChecked[prefix] = thisObj.value;
    var i = document.getElementById("payment").getElementsByTagName("INPUT");
    for(var j=0;j<i.length;j++){
        if(i[j].value==prefix){
          var s = document.getElementById("sum").getElementsByTagName("TD");
          var totalSum = parseInt((s[2].innerHTML.split(" ")[0].replace(/\,/g,"")));
          var c = document.getElementById(prefix).getElementsByTagName("TD");
          var checkoutCod = parseInt((c[2].innerHTML.split(" ")[0].replace(/\,/g,"")));
          var v = document.getElementById("vat").getElementsByTagName("TD");
          var checkoutVat = parseInt((v[2].innerHTML.split(" ")[0].replace(/\,/g,"")));

          if(!i[j].checked){
            var newSum =  totalSum - checkoutCod;
            var newVat =  (parseFloat(vat)/(1+parseFloat(vat)))*newSum;
            document.getElementById(prefix).style.display = "none";
          }else{
            var newSum =  totalSum + checkoutCod;
            var newVat =  (parseFloat(vat)/(1+parseFloat(vat)))*(newSum);
            document.getElementById(prefix).style.display = "";
          }

          s[2].innerHTML = (newSum).toFixed(0) + " " + currency;
          v[2].innerHTML = (newVat).toFixed(0) + " " + currency;
        }
    }
}

/*
// Update vats
function updateVat(thisObj,prefix){
    if(thisObj.value == prefix && currentChecked[prefix] == prefix)return;
    if(thisObj.value != prefix && currentChecked[prefix] != prefix)return;
    currentChecked[prefix] = thisObj.value;
    var i = document.getElementById("payment").getElementsByTagName("INPUT");
    for(var j=0;j<i.length;j++){
        if(i[j].value==prefix){
          var s = document.getElementById("sum").getElementsByTagName("TD");
          var totalSum = parseInt((s[1].innerHTML.split(" ")[0].replace(/\./g,"")));
          var c = document.getElementById(prefix).getElementsByTagName("TD");
          var checkoutCod = parseInt((c[1].innerHTML.split(" ")[0].replace(/\./g,"")));
          var v = document.getElementById("vat").getElementsByTagName("TD");
          var checkoutVat = parseInt((v[1].innerHTML.split(" ")[0].replace(/\./g,"")));

          if(!i[j].checked){
            var newSum =  totalSum - checkoutCod;
            var newVat =  (parseFloat(vat)/(1+parseFloat(vat)))*newSum;
            document.getElementById(prefix).style.display = "none";
          }else{
            var newSum =  totalSum + checkoutCod;
            var newVat =  (parseFloat(vat)/(1+parseFloat(vat)))*(newSum);
            document.getElementById(prefix).style.display = "";
          }

          s[1].innerHTML = (newSum).toFixed(0) + " " + currency;
          v[1].innerHTML = (newVat).toFixed(0) + " " + currency;
        }
    }
}
*/

if (document.addEventListener){
    document.addEventListener("DOMContentLoaded", initUnobtrusiveJs, false);
}
window.onload = initUnobtrusiveJs;
