addEvent(window,'load',addPrintTool);
addEvent(window,'load',addPageBack);
addEvent(window,'load',searchFocus);

/* check for tools box and add a print button if found */
function addPrintTool() {
  var lists;
  if (lists = document.getElementsByTagName("ul")) {
    for (i=0; i<lists.length; i++) {
      if (lists[i].className == "tools") {
        printLi = lists[i].appendChild(document.createElement("li"));
        printOption = document.createElement("a");
        printOption.appendChild(document.createTextNode("Printable version"));
        printOption.className = "print";
        printOption.href = "javascript:window.print();";
        printLi.appendChild(printOption);
      }
    }
  }
}

/* apply focus to the search box automatically */
function searchFocus() {
	var searchText;
	if (searchText = document.getElementById("uiSearchTerms")) {
		searchText.focus();
	}
}

/* check for page tools and add a back button if found */
function addPageBack() {
  var pagetools;
  if (pagetools = document.getElementById("pagetools")) {
    backLi = pagetools.insertBefore(document.createElement("li"), pagetools.firstChild);
    backLi.className = "left";
    backOption = document.createElement("a");
    backOption.appendChild(document.createTextNode("Previous page"));
    backOption.href = "javascript:history.back();";
    backLi.appendChild(backOption);
  }
}

/* helper functions */
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}
