addLoadEvent(doPopups)

function checkLinks(linkHref){ // return link extension from specified choice
    var linkHrefParts = linkHref.split(".");
    
    // extension is the last element in the LinkSplit array
    var extension = linkHrefParts[linkHrefParts.length - 1];

    // In some browsers there is a "/" placed after the link. removes the "/"
    extension = extension.replace("/","");

    //if( extension in { doc:1, pdf:1, ppt:1, txt:1, xls:1, zip:1 } ){
	if( extension in { pdf:1, ppt:1 } ){
        return extension;
    } else {
		return false;
    }
}

function openLink(oururl,features) { // SP2 friendly popups hopefully
    var winname=""; // Leave blank for multiple windows
	if(!features) { features="" }
	if (oururl) {
		try	{		    
			window.open(oururl,winname,features);		
			return false;
		} catch (e)	{
			return true; // Just use normal link if popup cannot open
		}
	}
}

function doPopups() { // Open links .'class' in new windows
  if (!document.getElementsByTagName) return false;
  var links = document.getElementsByTagName("a");
  for (var i=0; i < links.length; i++) {
    if ( links[i].className.match("popup")  || links[i].className.match("file")  ) {
      links[i].onclick = function() {
        openLink(this.href);
        return false;
      }
	 	links[i].title = "This link will open in a new window";
		if ( checkLinks(links[i].href) ){
			links[i].className += " extfile " + checkLinks(links[i].href);
		}
    }
  }
}

// Global onLoad function handler
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
	  		oldonload();
	  		func();
		}
	}
}