var sPath = window.location.pathname;
var re_shoppingcartzi = new RegExp('basket.zi');
var re_state = new RegExp('State');
var re_comments = new RegExp('Comment');

window.onload=initAll;

function initAll(){
    if (sPath.match(re_shoppingcartzi)) {
      if(document.getElementById('shopcartheadline')) {
        var pageheader= document.getElementById('shopcartheadline'); 
        pageheader.style.color="#992b12";
      }
      var thisTitle = document.title;
      switch (thisTitle)
      {
        case "Order Checkout: Customer Info":
          hideUnwantedLabels();
          hideCountry();
          hideState();
          hideshippinginfopart();
          break;
        case "Order Checkout: Payment":
          //payment page
          changeHeaderText();
          addOptionsToCommentsBox();
          hideshippingonpaymentpage();
          break;
        case "Order Checkout: Review": 
          //payment page
          hideshippingonreviewpage();
          break;
        case "Order Checkout: Thank You":
          //thank you page
          hideshippingonthankyoupage();
          break;
        case "Shopping Cart":
          pageheader.innerText="Shopping Basket"; 
          break;
      }
    setTheShoppingArea();
    setTheTableToHoldBasketDetails();
    setTheShoppingFooter();
  }  
  document.getElementById('mainbody').style.display='block';
}

function setTheBodyBackground() {
    var theBody = document.getElementsByTagName('body')[0]; 
    theBody.style.background="url('https://www.zinestudio.co.uk/thecrustyloaf/images/sty_pgbodyback.gif') center top";
    theBody.style.backgroundRepeat="none"; 
}

function setTheShoppingArea() {
    //set the td class maincontent
    var shoppingarea = document.getElementById('mainbody').getElementsByTagName('td')[0];
    shoppingarea.style.width="1081px";
    shoppingarea.style.background="url('https://www.zinestudio.co.uk/thecrustyloaf/images/sty_pgbodyback.gif') no-repeat";
}

function setTheTableToHoldBasketDetails() {
    //set the div holds the table for shopping
    var shoppingdiv = document.getElementById('mainbody').getElementsByTagName('div')[0];
    shoppingdiv.style.width="1081px";
    shoppingdiv.style.background="#ffffff";
    shoppingdiv.style.marginLeft="auto";
    shoppingdiv.style.marginRight="auto";
    shoppingdiv.style.marginLeft="5px";
}

function setTheShoppingFooter() {
    //Set the footer on the shopping pages
    var shoppingFooter = document.getElementById('footerpanel');
    shoppingFooter.style.backgroundImage="url('https://www.zinestudio.co.uk/thecrustyloaf/images/shopfooter.gif')";
}

function addOptionsToCommentsBox() {
  document.forms[0].ch_comment.rows=20;
  document.forms[0].ch_comment.cols=80; 
  document.forms[0].ch_comment.value= "PREFERRED STORE COLLECTION: *delete as appropriate \r\nNot Applicable\r\nCoundon\r\nBishop Auckland\r\nWest Auckland\r\nSpennymoor\r\nBarnard Castle\r\nShildon\r\n\r\nCAKE COLLECTION DATE:\r\n\r\nMESSAGE ON CAKE:\r\n\r\nNUMBER OF CANDELS ON CAKE:\r\n\r\nOTHER USEFUL INFORMATION:";
}

function hideCountry() {
  var formelement = document.getElementsByTagName('FORM')[0];
  formelement.ch_country.options[2].selected = true;
  formelement.ch_country.style.display = "none";
  formelement.ch_country.style.visibility = "hidden";
}

function hideState() {
  var formelement = document.getElementsByTagName('FORM')[0];
  formelement.ch_ostate.value = ".";
  formelement.ch_ostate.style.display = "none";
  formelement.ch_ostate.style.visibility = "hidden";
  formelement.ch_state.options[0].selected = true;
  formelement.ch_state.style.display = "none";
  formelement.ch_state.style.visibility = "hidden";
}

