
jQuery.noConflict();
jQuery(document).ready(function(){
	
	var className = 'topnav'
	var overClass = 'subhover';
	var activeClass = 'active';
	var timeOut = null;
	
	var hOver = function(){
		
		clearTimeout(timeOut);	// disable, and only active on out
		
		if (jQuery(this).find('ul.'+className+'')){	// has submenu?
			jQuery(this).parent().addClass(overClass); //On hover, add class "subhover"
			jQuery(this).addClass(overClass); //On over, add class "submenu"
		}
		// clean menu
		jQuery("ul.subnav").each(function(){
			var el = jQuery(this).parent();
			if (!el.hasClass(overClass) && !el.hasClass(activeClass)){
				el.find("ul.subnav").slideUp('fast').hide();
			}
		});
		
		jQuery(this).find("ul.subnav").slideDown('fast').show(); //Drop down the subnav	
	};
	
	var hOut = function(){	//On Hover Out
		jQuery(this).removeClass(overClass); //Del hover out, remove class "subhover"
		jQuery(this).parent().removeClass(overClass);
		
		// time delay on closing all menus
		timeOut = setTimeout(function(){
			
			jQuery("ul.subnav").each(function(){
				var target = jQuery(this).parent();
				//console.log(target, target.attr('class'))
				if (!target.hasClass(activeClass) && !target.hasClass(overClass)){
					jQuery(this).slideUp('slow');
				}		
			});
			
		}, 1000);
		
	};
	
	
	
	jQuery('ul.'+className+' li.active').each(function(){
		
		if (!target) var target = jQuery(this);
		
		while (!target.hasClass(className)){
			var p = target.parent();
			if (p && p.hasClass(className)) break;
			target = p;
		}
		// ready
		hOver.call(target);
	});
	
	jQuery('ul.'+className+' > li').hover(hOver, hOut);
	
	
	
});
