Code:
/************************* for navigation menu ************************************/
function displayNavigationMenu(page) {
var element = document.getElementById('navigation');
if(element != null) {
element.innerHTML = drawNavigationMenu(page);
}
}
function drawNavigationMenu(currentPage) {
var menuHTML = '<p style="margin-left: 7px; width: 143px;">' ;
//0-root 3-parent 1-child; keep child only under a parent
var pages = new Array("0#Home:index.html",
"0#Blog:blogger.html",
"0#Resume:resume.html",
"0#My Papers:mypapers.html",
"0#My Projects:myprojects.html",
"3#My Projects Parent:myprojects1.html",
"1#My Projects Child1:myprojects2.html",
"1#My Projects Child2:myprojects3.html",
"1#My Projects Child3:myprojects4.html",
"3#My P Parent:myp1.html",
"1#My P Child1:myp2.html",
"1#My P Child2:myp3.html",
"1#My P Child3:myp4.html",
"0#My Photos:myphotos.html",
"0#Coolquotes:cooloquotes.html",
"0#Slambook:slambook.html",
"0#Downloads:downloads.html",
"0#Links:links.html",
"0#Contact:contact.html");
for(var i=0; i<pages.length; i++) {
navLevel = parseInt(pages[i].substr(0,pages[i].indexOf("#")));
var displayName = pages[i].substr(pages[i].indexOf("#") + 1,pages[i].indexOf(":") - 2);
var pageName = pages[i].substr(pages[i].indexOf(":") + 1);
//alert(" navLevel " + navLevel + " displayName " + displayName + " pageName " + pageName);
if(navLevel == 0) {
if(currentPage == pageName) {
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav active')
}
else {
menuHTML = menuHTML + getNavigationMenuLink(pageName, displayName, 'nav')
}
} else if (navLevel == 3) { // If it encounters currentPage as Parent Page Link
if(currentPage == pageName) {
//i = displayParentChild(i,pages,menuHTML,currentPage);
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav active')
while (true) {
// alert('going back')
i++;
navLevel = parseInt(pages[i].substr(0,pages[i].indexOf("#")));
if (navLevel != 1) {
i--;
break;
}
var displayName = pages[i].substr(pages[i].indexOf("#") + 1,pages[i].indexOf(":") - 2);
var pageName = pages[i].substr(pages[i].indexOf(":") + 1);
if(currentPage == pageName) {
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav sub active')
}
else {
menuHTML = menuHTML + getNavigationMenuLink(pageName, displayName, 'nav sub')
}
}
} else {
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav')
}
} else if (navLevel == 1) {
// If it encounters currentPage as Child Page Link ; It goes back till it finds parent and Iterates parent till child
// alert ('if == 1 CURRENT PAGE ' + currentPage + ' pageName ' + pageName)
if(currentPage == pageName) {
//alert ('if == 1' + 'curr==page')
while (i >= 0) {
i--;
navLevel = parseInt(pages[i].substr(0,pages[i].indexOf("#")));
// alert ('going back ' + i + ' navLevel ' + navLevel )
if(navLevel == 3)
{
//i = displayParentChild(i,pages,menuHTML,currentPage);
var displayName = pages[i].substr(pages[i].indexOf("#") + 1,pages[i].indexOf(":") - 2);
var pageName = pages[i].substr(pages[i].indexOf(":") + 1);
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav active')
while (true) { //Display all the child under this Parent
i++;
navLevel = parseInt(pages[i].substr(0,pages[i].indexOf("#")));
if (navLevel != 1) {
break;
}
var displayName = pages[i].substr(pages[i].indexOf("#") + 1,pages[i].indexOf(":") - 2);
var pageName = pages[i].substr(pages[i].indexOf(":") + 1);
if(currentPage == pageName) {
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav sub active')
}
else {
menuHTML = menuHTML + getNavigationMenuLink(pageName, displayName, 'nav sub')
}
}
break;
}
}
}
}
}
// alert(menuHTML);
menuHTML = menuHTML + '</p>';
return menuHTML;
}
function displayParentChild(index,pages,menuHTML,currentPage) {
var displayName = pages[index].substr(pages[index].indexOf("#") + 1,pages[index].indexOf(":") - 2);
var pageName = pages[index].substr(pages[index].indexOf(":") + 1);
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav active')
while (true) { //Display all the child under this Parent
index++;
navLevel = parseInt(pages[index].substr(0,pages[index].indexOf("#")));
if (navLevel != 1) { //Break if no Child
index--;//To revert if non child element found
break;
}
var displayName = pages[index].substr(pages[index].indexOf("#") + 1,pages[index].indexOf(":") - 2);
var pageName = pages[index].substr(pages[index].indexOf(":") + 1);
if(currentPage == pageName) {
menuHTML = menuHTML + getNavigationMenuLink(pageName ,displayName ,'nav sub active')
}
else {
menuHTML = menuHTML + getNavigationMenuLink(pageName, displayName, 'nav sub')
}
}
return index;
}
function getNavigationMenuLink(pageName,displayName,class) {
var navigationLink = '<a class="'+ class + '" href="' + pageName + '">' + displayName + '</a><span class="hide"> | </span>' + '\n'
//alert(colorLink);
return navigationLink
}
/************************* end of navigation menu ************************************/
Bookmarks