// Load display functions
addEvent(window, 'load', externalLinks);
addEvent(window, 'load', tabView_init);

// Hide tool panels and headings upon load
document.write('<style type="text/css" media="screen, projection">#viewBrochure, #viewQuote { display: none; } .tabView fieldset { margin: 0 1em; } .tabView legend { display: none; } #tabViewNav li a.catalogue { background: #f3f3f3; color: #333; }</style>');

// Opens external window from a link via rel="external"; mimics target="_blank", a W3C deprecated attribute
function externalLinks() {
if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
}
// Adds an event to the page
function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}
// Invoke mouseover menu functionality for IE
startList = function() {
	if (document.all && document.getElementById) {
		var node = document.getElementById("productNav").getElementsByTagName("LI");
		for (i=0; i<node.length; i++) {
			node[i].onmouseover = function() {
				this.className += " over";
			}
			node[i].onmouseout = function() {
				this.className = this.className.replace(new RegExp(" over\\b"), "");
			}
		}
	}
}
addEvent(window, 'load', startList);

// tabView switching functions
var tabView_toggleElements = [];
var previous_tab = '';
function tabView_init() {
	if (!document.getElementById('tabViewNav')) return;
	var i, j, link, id, target, first;
	first = true;
	j = 0;
	for (i = 0; (link = document.links[i]); i++) {
		if (/\btab\b/.exec(link.className)) {
			j++;
			id = link.href.split('#')[1];
            target = document.getElementById(id);
            tabView_toggleElements[tabView_toggleElements.length] = target;
			if (first) {
                link.className += ' current';
				link.parentNode.className = 'current';
				previous_tab = link;
				target.style.display = 'block';
				first = false;
            } else {
				target.style.display = 'none';
            }
            link.onclick = tabView_toggle;
		}
	}
}

function tabView_toggle(e) {
    /* Adapted from http://www.quirksmode.org/js/events_properties.html */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return true;
    }
    /* For most browsers, targ would now be a link element; Safari however
       returns a text node so we need to check the node type to make sure */
    if (source.nodeType == 3) {
        source = source.parentNode;
    }
    var id = source.href.split('#')[1];
    var elem;
    for (var i = 0; (elem = tabView_toggleElements[i]); i++) {
        if (elem.id != id) {
            elem.style.display = 'none';
        } else {
            elem.style.display = 'block';
			source.className = 'tab current';
        }
		if (previous_tab != source) {
			previous_tab.className = 'tab';
		}
		previous_tab = source;
    }
    return false;
}