function nsOnResizeEvent() {
	if ((document.size.initWindowWidth != window.innerWidth) || (document.size.initWindowHeight != window.innerHeight)) {
		window.location.href = document.location;
	}
}

function nsOnResizeInit() {
	if (ns4) {
		if (typeof document.size == 'undefined') {
			document.size = new Object;
			document.size.initWindowWidth = window.innerWidth;
			document.size.initWindowHeight = window.innerHeight;
			window.onresize = nsOnResizeEvent;
		}
	}
}

nsOnResizeInit();

var timerID;

function showLayer(id) {
	if (document.all) document.all[id].style.visibility = 'visible';
	else if (ns4) document.layers[id].visibility = 'show';
	else if (dom2) document.getElementById(id).style.visibility = 'visible';
}

function hideLayer(id) {
	if (document.all) document.all[id].style.visibility = 'hidden';
	else if (ns4) document.layers[id].visibility = 'hide';
	else if (dom2) document.getElementById(id).style.visibility = 'hidden';
}


// The if and else was commeted out ---  This is for the link color on hover
function highlightColor(id) {
	//if (document.all) document.all[id].style.color = "red";
	//else if (dom2) document.getElementById(id).style.color = "red";
}

// The if and else was commeted out ---  This is for the link color on reset
function resetColor(id) {
	//if (document.all) document.all[id].style.color = 'green';
	//else if (dom2) document.getElementById(id).style.color = 'green';
}

function timeup(id) {
	var parentid = 'parent' + id; var childid = 'child' + id;
	restoreChildLayers();
	restoreParentLayers();
}

function restoreChildLayers() {
	var tempchildid = "";
	for (var i = 0; i < menus; i++){ 
		tempchildid = 'child' + i; 
		hideLayer(tempchildid);
	} 
}

function restoreParentLayers() {
	var parentlinkid = "";
	for (var j = 0; j < menus; j++){
		parentlinkid = 'parentlink' + j; parentcellid = 'parentcell' + j;
		if (j != activeparentid) {
			resetColor(parentlinkid);
			resetDivColor(parentcellid);
		}
	}
}

function onParent(id,childexists) {
	var parentid = 'parent' + id; var childid = 'child' + id; var parentlinkid = 'parentlink' + id; var parentcellid = 'parentcell' + id;
	if (timerID) clearTimeout(timerID);
	if (!ns4) restoreParentLayers();
	restoreChildLayers();
	if (!ns4) highlightColor(parentlinkid);
	if (!ns4) highlightDivColor(parentcellid);
	if (childexists) showLayer(childid);
}

// Main menu background color on hover
function highlightDivColor(id) {
	if (document.all) document.all[id].style.backgroundColor = hovercolor_parent;
	else if (dom2) document.getElementById(id).style.backgroundColor = hovercolor_parent;
}

// Main menu background reset color 
function resetDivColor(id) {
	if (document.all) document.all[id].style.backgroundColor = '';
	else if (dom2) document.getElementById(id).style.backgroundColor = '';
}

function offParent(id,childexists) { 
	if (!childexists) restoreParentLayers(); 
	timerID = setTimeout('timeup("' +  id  + '")',400);
}

function onChild() { clearTimeout(timerID); }

function offChild(id) { timerID = setTimeout('timeup("' +  id  + '")',400); } 

function buildstyle(type,id,z) {
	switch (type) {
		case "start": return '<style type="text/css">\n';
		case "end": return '</style>';
		case "parent": return (!ns4) ? '#parent' + id + ' { position: relative; width: 175px; visibility: visible; }\n' : '\n';
		case "child": return (ns4) ? '\n' : '#child' + id + ' { position: absolute; visibility: hidden; left: -400px; top: 120px; z-index: ' + z + '}\n';
		default: return '\n';
	}
}

function buildcss(stylestring){
	stylestring = buildstyle('start') + stylestring + buildstyle('end');
	document.write(stylestring);
}

