/* Make it easy to add events either the W3C way or the IE way */
function addEvent(o, e, f) {
  if (o.addEventListener) {
    o.addEventListener(e, f, false);
    return true;
  } else if (o.attachEvent)
    return o.attachEvent("on"+e, f);
  else
    return false;
}

function explain_flag(flag) {
  /* open a new window */
  var win = window.open('/about/flags.php?flag=' + flag,
                        'help',
                        'height=300,width=275,toolbar=no,status=no,scrollbars=yes');
  return !win;
}

function setup_flags() {
  if (!document.getElementById) return;
  var body = document.getElementById('body');
  if (!body || !body.getElementsByTagName) return;
  var tbody = body.getElementsByTagName('tbody');
  if (!tbody || !tbody.length) return;

  for (var i = 0; i < tbody.length; i++) {
    var link = tbody[i].getElementsByTagName('a');
    if (!link || !link.length) continue;
    for (var j = 0; j < link.length; j++) {
      if (!link[j].href.match(/about\/flags\.php#flag:([\w-]+)/)) continue;
      (function () {
        var flag = RegExp.$1;
        link[j].onclick = function () { return explain_flag(flag); };
      })();
    }
  }
}

addEvent(window, 'load', setup_flags);

