// JavaScript Document

var intervalMenu = 800;



$.fn.DropdownMenu = function (settings) {

	settings = jQuery.extend(

		{

			leftPos				:	"auto",

			itemActive		:	"",

			subItemActive	: -1,

			classShow			: "show",

			eventClick		:	false,
			
			returnActive	: true

		}, settings

	);

	

	return this.each ( function () {

		var menu = this;

		var menuItem = $(this).find(">li");

		var lastMenuActive = settings.itemActive;

		var subitemActive = settings.subItemActive;

		var classVisible = settings.classShow;

		var timeOut = setTimeout ('',0);

		var lastMenuHover = null;

		var actionClick = false;

		

		/* initialisation */

		$('#' + lastMenuActive).addClass('active');

		$('#' + lastMenuActive).next().addClass(classVisible);

		

		if (subitemActive != -1)

			$('#' + lastMenuActive).next().find("a").eq(subitemActive).addClass("active");

		

		$(menuItem).hover ( function () {



			if ( $(this).find(">a").attr("class") != 'nohover' ) {

				$(menu).find("li").find(">a").next().removeClass();	

				$(menu).find("li").find(">a").removeClass("active");

			}

			

			$(this).find(">a").not('.nohover').addClass("active");

			$(this).find(">a").not('.nohover').next().addClass(classVisible);

			lastMenuHover = this;

			if ($('#' + lastMenuActive).attr('id') != $(this).attr('id')) {

				actionClick = false;

			}

			//console.log ($('#' + lastMenuActive).attr('id'), $(this).find(">a").attr('id'));

			

			

			

		}, function(){ 	});

		

		$(menuItem).find("a").not('.nohover').hover( function () {

			clearTimeout(timeOut);

		}, function () {
			
			if ( settings.returnActive ) {

				timeOut = setTimeout ( function () {
	
					$(menu).find("li").find(">a").next().removeClass();	
	
					//console.log (actionClick);
	
					if ( !actionClick ) {
	
						$(menu).find("li").find(">a").removeClass("active");
	
						if (lastMenuActive != "") {
	
							if (!settings.eventClick)
	
								$('#' + lastMenuActive).next().addClass(classVisible);
	
							$('#' + lastMenuActive).addClass('active');
	
						}	
	
					}
	
				}, intervalMenu );
			
			}

		});	

		



		

		$(menuItem).find("a").not('.nohover').click  ( function () { 

			if (settings.eventClick && ($(this).attr('href').indexOf('javascript') == -1)) {

				actionClick = true;

				lastMenuActive = $(lastMenuHover).find(">a").attr('id');

				clearTimeout(timeOut);	

				$(lastMenuHover).find(">a").next().removeClass();
				
				$(lastMenuHover).find(">a").addClass("active");

			}

			

		})

		

	})

}
