glow.ready(function(){
	var $ = glow.dom.get;
	//get current page id -> to compare with mouseover'd className
	var currentActiveLink = glow.dom.get('div#nav-main > ul > li.'+glow.dom.get('body').attr('id'));
    
    var mainLinks = glow.dom.get('div#nav-main > ul > li');
    
    mainLinks.each(function(i){
    	if(glow.dom.get(mainLinks[i]).parent().parent().attr('id') == 'nav-main'){
    		glow.dom.get(mainLinks[i]).children().each(function(uls){
    			if(glow.dom.get(glow.dom.get(mainLinks[i]).children()[uls]).is('ul')){
    				glow.dom.get(glow.dom.get(mainLinks[i]).children()[uls]).addClass('hidden');
    			}
    		});
    	}//end if
    });//end each

	// - display current active link children
    showDefaultActiveLink();
    
	function showDefaultActiveLink()
	{
		if(currentActiveLink.children().length == 0){
			if(glow.dom.get('div#nav-main > ul > li.contact > ul').hasClass('hidden')){
				glow.dom.get('div#nav-main > ul > li.contact > ul').removeClass('hidden');
			}
			glow.dom.get('div#nav-main > ul > li.contact > ul').addClass('showing');
		}else{
			currentActiveLink.children().each(function(i){
				if(glow.dom.get(this).is('ul')){
					if(glow.dom.get(this).hasClass('hidden')){
						glow.dom.get(this).removeClass('hidden');
					}
					glow.dom.get(this).addClass('showing');
				}
			});
		}
	}
	
	function hideDefaultActiveLink()
	{
		if(currentActiveLink.children().length == 0){
			if(glow.dom.get('div#nav-main > ul > li.contact > ul').hasClass('showing')){
				glow.dom.get('div#nav-main > ul > li.contact > ul').removeClass('showing');
			}
			glow.dom.get('div#nav-main > ul > li.contact > ul').addClass('hidden');
		}else{
			currentActiveLink.children().each(function(i){
				if(glow.dom.get(this).is('ul')){
					if(glow.dom.get(this).hasClass('showing')){
						glow.dom.get(this).removeClass('showing');
					}
					glow.dom.get(this).addClass('hidden');
				}
			});
		}
	}
	// - the stage is set now...lets start off with the event handlers and listeners
	glow.events.addListener(mainLinks, 'mouseenter', mouseEnter);
	glow.events.addListener(mainLinks, 'mouseleave', mouseLeave);
	
	function mouseEnter(ev)
	{
		hideDefaultActiveLink();
		glow.dom.get(ev.attachedTo).children().each(function(i){
			if(glow.dom.get(this).is('ul')){
				if(glow.dom.get(this).hasClass('hidden')){
					glow.dom.get(this).removeClass('hidden');
				}
				glow.dom.get(this).addClass('showing');
			}else{
				// - the h3
				if(glow.dom.get(this).is('h3')){
					addH3HoverClass(glow.dom.get(this));
				}
			}
		});
	}

	function mouseLeave(ev)
	{
		glow.dom.get(ev.attachedTo).children().each(function(i){
			if(glow.dom.get(this).is('ul')){
				if(glow.dom.get(this).hasClass('showing')){
					glow.dom.get(this).removeClass('showing');
				}
				glow.dom.get(this).addClass('hidden');
			}else{
				if(glow.dom.get(this).is('h3')){
					removeH3HoverClass(glow.dom.get(this));
				}
			}
		});
		showDefaultActiveLink();
	}
	
	function addH3HoverClass(node)
	{
		node.addClass('hover');
	}
	
	function removeH3HoverClass(node)
	{
		if(node.hasClass('hover')){
			node.removeClass('hover');
		}
	}
});