function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function addUnloadEvent(func) {
  var oldonunload = window.onunload;
  if (typeof window.onunload != 'function') {
    window.onunload = func;
  } else {
    window.onunload = function() {
      oldonunload();
      func();
    }
  }
}
function addPrintLink() {
  if (!document.getElementById || !document.createTextNode) return false;
  if (!document.getElementById('site-tools')) return false; 
  if (!window.print) return false;
  var oTarget = document.getElementById('site-tools');
  var oLinkParent = document.createElement('li');
  var oLink = document.createElement('a');
  oLink.id = 'print-link';
  oLink.href = '#';
  oLink.appendChild(document.createTextNode('Print this page'));
  oLink.onclick = function() {window.print(); return false;}
  oTarget.appendChild(oLinkParent);
  oLinkParent.appendChild(oLink);
};
function addMailLink(sTargetEl,sLinkText) {
  if (!document.getElementById || !document.createTextNode) return false;
  if (!document.getElementById('footer-tools')) return false;
  if (!window.location.href.mailto == "undefined") return false;
  var oTarget = document.getElementById('footer-tools');
  var oLinkParent = document.createElement('li');
  var oLink = document.createElement('a');
  oLink.id = 'mail-link';
  oLink.href = 'mailto:?body=I thought this link might interest you: ' + window.location;
  oLink.appendChild(document.createTextNode('Email to a friend'));
  oLink.onclick = function(){};
  oTarget.appendChild(oLinkParent);
  oLinkParent.appendChild(oLink);
}
function prepareLinks() {
  if (!document.getElementsByTagName) return;
  var lnks = document.getElementsByTagName("a");
  for (var i=0; i<lnks.length; i++) {
    if (lnks[i].getAttribute("rel") == "popup") {
      lnks[i].onclick = function() {
        popUp(this.getAttribute("href"));
        return false;
      }
    }
  }
}
function popUp(winUrl) {
  window.open(winUrl, "popup", "width=500,height=400");
}
addLoadEvent(addPrintLink);
addLoadEvent(addMailLink);
addLoadEvent(prepareLinks);
