$(document).ready(function(){
	if($('ul.dropdown').length) {
		$('ul.dropdown li').dropdown();
		$('li.last').css('background','transparent');
	}
});

$.fn.dropdown = function() {
	return this.each(function() {
		var closetimer	= 0;
		var timeout 	= 500;
		var openitem	= 0;
		
		$(this).hover(function(){
			stopTimer();
			openitem = $(this);
			var hidden = openitem.children('ul').css('visibility');
			
			if(!hidden || hidden == 'hidden') {
				closeAll();
			}
			
			openDropdown();
		},function(){
			startTimer();
		});
		
		function startTimer() {
			closetimer = window.setTimeout(closeDropdown, timeout);
		}
		
		function stopTimer() {
			if(closetimer) {
				window.clearTimeout(closetimer);
				closetimer = null;
			}
		}
		
		function closeAll() {
			var parentitem = openitem.parent('ul');
			
			$('li > ul',parentitem).css('visibility', 'hidden');
		}
		
		function openDropdown() {
			openitem.addClass("hover");
			$('> .dir',openitem).addClass("open");
			
			$('ul:first',openitem).css('visibility', 'visible');
		}
		
		function closeDropdown() {
			if(openitem) {
				$(openitem).removeClass('hover');
				$('.open',openitem).removeClass('open');
				
				$('ul:first',openitem).css('visibility', 'hidden');
			}
		}
	});
}
