$.fn.navMenu = function(opt){
	var init = {
		layout 	      : 'menu-layout',
		styleDefault    : 'menu-default',
		styleHover      : 'menu-hover',
		styleDefaultSub : 'submenu-default',
		styleHoverSub   : 'submenu-hover',
		styleSubmenu	: 'submenu',
		styleSubmenuItem : 'submenuItem',
		menuDirection	: 'right',
		menuType	: 'drop',
		menuCurrentPage : ''
	}
	var opt = $.extend(init, opt);

	// Set related class to menu such as "DROP" , "SLIDE" , "ACORD"
	opt.layout = opt.menuType + "-" + opt.layout
	opt.styleDefault = opt.menuType + "-" + opt.styleDefault
	opt.styleHover = opt.menuType + "-" + opt.styleHover
	opt.styleDefaultSub = opt.menuType + "-" + opt.styleDefaultSub
	opt.styleHoverSub = opt.menuType + "-" + opt.styleHoverSub
	opt.styleSubmenu = opt.menuType + "-" + opt.styleSubmenu
	opt.styleSubmenuItem = opt.menuType + "-" + opt.styleSubmenuItem

	var id  = '#'+this.attr('id');
	var eid  = this.attr('id');
	$(this).addClass(opt.layout);
	var IDlargura = $(id).width();

	// Set arrow class to submenu
	$(id + " div[class='sitebaansubmenuarrow']").removeClass("sitebaansubmenuarrow").addClass(opt.menuType + "-nav-submenuarrow")

	// make root menu
	$(this).children('li').addClass(opt.styleDefault).hover(function(){
		$(this).removeClass(opt.styleDefault).addClass(opt.styleHover);
		var submenu = $(this).children('ul').addClass(opt.styleSubmenu);
		if(submenu[0]){
			if (opt.menuType == "slide")
				submenu.css("margin-top", -17 )
			submenu.show();
		}
	},function(){
		$(this).removeClass(opt.styleHover).addClass(opt.styleDefault).children('ul').delay(50).fadeOut(200);
		//$subroot);
	});


	// make submenus and set hove and mouseleave
	$(id+' li').children('ul').children('li').hover(function(){
		$(this).removeClass(opt.styleDefaultSub).addClass(opt.styleHoverSub);
		var submenuItem = $(this).children('ul').addClass(opt.styleSubmenuItem);
		if(submenuItem[0]){
			submenuItem.css('margin-top',-17);
		}
		if($(this).parent('ul.' + opt.menuType + 'submenuItem')[0]){
			subLarguraItemTotal = submenuItem.width()*4; // 600px
			if (opt.menuType == "drop")
				submenuItem.css(opt.menuDirection, $(this).parent('ul').width()-5+'px')
			/*
			if(IDlargura<=subLarguraItemTotal){
				submenuItem.css(opt.menuDirection, '-'+$(this).parent('ul').width()+'px')
			}else{
				submenuItem.css(opt.menuDirection, $(this).parent('ul').width()-5+'px')
			}
			*/
		}else{
			if (opt.menuType == "drop")
				submenuItem.css(opt.menuDirection, $(this).parent('ul').width()-5+'px')
		}
		submenuItem.show();
	},function(){
		$(this).removeClass(opt.styleHoverSub).addClass(opt.styleDefaultSub).children('ul').fadeOut(200);
	})


	// change background of selected menu & parents
	/*
		$("#sberror").remove()
		$("body").prepend("<textarea readonly='readonly' id='sberror' style='height:100px;width:700px;font-family:tahoma;background-color:#fff1a8;padding:4px;font-size:11px;border:1px solid #000;'></textarea>")
		$("#sberror").val("MENU ID == " + eid + "\n")
	*/
	$(id + " li").each(function(){
		lihtml = $(this).html()
		if (lihtml.indexOf(opt.menuCurrentPage) > 0) {
			if ($(this).parent().attr("id") == eid)
				$(this).addClass(opt.menuType + "-nav-menu-layout-selected-root");
			else
				$(this).addClass(opt.menuType + "-nav-menu-layout-selected");
		}
	})

	// show menu after set all parameters	and loaded completly
	$(this).show()
}
