$(document).ready(OnDocReady);

function OnDocReady() {
	TargetNonPageLinks();
}

// Target all hyperlinks to new window (+ give class 'extLink'), unless is internal page link (or already has 'target' defined)
// 	If link doesn't contain an IMG, also add 'extLink' class (+ 'pdfLink' if applic)
function TargetNonPageLinks() {
	TargetNonPageLinks.reABS_URL = /^\w+:\/\//i;
	TargetNonPageLinks.rePAGE_URL = /(?:\.(?:asp|aspx|htm|html|txt)|\/)(?:$|\?)/i;		// also handles default file URLs (e.g., "/myDir/")
	window.PAGE_HOSTNAME = String(location.hostname).toLowerCase(); 

	// target external links to new win / add classes, if applicable
	$('a[href][target=]:not([href$=#])').filter(IsExternalURL).attr('target', '_blank')
		.not(':has(img)').addClass('extLink').filter('a[href$=.pdf]').addClass('pdfLink');
}

// returns true if specified link points to an external URL or to a non-HTML/ASP internal URL
function IsExternalURL() {
	// if is an external or non-page absolute URL, return true
	if( TargetNonPageLinks.reABS_URL.test(this.href) )
		// if points to an external domain, or if extension not recognised as a web page ..
		if( (String(this.hostname).toLowerCase() != PAGE_HOSTNAME) || !TargetNonPageLinks.rePAGE_URL.test(this.href) )
			return true;

	return false;			// return false for internal pages
}


// *************************************************
// PAGE TOOL LINKS
// *************************************************

function Bookmark(url, title) {
  if (window.sidebar) { // firefox
     window.sidebar.addPanel(title, url, "");
  } else if (document.all) { // IE
     window.external.addFavorite(url, title);
  } else if (window.opera && window.print) { // opera
     var elem = document.createElement('a');
     elem.setAttribute('href',url);
     elem.setAttribute('title',title);
     elem.setAttribute('rel','sidebar');
     elem.click();
  }
}

// rename "Add to Favourites" link to "Bookmark Page" if non-IE browser
function RenameFavLink() {
	if((!window.external || (typeof window.external.AddFavorite == "undefined")) && Ptr("aFavLink"))
		aFavLink.innerHTML = "<strong>Bookmark</strong> this Page";
}

function EmailPage() {
	alert("Sorry - this feature isn't yet available");
	// document.location = "emailPage.asp?emailURL=" + encodeURI(document.location);
}

function PopupBigImg(oEvent) {
	var sBigImgPath, oImg = oEvent.srcElement || oEvent.target;
	if(oImg && oImg.src)
		sBigImgPath = oImg.src.substr(0,oImg.src.length-4) +"_big."+ oImg.src.substr(oImg.src.length-3, oImg.src.length);
	if(sBigImgPath) 
		window.winBigImg = window.open(sBigImgPath, "winBigImg", "height=430,width=440,status=no,toolbar=no,menubar=no,location=no");
}
