var Navigation = Class.create();
Navigation.prototype = {
	initialize: function() {
		this.showSecondaryNavigationHandler = this.showSecondaryNavigation.bindAsEventListener(this);
		this.showTertiaryNavigationHandler = this.showTertiaryNavigation.bindAsEventListener(this);
		this.registerEvents();
		this.collapseMenus('ul.tertiary-nav','ul.secondary-nav');
		this.loadDefaultMenus();
	},
	
	collapseMenus: function() {
		
		for ( var y = 0 ; y < arguments.length ; y++ ) {
			var menus = $$(arguments[y]);
			
			for ( var x = 0 ; x < menus.length ; x++ ) {
				var menu = menus[x];
				menu.hide();
			}
		}
	},
	
	resetStyles: function(items) {
		var links = $$(items);
		for ( var x = 0 ; x < links.length ; x++ ) {
			var element = links[x];
			if (element.hasClassName('navselected')) {
				element.removeClassName('navselected');
			}
		}
	},
	
	loadDefaultMenus: function() {
		var links = $$('ul.primary-nav li a');
		for ( var x = 0 ; x < links.length ; x++ ) {
			var link = links[x];
			
			if (link.hasClassName("navselected")) {
				link.up().up().show();
				
				var next = link.next();
				if (typeof(next) != "undefined") {
					next.show();
				}
			}
		}
	},
	
	registerEvents: function() {
		$$('ul.primary-nav')[0].show();
		
		var links = $$('ul.primary-nav li a');
		for ( var x = 0 ; x < links.length ; x++ ) {
			if (links[x].up().up().hasClassName('primary-nav')) {
				Event.observe(links[x], 'click', this.showSecondaryNavigationHandler);
			}
		}
		
		var links = $$('ul.secondary-nav li a');
		for ( var x = 0 ; x < links.length ; x++ ) {
			if (links[x].up().up().hasClassName('secondary-nav')) {
				Event.observe(links[x], 'click', this.showTertiaryNavigationHandler);
			}
		}
	},
	
	showSecondaryNavigation: function(e) {
		var srcElement = Event.element(e);
		var strElement = '' + srcElement;		
		var index = strElement.indexOf("/initiatives.aspx");	
		var descendants = srcElement.up().descendants();
		
		this.resetStyles('ul.primary-nav li a');
		this.collapseMenus('ul.secondary-nav');
		srcElement.addClassName('navselected');
		
		for ( var x = 0 ; x < descendants.length ; x++ ) {
			var element = descendants[x];
			if (element.hasClassName('secondary-nav')) {
				element.show();				
			}
		}
		
		if (index < 0){
		    Event.stop(e);	
		}		
		
		this.collapseMenus('ul.tertiary-nav');
	},
	
	showTertiaryNavigation: function(e) {
		var srcElement = Event.element(e);
		var descendants = srcElement.up().descendants();
		
		this.resetStyles('ul.secondary-nav li a');
		this.collapseMenus('ul.tertiary-nav');
		srcElement.addClassName('navselected');
		
		
		var isEvent = srcElement.hasClassName('event');
		for ( var x = 0 ; x < descendants.length ; x++ ) {
			var element = descendants[x];
			if (element.hasClassName('tertiary-nav')) {
				var links = element.getElementsByTagName('a');
				if (links.length > 1) {
					if (!isEvent) {
						element.show();
						Event.stop(e);
					}
				}
				else if (links.length == 1) {
					location.href = links[0];
					Event.stop(e);
				}
			}
		}
	}
}

//Event.observe(window, 'load', function() { new Navigation(); });

