var baseSubNavFader = function() {
	
	var navObjs = $$('li.mainNavObj');
	
	navObjs.each(function(element) {
		
		var baseNavLink = element.getElement('a');
		var baseSubNav = element.getElement('ul');
		var objectHeight;
		
		element.addEvent('mouseenter', function(){
			
			if(baseSubNav != null) {
				
				baseSubNav.setStyle('display', 'block');
				
				objectHeight = baseSubNav.getStyle('height').toInt();
				objectHeight = objectHeight + 24;
				
				var fxObj = new Fx.Morph(element, {duration: 50, transition: Fx.Transitions.Quad.easeIn, wait: false}).start({
					'height':[objectHeight]
				});
				//element.setStyle('height', objectHeight);
				
				var baseSubNavObjs = element.getElements('li.mainSubNavObj');
				
				baseSubNavObjs.each(function(subElement){
					
					var baseSubNavLink = subElement.getElement('a');
					
					subElement.setStyle('opacity', '0.9');
					subElement.setStyle('background-color', '#aeaeae');
					baseSubNavLink.setStyle('color', '#ffffff');
					
					subElement.addEvent('mouseenter', function(){
						var fxSubObj = new Fx.Morph(subElement, {duration: 50, transition: Fx.Transitions.Quad.easeInOut, wait: true}).start({
							'opacity':[1],
							'background-color': '#3183A2'
						});
						var fxSubLink = new Fx.Morph(baseSubNavLink, {duration: 50, transition: Fx.Transitions.Quad.easeInOut, wait: true}).start({
							'color':'#ffffff'
						});
					});
					
					subElement.addEvent('mouseleave', function(){
						var fxSubObj = new Fx.Morph(subElement, {duration: 50, transition: Fx.Transitions.Quad.easeInOut, wait: true}).start({
							'opacity':[0.9],
							'background-color': '#aeaeae'
						});
						var fxSubLink = new Fx.Morph(baseSubNavLink, {duration: 50, transition: Fx.Transitions.Quad.easeInOut, wait: true}).start({
							'color':'#ffffff'
						});
					});
					
				});
			}
			
		});
		
		element.addEvent('mouseleave', function(){
			
			if(baseSubNav != null) {
				
				var fxObj = new Fx.Morph(element, {duration: 50, transition: Fx.Transitions.Quad.easeOut, wait: false}).start({
					'height':[24]
				}).chain(function(){
					baseSubNav.setStyle('display', 'none');
				});
				//element.setStyle('height', '24px');
				//baseSubNav.setStyle('display', 'none');
			}
			
		});
		
	});
	
};
