﻿Array.prototype.f_contains = function(s) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == s) return true;
	}
	return false;
}

addEvent(window, 'load', replace);

function replace() {
	// open links to downloadable files or other sites in a new window

	// known extensions for downloadable files
	var exts = ['png', 'jpg', 'jpeg', 'gif', 'pdf', 'doc', 'xls', 'ppt', 'zip', 'gz', 'mpg', 'mpeg', 'mov', 'mp4', 'avi', 'wmv', 'mp3', 'wav', 'swf', 'bmp', 'tif', 'tiff', 'svg'];

	var links = document.getElementsByTagName('a');

	for (var i = 0; i < links.length; i++) {

		var link  = links[i];

		// find extension
		var split_slash = link.href.split('/');
		var split_ext   = split_slash[split_slash.length - 1].split('.');
		var ext = split_ext[split_ext.length - 1];

		// check if extension indicates a downloadable file
		if (split_ext.length > 1) {
			if (exts.f_contains(ext)) {
				links[i].target = '_blank';
			}
		}

		// look for links to other sites
		if (link.href.substring(0, 7) == 'http://') {
			if (link.href.substring(7, 7 + window.location.hostname.length) != window.location.hostname) {
				links[i].target = '_blank';
			}
		}
	}

	var mainmenu = document.getElementById('mainmenu');
	if (mainmenu) {
		var mainmenu_items = mainmenu.getElementsByTagName('li');
		if (mainmenu_items) {
			for (var i = 0; i < mainmenu_items.length; i++) {
				var mainmenu_item = mainmenu_items[i];
				var menu_html = '';
				var mainmenu_item_ul = mainmenu_item.getElementsByTagName('ul')[0];
				if (mainmenu_item_ul) {
					var menu_items = mainmenu_item_ul.getElementsByTagName('a');
					if (menu_items) {
						for (var j = 0; j < menu_items.length; j++) {
							var menu_item = menu_items[j];
							menu_html += '<a href="' + menu_item.href +  '">' + menu_item.innerHTML + '</a><br />';
						}
					}
				}
				mainmenu_item.menu_html = menu_html;

				addEvent(mainmenu_items[i], 'mouseover', function() {
					var menu_photos_flash = thisMovie('menu_photos_flash');
					if (menu_photos_flash && menu_photos_flash.layerFade) {
						menu_photos_flash.layerFade('in', this.offsetLeft, this.menu_html);
					}
				});

				addEvent(mainmenu_items[i], 'mouseout', function() {
					var menu_photos_flash = thisMovie('menu_photos_flash');
					if (menu_photos_flash && menu_photos_flash.layerFade) {
						menu_photos_flash.layerFade('out', this.offsetLeft, this.menu_html);
					}
				});
			}
		}
	}

	function thisMovie(movie_name) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[movie_name];
		} else {
			return document[movie_name];
		}
	}
}