function initNavigation() {
	var _slideSpeed = 450;
	var _subSlideSpeed = 250;
	var _fadeSpeed = 300;
	var _delayVal = 150;
	var _nav = $("#nav > ul");
	var _items = $("#nav > ul > li");
	var _timer;
	var _subTimer;

	$(_items[_items.length-2]).find("div > ul > li > ul").css("left",-116);
	$(_items[_items.length-1]).find("div > ul > li > ul").css("left",-116);

	_nav.find(" > li > a").each(function(){
		var _navholder = $(this).parent();
		var _slide = _navholder.find(" > div");
		var _sheight = 0;

		// calc height
		_slide.css("padding-left",_navholder.position().left)
		_sheight = _slide.height();
		_slide.css({overflow:"hidden",opacity:0,height: 0});

		// hover function
		_navholder.mouseenter(function(){
			_timer = setTimeout(function(){
				// animate slide
				_slide.stop().show().animate({opacity: 1, height: _sheight}, _slideSpeed, false, function(){
					_slide.css({overflow:"hidden"});
				});
			},_delayVal);
		}).mouseleave(function(){
			if(_timer) clearTimeout(_timer);
			// animate slide
			_slide.stop().animate({opacity: 0, height: 0}, _slideSpeed, false, function(){
				$(this).hide();
			});
		});

		// submenu
		var _dropItems = _slide.find('ul > li');
		if(_dropItems.length) {
			_dropItems.each(function(){
				var _holder = $(this);
				var _subMenu = _holder.find('>ul');

				if(_subMenu.length) {
					_subMenu.css({opacity: 0,display:'none'});

					$(this).hover(function(){
						_holder.css({zIndex:100});


						var _subHeight = _subMenu.height();
						var _diff = _subHeight + _holder.position().top;
						//_subTimer = setTimeout(function(){
							_slide.stop().show().animate({opacity: 1,height: _diff},{duration:_subSlideSpeed,queue:false});
							_subMenu.stop().show().animate({opacity: 1},{duration:_fadeSpeed,queue:false});
						//},250);
					},function(){
						_holder.css({zIndex:1});
						//if(_subTimer) clearTimeout(_subTimer);
						_subMenu.animate({opacity: 0},{duration:_fadeSpeed,queue:false});
						_slide.show().animate({opacity: 1, height: _sheight}, _subSlideSpeed, false);
					});
				}
			});
		}
	});

	$('#nav li').mouseenter(function(){
		$(this).addClass('hover');
	}).mouseleave(function(){
		$(this).removeClass('hover');
	});
}

if (window.addEventListener) window.addEventListener("load", initNavigation, false);
else if (window.attachEvent) window.attachEvent("onload", initNavigation);
