/*==================================================================+
|   Program: Set Current Page in Navigation Menu                    |
+===================================================================+
|  Language: JavaScript                                             |
|   Version: 2.0                                                    |
|      Date: 2005-11-08                                             |
|    Author: Iain Gardiner (http://www.firelightning.com)           |
|    E-mail: iain at firelightning.com                              |
| Copyright: (c) 2005 Iain Gardiner. All rights reserved.           |
+------------------------------------------------------------------*/

function setCurrentNavigation(navigationList)
{
	var navigationItems, navigationLink, currentLinkText, urlRegExp, i;
	navigationItems = navigationList.getElementsByTagName('li');

	for (i = 0; i < navigationItems.length; i++)
	{
		navigationLink = navigationItems[i].getElementsByTagName('a')[0];
		// Define test accounting for both filename and anchor extensions to the URL:
		urlRegExp = new RegExp("^" + navigationLink.href.replace('.', '\\.') + "(index\\.php)?(#.*)?$");

		// Test the current page address matches the navigation link:
		if (urlRegExp.test(window.location))
		{
			// Move the link text into the list item and trim any rogue spaces:
			currentLinkText = document.createTextNode(navigationLink.firstChild.nodeValue);
			navigationItems[i].appendChild(currentLinkText);
			// Remove the redundant link and set the list item's ID:
			navigationItems[i].removeChild(navigationLink);
			navigationItems[i].id = 'current';

			// Fix to remove extra node in IE:
			if (navigationItems[i].firstChild.nextSibling) navigationItems[i].removeChild(navigationItems[i].firstChild);
		}
	}
}