function buildparenttablerow(parentname,parentlink,parenturl,i,childexists) {
	if (ns4) { 
		return '<tr><td><table width="175" cellspacing="0" cellpadding="0" border="0" class="sidenav"><tr id="parentcell' + i + '"><td width="15" valign="top"><img src="http://www.uncc.edu/template/media/images/sidenav_arrow3.gif" alt="" width="15" height="15" border="0"></td><td width="160" valign="top" ><ilayer id="parent' + i + '" visibility="hidden"><a id="parentlink'+ i +'" href="'+ linkbase + parenturl +'" onmouseover="onParent('+ i + ','+ childexists +');" onmouseout="offParent('+ i +','+ childexists +');">' + parentlink + '</a></ilayer></td></tr><tr><td colspan="2"><img src="http://www.uncc.edu/template/media/images/sidenav_line_7px.gif" alt="" width="10" height="7" border="0"></td></tr></table></td></tr>\n\n';
	} else {
		return '<tr><td><div id="parent' + i + '"><table width="175" cellspacing="0" cellpadding="0" border="0" class="sidenav"><tr id="parentcell' + i + '"><td width="15" valign="top"><img src="http://www.uncc.edu/template/media/images/sidenav_arrow3.gif" alt="" width="15" height="15" border="0"></td><td width="160" valign="top" ><a class="sidenav" id="parentlink'+ i +'" href="'+ linkbase + parenturl +'" onmouseover="onParent('+ i +',' + childexists +');" onmouseout="offParent('+ i +',' + childexists +');">' + parentlink + '</a></td></tr><tr><td colspan="2"><img src="http://www.uncc.edu/template/media/images/sidenav_line_7px.gif" alt="" width="175" height="7" border="0"></td></tr></table></div></td></tr>\n\n'; 
	}
}

/*

function buildparentactivetablerow(parentname,parentlink,parenturl,i) {
	if (ns4) { 
		if (i == 0) {
			return '<tr><td id="parentcell' + i + '"><table cellspacing="0" cellpadding="0" border="0"><tr><td><ilayer id="parent' + i + '" visibility="hidden"><a id="parentlink'+ i +'" href="'+ linkbase + parenturl +'"><img src="' + linkbase + 'images/' + navimagedir + parentname + '_off.gif" alt="" width="145" height="21" border="0" name="' + parentname + '"></a></ilayer></td></tr></table></td></tr>\n\n';
		} else {
			return '<tr><td><img src="' + linkbase + 'http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="145" height="3" border="0"></td></tr><tr><td id="parentcell' + i + '"><table cellspacing="0" cellpadding="0" border="0"><tr><td><ilayer id="parent' + i + '" visibility="hidden"><a id="parentlink'+ i +'" href="'+ linkbase + parenturl +'"><img src="' + linkbase + 'images/' + navimagedir + parentname + '_off.gif" alt="" width="145" height="21" border="0" name="' + parentname + '"></a></ilayer></td></tr></table></td></tr>\n\n';
		} 
	} else {
		if (i == 0) {
			return '<tr><td id="parentcell' + i + '"><div id="parent' + i + '"><table width="145" cellspacing="0" cellpadding="0" border="0"><tr><td><a id="parentlink'+ i +'" href="'+ linkbase + parenturl +'"><img src="' + linkbase + 'images/' + navimagedir + parentname + '_off.gif" alt="" width="145" height="21" border="0" name="' + parentname + '"></a></td></tr></table></div></td></tr>\n\n'; 
		} else {
			return '<tr><td><img src="' + linkbase + 'http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="145" height="3" border="0"></td></tr><tr><td id="parentcell' + i + '"><div id="parent' + i + '"><table width="145" cellspacing="0" cellpadding="0" border="0"><tr><td><span class="nav"><a id="parentlink'+ i +'" href="'+ linkbase + parenturl +'"><img src="' + linkbase + 'images/' + navimagedir + parentname + '_off.gif" alt="" width="145" height="21" border="0" name="' + parentname + '"></a></td></tr></table></div></td></tr>\n\n'; 
		}
	}
}

*/

function buildchildmenu(childtablerows,childnumber) {
	var childtable = '<table cellspacing="0" cellpadding="0" border="0" width="200"><tr valign="top"><td width="2" bgcolor="green"><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width=2 height=1 border="0"></td><td bgcolor="#f1f0e2"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr bgcolor="black"><td><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="1" height="1" border="0"></td></tr>';
// Change the popup menu colors here
	childtable += childtablerows;
	childtable += '</table></td><td width="1" bgcolor="black"><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="1" height="1" border="0"></td></tr><!-- Bottom Border and Child Width Sizing --><tr bgcolor="black"><td><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="2" height="1" border="0"></td><td><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="' + childwidth +'" height="1" border="0"></td></tr></table>';

	var childlayerstart = (ns4) ? '<layer id="child' + childnumber + '" z-index="'+ eval(7 + childnumber) +'" left="250" top="120" width="175" visibility="hidden" onmouseover="onChild(' + childnumber + ');" onmouseout="offChild(' + childnumber + ');">' : '<div id="child' + childnumber + '" onmouseover="onChild(' + childnumber + ');" onmouseout="offChild(' + childnumber + ');">';
	var childlayerend = (ns4) ? '</layer>\n\n' : '</div>\n\n';
	return childlayerstart + childtable + childlayerend;
}

