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'] = "";
currentChecked['ak_finans'] = "";
currentChecked['svea_ekonomi'] = "";

function expandCategory(id){
    var a = document.getElementById("categories").getElementsByTagName("A");
    for(var i=0;i<a.length;i++){
        if(a[i].rel == id){
            var menuLevel1 = a[i].parentNode;
            var menuLevel2 = a[i].parentNode.parentNode;
            if(menuLevel1.className == "expand")menuLevel1.className = "collapse";
            if(menuLevel2.className == "expand")menuLevel2.className = "collapse";
        }       
    }
}

// Info page navigation
function expandInfoPage(id){
    var a = document.getElementById("info_pages_nav").getElementsByTagName("A");
    for(var i=0;i<a.length;i++){
        if(a[i].rel == id){
            var menuLevel1 = a[i].parentNode;
            var menuLevel2 = a[i].parentNode.parentNode;
            if(menuLevel1.className == "expand")menuLevel1.className = "collapse";
            if(menuLevel2.className == "expand")menuLevel2.className = "collapse";
        }       
    }
}

function expandMenu(obj){ 
  obj = document.getElementById(obj);
  if(obj.parentNode.className == "expand"){
    obj.parentNode.className = "collapse";
  }else{
    obj.parentNode.className = "expand";
  }
  return;
}
function initUnobtrusiveJs(){    
    if(firstRun != 0)return;
    firstRun++;    
    initPriceJs();
    if(document.getElementById("categories")){
        var a = document.getElementById("categories").getElementsByTagName("A");
        // Make menu dynamic
        for(var i=0;i<a.length;i++){
            if(a[i].className == "expand"){
              a[i].className = "expandlink";
              a[i].parentNode.className = "expand";
              a[i].setAttribute("href","javascript:expandMenu('menu"+i+"');");
              a[i].setAttribute("id",("menu"+i));         
            }else{
              var arrayHref = a[i].getAttribute("href").split("/");
              var categoryId = arrayHref[(arrayHref.length)-1];
              a[i].setAttribute("rel",categoryId);        
            }
        }
        
        var u = document.getElementById("categories").getElementsByTagName("UL");
        if(u[0].id != '')expandCategory(u[0].id); 
    }      
    
    // Info page dynamic menu
    if(document.getElementById("info_pages_nav")){
        var a = document.getElementById("info_pages_nav").getElementsByTagName("A");
        // Make menu dynamic
        for(var i=0;i<a.length;i++){
            if(a[i].className == "expand"){
              a[i].className = "expandlink";
              a[i].parentNode.className = "expand";
              a[i].setAttribute("href","javascript:expandMenu('info_menu"+i+"');");
              a[i].setAttribute("id",("info_menu"+i));         
            }else{
              var arrayHref = a[i].getAttribute("href").split("/");
              var categoryId = arrayHref[(arrayHref.length)-1];
              a[i].setAttribute("rel",categoryId);        
            }
        }
        
        var u = document.getElementById("info_pages_nav").getElementsByTagName("UL");
        if(u[0].id != '')expandCategory(u[0].id); 
    }      
    
    // 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++;
      }
    }        
    
    // 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 false;
           };   
        }
      }
    }
    // 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;i[j];j++){
            if(i[j].value=="" && i[j].name != 'company' && i[j].name != 'phone2'){      
                if(i[j].value==""){
                  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);               
        }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(){
        tb_show('',this.rel+'?KeepThis=true&TB_iframe=true&height=600&width=640',null);      
      }
    }
    // 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;
        }      
        if(i[j].value != '')i[j].onclick = function(){
            updateVat(this,'cash_on_delivery');
            updateVat(this,'kreditor');
            updateVat(this,'ak_finans');
            updateVat(this,'svea_ekonomi');
            updateVat(this,'invoice');
        }
      }
    }
    // Modify search result table to make rows clickable
    if(document.getElementById('searchresults')){
    var searchTable = document.getElementById('searchresults').getElementsByTagName("table");
        if(searchTable[0]){    
            var searchTableRows = searchTable[0].getElementsByTagName("tr");
            for(var i=0;searchTableRows[i];i++){
                var searchTableLinks = searchTableRows[i].getElementsByTagName("a");
                if(searchTableLinks[0]){
                    searchTableRows[i].rel = searchTableLinks[0].getAttribute("href");
                    searchTableRows[i].onclick = function(){
                        document.location.href = this.rel;
                    }
                    searchTableRows[i].onmouseover = function(){
                        this.id = 'selected';                 
                    }
                    searchTableRows[i].onmouseout = function(){
                        this.id = '';                 
                    }
                }
            }
        }            
    }  
    // Modify tab-links so user can switch between tabs
    if(document.getElementById('tabs')){
        var tabLinks = document.getElementById('tabs').getElementsByTagName("a");
        if(tabLinks[0]){
            for(var i=0;tabLinks[i];i++){
                if(tabLinks[i].className == 'tabLink'){
                    tabLinks[i].onclick = function(){
                        var tabLinkNum = this.name.replace(/tablink_/g,"");
                        var availableTabs = document.getElementById('tabs').getElementsByTagName("div");
                        if(availableTabs[0]){
                            for(var j=0;availableTabs[j];j++){
                                if(availableTabs[j].className = 'tab'){
                                    var tabNum = availableTabs[j].getAttribute("rel").replace(/tab_/g,"");
                                    if(tabNum == tabLinkNum){
                                        availableTabs[j].style.visibility = 'visible';
                                    }else{
                                        availableTabs[j].style.visibility = 'hidden';
                                    }                                
                                }                            
                            }                        
                        } 
                        var activeTabLinks = document.getElementById('tabs').getElementsByTagName("a");
                        for(var k=0;tabLinks[k];k++){
                            if(activeTabLinks[k].className == 'tabLink'){
                                var activeTabLinkNum = activeTabLinks[k].name.replace(/tablink_/g,"");
                                if(activeTabLinkNum == tabLinkNum){
                                    activeTabLinks[k].id='activeTab';
                                }else{
                                    activeTabLinks[k].id='';
                                }
                            }                                                                   
                        }
                    }
                    tabLinks[i].href = "javascript:;";                                
                }                        
            }        
        }
    }
    
    
    // Show available installment values
    if(document.getElementById("availableInstallment")){
        document.getElementById("availableInstallment").onchange = showInstallment;
    }  

}

// 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/100).toFixed(2) + " " + currency;
          v[1].innerHTML = (newVat/100).toFixed(2) + " " + currency;
        }                    
    } 
}

// Shows gallery
function showGallery(galleryId){
    var d = document.getElementById("product").getElementsByTagName("DIV");
    if(document.getElementById("gallery"+galleryId)){
        for(var i=0;i<d.length;i++){
            if(d[i].className == "images"){
                d[i].style.display = "none";
            }
        }
        document.getElementById("gallery"+galleryId).style.display = "inline";        
    }    
}


// Shows installment for the chosen pclass
function showInstallment(){
    var installments = document.getElementById("availableInstallment");
    var installmentHTML = document.getElementById("currentInstallment");
    var installmentValue = installments.options[installments.selectedIndex].getAttribute("rel");
    if(installmentValue != null && installmentValue != ''){
        installmentHTML.innerHTML = installmentValue + " " + currency + " " + perMonth;
    }else{
        installmentHTML.innerHTML = "";
    }
    return;
}



if (document.addEventListener){
    document.addEventListener("DOMContentLoaded", initUnobtrusiveJs, false);
}
window.onload = initUnobtrusiveJs;

