function toggle_linenum() {
  var spans = document.getElementsByTagName("span");
  var count = 0;
  for (var k=0,ele; ele=spans[k]; k++)
  {
    if (ele.className == "lineno" || ele.className == "lineno special")
      count++;
  }
  var digits = count.toString().length

  var display = null;
  var linenum = 0;
  for (var k=0,ele; ele=spans[k]; k++)
  {
    if (ele.className == "lineno" || ele.className == "lineno special") {
      linenum++;
      if (display == null) {
        display = (ele.style.display) ? "" : 'none';
      }
      if (display == 'none') {
        ele.removeChild(ele.lastChild);
      } else {
        var numstr = '000000' + linenum.toString()
        var numstr = numstr.slice(-digits, numstr.length)
        ele.appendChild(document.createTextNode(numstr));
      }
      ele.style.display = display;
    }
  }
}