function addEvent(elm, evType, fn, useCapture) {
   if (elm.addEventListener) {
      elm.addEventListener(evType, fn, useCapture);
      return true;
   }
   else if (elm.attachEvent) {
      var r = elm.attachEvent('on' + evType, fn);
      return r;
   }
   else {
      elm['on' + evType] = fn;
   }
}

var newWindow = null;

function closeWin() {
   if (newWindow != null) {
      if (!newWindow.closed)
         newWindow.close();
   }
}

function popUpWin(url, type, strWidth, strHeight) {
   closeWin();
   type = type.toLowerCase();
   if (type == "fullscreen") {
      strWidth = screen.availWidth;
      strHeight = screen.availHeight;
   }
   var tools="";
   if (type == "standard") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
   if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",left=0,top=0";
   newWindow = window.open(url, 'newWin', tools);
   newWindow.focus();
}

function doPopUp(e) {
   //set defaults - if nothing in rel attrib, these will be used
   var t = "console";
   var w = "450";
   var h = "300";
   //look for parameters
   attribs = this.rel.split(" ");
   if (attribs[1]!=null) {t = attribs[1];}
   if (attribs[2]!=null) {w = attribs[2];}
   if (attribs[3]!=null) {h = attribs[3];}
   //call the popup script
   popUpWin(this.href,t,w,h);
   //cancel the default link action if pop-up activated
   if (window.event) {
      window.event.returnValue = false;
      window.event.cancelBubble = true;
   } 
   else if (e) {
      e.stopPropagation();
      e.preventDefault();
   }
}

function findPopUps() {
   var popups = document.getElementsByTagName("a");
   for (i=0;i<popups.length;i++) {
      if (popups[i].rel.indexOf("popup")!=-1) {
         popups[i].onclick = doPopUp;
         if (popups[i].rel.indexOf("noicon")==-1) {
            popups[i].className = popups[i].className + " popup";
         }
         popups[i].title = popups[i].title + " [Opens in pop-up window]";
      }
      if (popups[i].rel.indexOf("new")!=-1) {
         popups[i].onclick = function() {
            window.open(this.href);
            return false;
         }
         if (popups[i].rel.indexOf("noicon")==-1) {
            popups[i].className = popups[i].className + " new";
         }
         popups[i].title = popups[i].title + " [Opens in new window]";
      }
   }
}

addEvent(window, 'load', findPopUps, false);
