/*
 *	navigation list item auto-resizing
 *	Copyright (c) 2007 Traction Corporation.  All Rights Reserved
 *	http://www.tractionco.com/
 *
 *  edited 12/15 to contain livescribe navbar prototype code
 */

if (typeof Prototype!='undefined') {
    Event.observe(window, 'load', tnavInit, false);
}

var kTopLevelWidth = 900;	// width of top-level template elements
var boxAmt = 1;		// amount of horizontal padding, border, margin in the top nav li's

var tnavRan = false;
var tnavWait = false;
		
function tnavInit() {
	if(tnavRan) return;
	if(tnavWait) return;
	var checkfor = document.getElementById('noscriptnav');
	if(!checkfor){
		var theNav = document.getElementById('tnavList');
		if(theNav == null) return false;
		var navItemsPre = theNav.getElementsByTagName('li');
		
		var o=0
		var navItems = new Array();
		for(n=0;n<navItemsPre.length;n++){
			if(navItemsPre[n].parentNode.id == "tnavList"){
				navItems[o] = navItemsPre[n];
				o++
			}
		}
				
		var realItemWidth = kTopLevelWidth/navItems.length;
		
		if(realItemWidth != Math.floor(realItemWidth)){
			var lowItemWidth = Math.floor(realItemWidth);
			var highItemWidth = Math.ceil(realItemWidth);
			var itemWidthArr = new Array();
			for(i=0;i<navItems.length;i++){
				itemWidthArr[i] = lowItemWidth;
			}
			var k=0;
			while(tableSummation(itemWidthArr) != kTopLevelWidth){
				itemWidthArr[k] = highItemWidth;
				k++;
			}
			for(l=0;l<navItems.length;l++){
				if(l!=0){
					navItems[l].style.width = (itemWidthArr[l] -boxAmt) + "px";
				}else{
					navItems[l].style.width = (itemWidthArr[l] -boxAmt +1) + "px";
				}
			}
		} else {
			for(m=0;m<navItems.length;m++){
				if(m!=0){
					navItems[m].style.width = (realItemWidth -boxAmt) + "px";
				} else {
					navItems[m].style.width = (realItemWidth -boxAmt +1) + "px";
				}
			}
		}
	}
	tnavRan = true;
}

function tableSummation(theArr){
	var tableSum = 0;
	for(j=0;j<theArr.length;j++) {
		tableSum += theArr[j];
	}
	return tableSum;
}

var dynamicNavBar = "/cgi-bin/WebObjects/LDApp.woa/wa/lsNavBar";
var staticNavBar = "/include/mainnav.html";
function insertNavBar() {
	tnavWait = true;
	function staticNav() { new Ajax.Updater('navMenu', staticNavBar, { method: "GET", onSuccess: function(transport) { tnavWait = false; tnavInit(); }}); };
	if(document.cookie.indexOf("li=") != -1) // if there is a cookie named "li"
		new Ajax.Request(dynamicNavBar, {
			onException: staticNav,
			onFailure: staticNav,
			onSuccess: function(transport) {
				// this method relies on "bad" pages beginning with "<!DOCTYPE"
				if(transport.responseText.substr(0, 9) == "<!DOCTYPE") staticNav();
				else $('navMenu').innerHTML = transport.responseText;
				tnavWait = false;
				tnavInit();
			}
		});
	else
		staticNav();
}