
    var openAllClass = "showAll";
var isMoreLink = false;
this.listexpander = function() {
  var expandTo = 1; // level up to which you want your lists to be initially expanded. 1 is minimum
  var listClass = "listexpander" // class name that you want to assign to list(s). If you wish to change it make sure to update the css file as well  

  this.start = function() {
    var ul = document.getElementsByTagName("ul");
    for (var i = 0; i < ul.length; i++) {
      if (ul[i].className == listClass) {
        create(ul[i]);
      };
    };
  };

  this.create = function(list) {
    var items = list.getElementsByTagName("li");
    for (var i = 0; i < items.length; i++) {
      listItem(items[i]);
    };
  };

  this.listItem = function(li) {
    if (li.getElementsByTagName("ul").length > 0) {
      var ul = li.getElementsByTagName("ul")[0];
      ul.style.display = (depth(ul) <= expandTo) ? "block" : "none";

      if (li.className != 'expanded')
        li.className = (depth(ul) <= expandTo) ? "expanded" : "collapsed";

      if (li.className == 'expanded')
        ul.style.display = "block";

      li.over = true;
      
      /* */
                var li2 = ul.getElementsByTagName("li");
                for (var i = 0; i < li2.length; i++) {

                  var linka = li2[i].getElementsByTagName("a");
            if(linka[0] != null)
                linka[0].href = decodeUrl(linka[0].getAttribute("info"));
            
          };

      /* */
      
      ul.onmouseover = function() { li.over = false; }
      ul.onmouseout = function() { li.over = true; }
      li.onclick = function() {
        if (this.over) {
          if(!isMoreLink) {
            ul.style.display = (ul.style.display == "none") ? "block" : "none";
            this.className = (ul.style.display == "none") ? "collapsed" : "expanded";
          }
        };
        isMoreLink = false;
      };
    };
  };

  this.decodeUrl = function(encodedUrl) {
    var result = "";
    for(var i = 0; i < encodedUrl.length; i++) {
        result += String.fromCharCode(encodedUrl.charCodeAt(i)^3);
    }
    return result;
  }


  this.depth = function(obj) {
    var level = 1;
    while (obj.parentNode.className != listClass) {
      if (obj.tagName == "UL") level++;
      obj = obj.parentNode;
    };
    return level;
  };

  start();

};


function showAllRefinements(_3d) {
  addClass(gbid(_3d), openAllClass);
  isMoreLink = true;
  
}

function addClass(_fd, _fe) {
  if (!hasClass(_fd, _fe)) {
    if (_fd.className) {
      _fd.className += " " + _fe;
    } else {
      _fd.className = _fe;
    }
  }
  
}

function hasClass(_102, _103) {
  var _104 = new RegExp("(^|\\s)" + _103 + "(\\s|$)");
  return _104.test(_102.className);
}

function gbid(id) {
  return document.getElementById(id);
}

function CheckField() {
  var refinementField = document.getElementById("refinementField");
  
  if(refinementField.value == '' || refinementField.value == 'Refine by Keyword')
    return false;
  
  return true;
}

listexpander();
