/* some basic wob functions

	most - if not all - of them require prototype
*/
/**
 * Greps all <a> tags with attribute rel="external" and
 * inserts a target="_blank" into the DOM tree.
 */
function externalLinks() {
	var anchors = $$('a[rel="external"]');
	for (var i=0; i<anchors.length; i++) {
		anchor = anchors[i];
		anchor.target = "_blank";
	}
}
document.observe("dom:loaded",externalLinks);
/**
 * add event listener to download links for Google Analytics tracking
 */
function observeDownloadLinks() {
	// fetch all a tags within div#content
	var links = $$('div[id="main1"] a');
	if (links.length == 0) return;
	for (var i=0; i<links.length; i++) {
		if (links[i].href.length == 0) continue; // empty link ?
		var link_path = links[i].pathname;
		if (location.host == links[i].hostname) {
			if (link_path.match(/\.(doc|pdf|xls|ppt|zip|vsd|vxd|rar|exe|wma|mov|avi|wmv|mp3)$/)) {
				// open PDF, DOC,... in a new Window
				if (link_path.match(/\.(pdf|doc|xls|ppt)$/)) links[i].target = "_blank";
				// observe the onclick event for google analytics
				links[i].observe('click', function(event) {
					evElement = Event.element(event);
					if (typeof(pageTracker) == 'object')
						pageTracker._trackPageview(evElement.pathname);
				})
			}
		}
	}
}
document.observe("dom:loaded",observeDownloadLinks);
/**
 * add event listener for mouseover on main nav
 */
function observeMainNav() {
	var altNavImgs = new Array;
	var navImgs = $$('div[id="topnav"] a img');
	for (var i=0; i<navImgs.length; i++) {
		// preload swap images
		altNavImgs[i] = $(navImgs[i].cloneNode(true)); 
		altNavImgs[i].src = navImgs[i].src.replace(/_off\.jpg/,"_on.jpg");
		// observe only images which are initially off
		if ( navImgs[i].src.match(/_off\.jpg$/) ) {
			navImgs[i].observe('mouseover', observeActionImgSwapOn);
		}
	}
}
	/**
	 * Helper Function to swap images off
	 */
	function observeActionImgSwapOff(e) {
		var elem = Event.element(e);
		if (elem.src.match(/_on\.jpg$/) ) {
			elem.src = elem.src.replace(/_on\.jpg/,"_off.jpg");
		}
		elem.stopObserving('mouseout');
		elem.observe('mouseover', observeActionImgSwapOn);
	}
	/**
	 * Helper Function to swap images on
	 */
	function observeActionImgSwapOn(e) {
		var elem = Event.element(e);
		if (elem.src.match(/_off\.jpg$/) ) {
			elem.src = elem.src.replace(/_off\.jpg/,"_on.jpg");
		}
		elem.stopObserving('mouseover');
		elem.observe('mouseout', observeActionImgSwapOff);
	}
document.observe("dom:loaded",observeMainNav);

