/*
 Sets the sticky state for Contribute templates.
*/
	function parseUri (str) {
		var	o   = parseUri.options,
			m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
			uri = {},
			i   = 14;
	
		while (i--) uri[o.key[i]] = m[i] || "";
	
		uri[o.q.name] = {};
		uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
			if ($1) uri[o.q.name][$1] = $2;
		});
	
		return uri;
	};
	
	parseUri.options = {
		strictMode: false,
		key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
		q:   {
			name:   "queryKey",
			parser: /(?:^|&)([^&=]*)=?([^&]*)/g
		},
		parser: {
			strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
			loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
		}
	};

	window.onload = function() { 
	
		parseUri.options.strictMode = true;
		var fileName = parseUri(location.href).relative;
		var directoryPath = parseUri(location.href).directory;
		
		//alert(fileName.substring(1,fileName.length));
		var navList = document.getElementById("subnav");
		
		var higlighted = false;

		
		if (navList!=null) {
		
			var navItems = navList.getElementsByTagName("LI");
			if (navItems.length > 0 ) {
			
				for (i=0; i<navItems.length; i++) {
	
					var pageName = parseUri(navItems[i].childNodes[0]).relative;
					var pagePath = parseUri(navItems[i].childNodes[0]).directory;
										 
					if (pageName==fileName){
						climbNodes(navItems[i], navList, "LI", "subSelected");
						higlighted = true;
						
						// alert(pageName + '==' + filename);
						
						break;
					}
				}
			}
		}
		
		if (navList!=null && !higlighted) {
		
			var navItems = navList.getElementsByTagName("LI");
			if (navItems.length > 0 ) {
			
				for (i=0; i<navItems.length; i++) {
	
					var pageName = parseUri(navItems[i].childNodes[0]).relative;
					var pagePath = parseUri(navItems[i].childNodes[0]).directory;
										 
					if (directoryPath.indexOf(pagePath)!=-1 && pageName.indexOf('index.php')!=-1) {
						climbNodes(navItems[i], navList, "LI", "subSelected");
						break;
					}
				}
			}
		}
				
		function climbNodes(node, finalNode, matchingTag, className) {
		
			while (node!=finalNode && node!=null) {
				if (node.tagName == matchingTag) {
					node.childNodes[0].className = className;
				}
					
				node = node.parentNode;
			}
		}
	}
	
 