function changeHeaderText() {
  var aryClassTextElements = getElementsByClassName('formsubheader', document.body);    
  var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
  if(!hasInnerText) {
    for ( var i = 0; i < aryClassTextElements.length; i++ ) {
      if (aryClassTextElements[i].textContent.match(re_comments)){
        aryClassTextElements[i].textContent = "Collection / Special Instructions";
      }
    }
  } else {
    for ( var i = 0; i < aryClassTextElements.length; i++ ) {
      if (aryClassTextElements[i].innerText.match(re_comments)) {
        aryClassTextElements[i].innerText= "Collection / Special Instructions";
      }
    }
  }
}


function hideUnwantedLabels() {
  var aryClassTextElements = getElementsByClassName('stdfldlabel', document.body);    
  var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
  if(!hasInnerText) {
    for ( var i = 0; i < aryClassTextElements.length; i++ ) {
      if ((aryClassTextElements[i].textContent=="Country:")||(aryClassTextElements[i].textContent.match(re_state))) {
        aryClassTextElements[i].style.display = "none";
        aryClassTextElements[i].style.visibility = "hidden";
      }
    }
  } else {
    for ( var i = 0; i < aryClassTextElements.length; i++ ) {
      if ((aryClassTextElements[i].innerText=="Country:")||(aryClassTextElements[i].innerText.match(re_state))) {
        aryClassTextElements[i].style.display = "none";
        aryClassTextElements[i].style.visibility = "hidden";
      }
    }
  }
}

function hideshippinginfopart() {
  document.all.ch_shipSame.checked = true ;
  var aryClassTextElements = getElementsByClassName('formsubheader', document.body );    
  for ( var i = 0; i < aryClassTextElements.length; i++ ) {
    if (i==1) {
      aryClassTextElements[1].style.display = "none";
    }
  }
  var aryClassElements = getElementsByClassName( 'cart', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'cart' && (i==3 || i==4)) {
      aryClassElements[i].style.visibility = "hidden";
      aryClassElements[i].style.display = "none";
    }
   }
}

function hideshippingonpaymentpage() {
  var tableelement;
  var aryClassElements = getElementsByClassName('ordertotalline', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'ordertotalline' && (i>=0 && i<=5)) {
      aryClassElements[i].style.visibility = "hidden";
      aryClassElements[i].style.display = "none";
    }
   }
  aryClassElements = getElementsByClassName('cart', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'cart' && i==5) {
      aryClassElements[i].style.visibility = "hidden";
      aryClassElements[i].style.display = "none";
    }
   }
}

function hideshippingonreviewpage() {
  var tableelement;
  //get table shipping table(8) element on this page
  tableelement = document.getElementsByTagName("table")[8];
  tableelement.style.visibility = "hidden";
  tableelement.style.display = "none";
  var aryClassElements = getElementsByClassName('ordertotalline', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'ordertotalline' && (i>=0 && i<=5)) {
      aryClassElements[i].style.visibility = "hidden";
      aryClassElements[i].style.display = "none";
    }
   }
}

function hideshippingonthankyoupage() {
  var aryClassElements = getElementsByClassName('custbasicinfotable', document.body );    
  for ( var i = 0; i < aryClassElements.length; i++ ) {        
    if (aryClassElements[i].className = 'custbasicinfotable' && (i==1)) {
      aryClassElements[i].style.visibility = "hidden";
      aryClassElements[i].style.display = "none";
    }
   }
  var aryClassElementsship = getElementsByClassName('ordertotalline', document.body );    
  for ( var i = 0; i < aryClassElementsship.length; i++ ) {        
    if (aryClassElementsship[i].className = 'ordertotalline' && (i>=0 && i<=5)) {
      aryClassElementsship[i].style.visibility = "hidden";
      aryClassElementsship[i].style.display = "none";
    }
   }
}

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;
}

