
if (!document.getElementsByClassName){
  var Element = {
    getElementsByClassName: function(class_name) {
      var elements      = [];
      var class_name_re = new RegExp('\\b'+class_name+'\\b');
      var tags          = this.getElementsByTagName('*');
      for (var i=0; i < tags.length; i++) {
        if (class_name_re.test( tags[i].className )) elements.push(tags[i]);
      }
      return elements;
    }
  }
  document.getElementsByClassName = Element.getElementsByClassName;
}

function target_location(element){
  element.getElementsByClassName = Element.getElementsByClassName;
  var targets = element.getElementsByClassName('target');
  // use the first one found
  if (targets && targets[0]){
    window.location = targets[0].href;
  }
}

function apply_targets(class_name){
  var elements = document.getElementsByClassName(class_name);
  for (var i=0; i < elements.length; i++) {
    var element = elements[i];
    element.onclick = function(){ target_location(this); };
    element.style.cursor = 'pointer';
    element.class_name  = element.className;
    element.onmouseover = function(){ this.className += ' hover' };
    element.onmouseout  = function(){ this.className = this.class_name };
  }
}

window.onload = function(){
  apply_targets('section');
}

