// JavaScript Document

// open links in a new window
function formatLinks(){
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	var mapanchors = document.getElementsByTagName("area");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&	anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
			var h = anchor.getAttribute("href");
			anchor.href = '/external/external.html?' + h;
		}
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "internal") {
			anchor.target = "_blank";
		}
	}
	for (var i=0; i<mapanchors.length; i++) {
		var mapanchor = mapanchors[i];
		if (mapanchor.getAttribute("href") && mapanchor.getAttribute("rel") == "external") {
			mapanchor.target = "_blank";
			var h = mapanchor.getAttribute("href");
			mapanchor.href = '/external/external.html?' + h;
		}
		if (mapanchor.getAttribute("href") && mapanchor.getAttribute("rel") == "internal") {
			mapanchor.target = "_blank";
		}
	}
}

// Accessible, logical pop up windows
// Author: James Craig
// usage example:
// <a href="[page]" onclick="return pop(this,'width=420,height=550,scrollbars,resizable,location','[window name]');" onkeypress="verifyKey(this,event);">
// one browser sniff to account for a known bug
var sUserAgent = navigator.userAgent.toLowerCase();
var isOp = (sUserAgent.indexOf('opera')!=-1)?true:false;

// make new popup window
function pop(oAnchor,sProps,sWindow){
	var sUrl = '';

	// get URL from calling link oAnchor
	if(oAnchor.getAttribute) sUrl = oAnchor.getAttribute('href');
	if(sUrl=='') sUrl = oAnchor.href;

	// if still no URL, return true and let the regular link take over
	if(sUrl=='') return true;

	// set window name ('_blank' for new window each time)
	var sWindowName = sWindow?sWindow:'reusedWindow';

	// if no window properties are defined in the function call's optional parameter 'sProps'
	if(!sProps) sProps = 'width=640,height=480,scrollbars,resizable,toolbar,status,menubar,location';

	// assign the popup to this variable so we can verify it exists
	if(sUrl) var oPopup = window.open(sUrl,sWindowName,sProps);

	// An Opera bug returns too early if you focus the window, so we don't focus it in that browser.
	// Only a noticable defect if a window is already open and hidden.
	if(oPopup && !isOp) oPopup.focus();

	// If popup was created successfully, cancel link in calling window.
	// Acts as regular link in browser that blocks requested popups or has JavaScript turned off.
	return (oPopup)?false:true;

}

// switch an image src without preloading and leave it
function switchImg(sImg,sSrc){
	oImg = document.images[sImg];
	// return true or false based on assignment
	return !(oImg.src = 'img/' + sSrc);
}

// With onkeypress event, this verifies 'Enter' key
function verifyKey(oElement,oEvent){
	if(oEvent.keyCode==13 && oElement.onclick) oElement.onclick();
}
// end pop up windows code