var sPath = window.location.pathname;
var re_product = new RegExp('/prods/[A-Z,a-z,0-9,\-]+.html');
var re_shoppingcartzi = new RegExp('basket.zi');
var VATRate = 0.20;

window.onload=initAll;

function initAll(){
  if (sPath.match(re_product)) {
    // if this is a product page
    var aryClassElements = getElementsByClassName('prodtable', document.body);    
    if (aryClassElements.length >0) {
      //this is the products table
      addInVATColumn();
    }
    var pricelabel= getElementsByClassName("pricelabel", document.body);
    if (pricelabel.length >0) {
      //alert('add in the VAT');
      //this is the product page
          addInTheVAT();
          setTheProductPageWidth();
    }
  }
}

function addInVATColumn() {
    var aryClassElements = getElementsByClassName('maincontent', document.body );    
    var myTable = aryClassElements[0].getElementsByTagName("table")[0];
    var rowCount = myTable.rows.length;
    // add VAT column for each row    
    for ( var i = 1; i < myTable.rows.length; i++ ) {        
      myTable.rows[i].cells[2].style.width="20%";
      myTable.rows[i].cells[2].style.textAlign = "center";
      myTable.rows[i].cells[2].style.verticalAlign = "top";
      mynoVATCell = myTable.rows[i].cells[2].innerText.substr(1);

      removeCommasOrigPrice = parseFloat(mynoVATCell.replace(/[^\d\.\-]/g,''));
      VATamount = (eval(removeCommasOrigPrice) * eval(VATRate));
      Origionalamount = removeCommasOrigPrice.toFixed(2); 
      VATamount = VATamount.toFixed(2);           
      myVATCell = (eval(VATamount) + eval(removeCommasOrigPrice));
      myVATCell = myVATCell.toFixed(2);
        myTable.rows[i].cells[2].innerText = "£" + Origionalamount + "\r\nexc. VAT\r\n\r\n( £" + myVATCell + "\r\ninc. VAT )";
    }            
}



function addInTheVAT() {
 var arrpricelabeltd = getElementsByClassName('pricelabel', document.body);
 var arrpricetd = document.getElementById('price');
 if (arrpricelabeltd.length>0) {
   //we already have a price so add in VAT price
   origionallabel = arrpricelabeltd[0].innerText;
   origionalprice = arrpricetd.innerText;
   removeCommasOrigPrice = parseFloat(origionalprice.replace(/[^\d\.\-]/g,''));
   VATamount = (eval(removeCommasOrigPrice) * eval(VATRate));
   VATamount = VATamount.toFixed(2);
   Origionalamount = removeCommasOrigPrice.toFixed(2);     
   myVATCell = (eval(VATamount) + eval(removeCommasOrigPrice));
   myVATCell = myVATCell.toFixed(2);
   arrpricelabeltd[0].textContent = origionallabel + "\r\nPrice Inc VAT:";
   arrpricetd.textContent = origionalprice + "\r\n£" + myVATCell;
 }
}




function setTheProductPageWidth() {
  //get product page content
  var aryClassElements = getElementsByClassName('maincontent', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'maincontent') {
      // set product page width
      aryClassElements[i].style.width="500px";      
      // get asscoaited image & center in table 100%
      //aryClassElements[i].getElementsByTagName("table")[0].style.width="100%";
      // check to see if there is a form (ie options)
      var aryFormElements = aryClassElements[i].getElementsByTagName("form")
      var aryFormPElements = aryClassElements[i].getElementsByTagName("form")[0].getElementsByTagName("p");    
      if (aryFormPElements.length>0) {
        // we have options before first paragraph
        var aryPElements = aryClassElements[i].getElementsByTagName("p");    
        for ( var p = aryFormPElements.length; p < aryPElements.length; p++ ) {        
          // check all p elements
          var pricelabel= getElementsByClassName("pricelabel", document.body);
          if ((p==aryFormPElements.length)&& (pricelabel.length>0)) {
            //we are on a product info page
            aryPElements[p].style.marginTop=eval(aryClassElements[i].getElementsByTagName("table")[0].offsetHeight);
          }
        }
      } 
    }
  } 
}


function getElementsByClassName( strClassName, obj ) {    
  var ar = arguments[2] || new Array();    
  var re = new RegExp("\\b" + strClassName + "\\b", "g");    
  if ( re.test(obj.className) ) {        
    ar.push( obj );    
  }    
  for ( var i = 0; i < obj.childNodes.length; i++ ) getElementsByClassName( strClassName, obj.childNodes[i], ar );        
  return ar;
}