// change the line below for the line in the pop menu
function buildchildtablerow(parentname,childlink,childurl) {

highlight = "bgcolor=\"#f1f0e2\" onMouseover=\"this.bgColor='" + hovercolor_child +"'\" onMouseout=\"this.bgColor='#f1f0e2'\" ";
	return '<tr><td ' + highlight + '><table cellspacing="4" cellpadding="0" border="0" class="sidenav"><tr><td width="15" valign="top"><img src="http://www.uncc.edu/template/media/images/sidenav_arrow3.gif" alt="" width="15" height="15" border="0"></td><td><a href="' + linkbase + childurl +'">'+ childlink + '</a></td></tr></table></td></tr><tr><td><img src="http://www.uncc.edu/template/media/images/spacer.gif" alt="" width="10" height="1" border="0"></td></tr>\n';
}

/*

function buildchildactivemenu(childtablerows,childnumber) {
	var childtable = '<tr><td bgcolor="#6f8f8f"><table width="100%" cellspacing="5" cellpadding="0" border="0">' + childtablerows + '</table></td></tr>';
	return childtable;
}

function buildchildactivetablerow(childname,childlink,childurl) {
	if (activechild == childname) {
		return '<tr><td align="right"><span class="sidenav"><a href="' + linkbase + childurl +'">&gt; '+ childlink + '</a></span></td></tr>\n';
	} else {
		return '<tr><td align="right"><span class="sidenavon"><a href="' + linkbase + childurl +'">'+ childlink + '</a></span></td></tr>\n';
	}
}

*/


var parentstring = ''; var childstring = ''; var stylestring = '';
var menus = 0;
var activeparentid = null;

var navimagedir = 'nav/'

/*if (activeparent == 'home') {
	navimagedir += 'home/';
}*/

function buildnav() {
	var i = 0; var childtablerows = ''; var childexists;
	
	parentstring = '<table width="175" cellspacing="0" cellpadding="0" border="0" class="sidenav">\n\n';
	
	for (parentname in navigation) {
		for (var parentlink in navigation[parentname]) {
			stylestring += eval('buildstyle(\'parent\',' + i + ')');
			for (var parenturl in navigation[parentname][parentlink]) {
				if (parentname != activeparent) {
					for (var childname in navigation[parentname][parentlink][parenturl]) {
						for (var childlink in navigation[parentname][parentlink][parenturl][childname]) {
							var childurl = navigation[parentname][parentlink][parenturl][childname][childlink];
							childtablerows += buildchildtablerow(parentname,childlink,childurl);
						}
					}
					childexists = (childtablerows != '') ? true:false;
					parentstring += buildparenttablerow(parentname,parentlink,parenturl,i,childexists);
					stylestring += eval('buildstyle(\'child\',' + i + ',' + (7 + i) + ')');
					childstring += buildchildmenu(childtablerows,i);
					childtablerows = '';
				} /*else {
					activeparentid = i;
					parentstring += buildparentactivetablerow(parentname,parentlink,parenturl,i);
					for (var childname in navigation[parentname][parentlink][parenturl]) {
						for (var childlink in navigation[parentname][parentlink][parenturl][childname]) {
							var childurl = navigation[parentname][parentlink][parenturl][childname][childlink];
							childtablerows += buildchildactivetablerow(childname,childlink,childurl);
						}
					}
					parentstring += buildchildactivemenu(childtablerows,i);
					stylestring += eval('buildstyle(\'child\',' + i + ',' + (7 + i) + ')');
					childtablerows = '';
					childstring += buildchildmenu(childtablerows,i);
				}*/
			}
			i++;
			menus++;
		}
	}
	
	parentstring += '</table>';
}


// This is the offset of the menu  from the Left nav.

function init() {
	var childid = ""; var parentid = "";
	if (ns4) {
		for (var i = 0; i < menus; i++) {
			parentid = 'parent' + i; childid = 'child' + i;
			window.document.layers[childid].pageX = window.document.layers[parentid].pageX + 160;
			window.document.layers[childid].pageY = window.document.layers[parentid].pageY - 4;
			window.document.layers[parentid].visibility = 'show';
		}
	} else if (ie4) {
		for (var j = 0; j < menus; j++){
			parentid = 'parent' + j; childid = 'child' + j;
			window.document.all[childid].style.pixelTop = window.document.all[parentid].offsetTop;
			window.document.all[childid].style.pixelLeft = window.document.all[parentid].offsetLeft + 176;
		}
	} else if (dom2) {
		for (var j = 0; j < menus; j++){
			parentid = 'parent' + j; childid = 'child' + j;
			document.getElementById(childid).style.left = document.getElementById(parentid).offsetLeft + 176;
			document.getElementById(childid).style.top = document.getElementById(parentid).offsetTop;
		}
	}
}


function pickRandom(max) {
	return Math.floor(Math.random() * max);
}


buildnav();
buildcss(stylestring);
