function productSwitch(el) {
  var elHomeList = getSubElementByClass(el.parentNode, "home_list");
  var elHomeImage = getSubElementByClass(el.parentNode, "home_image");
  var elHomeBg = getSubElementByClass(el.parentNode.parentNode, "home_bg_colour");
  var homeLists = getUpHomeLists();
  var homeImages = getUpHomeImages();

  for(var i in homeLists) {
    homeLists[i].style.visibility = "hidden"; 
  } 

  for(var i in homeImages) {
    homeImages[i].style.visibility = "hidden"; 
  } 

  elHomeList.style.visibility = "visible";
  elHomeImage.style.visibility = "visible";
  elHomeBg.style.backgroundColor = getStyleValue(el, "background-color","backgroundColor");
}

function getUpHomeLists() {
  var ulElements = document.getElementsByTagName("ul");
  var homeLists = new Array();
  // Get all the home_list ULs
  for(var i in ulElements) {
    if(typeof ulElements[i] == "object" && ulElements[i] != null) {
      if(ulElements[i].className == "home_list") {
        homeLists.push(ulElements[i]);
      }
    }
  }
  return homeLists;
}


function getUpHomeImages() {
  var imgElements = document.getElementsByTagName("img");
  var homeImages = new Array();
  // Get all the home_image IMGs
  for(var i in imgElements) {
    if(typeof imgElements[i] == "object" && imgElements[i] != null) {
      if(imgElements[i].className == "home_image") {
        homeImages.push(imgElements[i]);
      }
    }
  }
  return homeImages;
}

function getSubElementByClass(element, classname) {
  var elementByClass = null;
  if(element) {
    var children = element.childNodes;
    for(var i in children) {
      if(children[i].nodeType == 1) {
        if(children[i].className.indexOf(classname) >= 0) {
          elementByClass = children[i];
          break;
        }
      }
    }
  }
  return elementByClass;
}

function getStyleValue(el, allProp, ieProp) {
  var styleValue = null;
  if(el.currentStyle) {
    styleValue = el.currentStyle[ieProp];
  }
  else {
    if(window.getComputedStyle) {
      styleValue = document.defaultView.getComputedStyle(el, null).getPropertyValue(allProp);
    }
  }
  return styleValue;
}