var popup_window = {

  addEvent: function(elm, evType, fn, useCapture) {
    // addEvent cross-browser event handling for IE5+ NS6/Mozilla
    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;
    }
  },
  
  getElementsByClass: function(searchClass,node,tag) {
	  var classElements = new Array();
	  if ( node == null )
		  node = document;
	  if ( tag == null )
		  tag = '*';
	  var els = node.getElementsByTagName(tag);
	  var elsLen = els.length;
	  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	  for (i = 0, j = 0; i < elsLen; i++) {
		  if ( pattern.test(els[i].className) ) {
			  classElements[j] = els[i];
			  j++;
		  }
	  }
	  return classElements;
  },
  
  setup: function() {
    var popLinks = popup_window.getElementsByClass("popup_window");
    for (i =  0; i < popLinks.length; i++) {
      popup_window.addEvent(popLinks[i], 'click', popup_window.openNewWindow, false);
      popLinks[i].onclick = popup_window.cancelClick;
    }
  },
  
  cancelClick: function() {
    return false;
  },
  
  openNewWindow: function(e) {
    var el;
    if (window.event && window.event.srcElement)
      el = window.event.srcElement;
    if(e && e.target)
      el = e.target;
    if (!el)
      return;
      
    while(el.nodeName.toLowerCase() != 'a' &&
      el.nodeName.toLowerCase() != 'body')
      el = el.parentNode;
    
    window.open(el.href,'psi_tour','toolbar=0, width=750, height=525, resizable=1, scrollbars=yes');
    
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.stopPropagation && e.preventDefault) {
      e.stopPropagation();
      e.preventDefault();
    }
  }
  
}

popup_window.addEvent(window, 'load', popup_window.setup, false);

