if(typeof API == 'undefined') API = {};
API.menu = new function(){
	
	this.create = function(s){
		return new menu(s);
	}	
	var menu  = function(s){
	
		var instance = this;
		var params = {
			menu: '#head ul.menu',
			item: ' > li',
			children: '.children',
			hover: 'hover'
		};
		jQuery.extend(params,s);
		var tId = null;
		this.init = function(){
			var item = jQuery(params.menu+" "+params.item);
			//if(li){
				item.unbind('mouseenter');
				item.mouseenter(function(){
					instance.clearDelay();
					item.removeClass(params.hover);
					jQuery(this).addClass(params.hover);
				});
				item.unbind('mouseleave');
				item.mouseleave(function(){
					var tLi = jQuery(this);
					instance.clearDelay();
					tId = setTimeout(function(){
						tLi.removeClass(params.hover);
					},200);
					//jQuery(this).removeClass(params.hover);
				});
			//}			
		}
		this.clearDelay = function(){
			try{
				clearTimeout(tId);
			}catch(e){
				
			}
		}
		jQuery(document).ready(function(){
			instance.init();
		});		
	}	
}
