prettyPrint();

function addLineHighlights() {
  var hstring = " highlight:";
  var elems = document.getElementsByTagName("pre");
  
  for (var i = 0; i < elems.length; i++) {
    var elem = elems[i];
    var cname = elem.className;
    
    var index = cname.indexOf(hstring);
    if (index >= 0) {
      var end = cname.indexOf(" ", index + hstring.length);
      if (end < 0) end = cname.length;
      
      var args = cname.substring(index + hstring.length, end);
      var ranges = args.split(",");
      
      for (var r = 0; r < ranges.length; r++) {
        var range = ranges[r].split("-");
        var from = parseInt(range[0]);
        var to = from;
        if (range.length > 1) to = parseInt(range[1]);
        
        highlightLines(elem, from - 1, to - 1);
      }
    }
  }
}

function highlightLines(elem, from, to) {
  var lines = elem.getElementsByTagName("li");
  
  for (var i = 0; i < lines.length; i++) {
    var line = lines[i];
    if (i >= from && i <= to) {
      if (line.className == null || line.className == "") {
        line.className = "highlighttrigger";
      }
      else {
        line.className = line.className + " highlighttrigger";
      }
    }
  }
}

addLineHighlights();

