window.onload = function() {
	initNav();
	fixColumnHeights();
	externalLinks();
	
	if (typeof window.fixIE6Subnav == 'function') {
		fixIE6Subnav();
	}
}

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";
			anchor.className = "external-link";
		}
	}
}

function fixColumnHeights() {
	var max;
	
    var container = document.getElementById('container');
    var leftcolumn = document.getElementById('leftcolumn');
    var rightcolumn = document.getElementById('rightcolumn');
    
    var content;
    
    var divs = document.getElementsByTagName('div');
    
    for (var i = 0; i < divs.length; i++) {
    	if (divs[i].className == 'content') {
    		content = divs[i];
    		break;
    	}
    }
    
    var containerHeight = container.offsetHeight;
    var leftcolumnHeight = leftcolumn.offsetHeight + findPosY(leftcolumn);
    var contentHeight = content.offsetHeight + findPosY(content);
    var rightcolumnHeight = rightcolumn.offsetHeight + findPosY(rightcolumn);
    				
    max = leftcolumnHeight;
    max = contentHeight > max ? contentHeight : max;
    max = rightcolumnHeight > max ? rightcolumnHeight : max;
    
    if (content.offsetHeight < max) {
    	if (leftcolumnHeight == max) {
    		content.style.height = (containerHeight - 43) + 'px';
    	} else if (leftcolumnHeight == max) {
    		content.style.height = (containerHeight - 45) + 'px';
    		container.style.height = (containerHeight - 4) + 'px';
    	}
    }
    
    return;
}

function findPosY(obj) {
    var curtop = 0;
    
    if (obj.offsetParent) {
        while(1) {
        	curtop += obj.offsetTop;
        	
        	if (!obj.offsetParent) break;
        	
        	obj = obj.offsetParent;
        }
    } else if (obj.y) {
    	curtop += obj.y;
    }
    
    return curtop;
}

function initNav() {
	var lis = document.getElementById('nav').getElementsByTagName('li');

	for (i = 0; i < lis.length; i++) {
		if (!lis[i].lastChild.tagName) {
			continue;
		}
		
	    if (lis[i].lastChild.tagName.toLowerCase() == 'div') {
	    	if (lis[i].parentNode.parentNode.parentNode.tagName.toLowerCase() == 'li') {
	    		if (lis[i].firstChild.className != '') {
	    			lis[i].firstChild.className += ' haschildren';
	    		} else {
	    			lis[i].firstChild.className = 'haschildren';
	    		}
	    	}
	    	lis[i].onmouseover = function() {	
	     		this.lastChild.style.display = "block";
	        }
	        lis[i].onmouseout = function() {   
	        	this.lastChild.style.display = "none";
	        }
	    }
	}
}
