
menu = {  
  
  display_submenu1: function(e){
    //clear all existing sub menus
    $("ul>li>ul").each(function(){
	   thisclass = $(this).attr('className');

	   if (thisclass!='display_ul'){
	  $(this).css('display','none');
	  $(this).css('visibility','hidden');
	  }
	});
	$("#menu_cat li a").each(function(){
		$(this).css('background-color', '');
		$(this).css('border', '');
	});
	//display this level
	$(this).css('background-color', '#DDDDDD');
	$(this).css('border', '1px solid #BBBBBB');
	
	$(this).next().css('display','block');
	$(this).next().css('visibility','visible');
	$(this).next().css('zIndex', '900');
	if ($(this).parent().attr('className') != 'display_li') $(this).next().css('background-color', '#DDDDDD');
	$("ul#menu_cat>li>ul>li>a").hover(menu.display_submenu2, menu.nothing);
  },
  
  display_submenu2: function(e){
  	/*clear all existing sub menus*/
	if ($(this).parent().parent().attr('className') == 'display_ul'){

		$("ul>li>ul").each(function(){
			thisclass = $(this).attr('className');
			if (thisclass!='display_ul'){
				$(this).css('display','none');
				$(this).css('visibility','hidden');
			}
		});	
	} //if
	
    $("ul>li>ul>li>ul").each(function(){

	 thisclass = $(this).attr('className');

	   if (thisclass!='display_ul'){
	  $(this).css('display','none');
	  $(this).css('visibility','hidden');
	  }
	});	

/*
console.log($(this).next().text());
var offset = $(this).next().offset();
console.log('offsetTop'+offset.top+'offsetLeft'+offset.left);
var position = $(this).next().position();
console.log('positionTop'+position.top+'positionLeft'+position.left);
*/
    //display this level	
	$(this).next().css('display','block');
	$(this).next().css('visibility','visible');
	if ($(this).parent().attr('className') != 'display_li') $(this).next().css('background-color', '#DDDDDD');
	$("ul#menu_cat>li>ul>li>ul>li>a").hover(menu.display_submenu3, menu.nothing);
  },  

  display_submenu3: function(e){
  	/*clear all existing sub menus*/
	
	if ($(this).parent().parent().parent().attr('className') == 'display_ul'){
		$("ul>li>ul").each(function(){
			thisclass = $(this).attr('className');
			if (thisclass!='display_ul'){
				$(this).css('display','none');
				$(this).css('visibility','hidden');
			}
		});	
		$("ul>li>ul>li>ul").each(function(){
			thisclass = $(this).attr('className');
			if (thisclass!='display_ul'){
				$(this).css('display','none');
				$(this).css('visibility','hidden');
			}
		});			
	} //if
	
    $("ul>li>ul>li>ul>li>ul").each(function(){
	 thisclass = $(this).attr('className');

	   if (thisclass!='display_ul'){
	  $(this).css('display','none');
	  $(this).css('visibility','hidden');
	  }
	});	

    //display this level	
	$(this).next().css('display','block');
	$(this).next().css('visibility','visible');
	if ($(this).parent().attr('className') != 'display_li') $(this).next().css('background-color', '#DDDDDD');
  },  
  
  emptyf: function(){
	$("#menu_cat li>ul ").each(function(){
		  thisclass = $(this).attr('className');
		  if (thisclass!='display_ul'){
			  $(this).css('display','none');
			  $(this).css('visibility','hidden');
		  }
		 
	  });
	$("#menu_cat li a").each(function(){
		$(this).css('background-color', '');
		$(this).css('border', '');
	});
  },
  nothing: function(){
  },

 
  readyFunction: function(){

	if (navigator.appVersion.indexOf('MSIE 8.0') != -1){
		$('#menu_cat li>ul').css('position','absolute');
		$('#menu_cat li>ul').css('z-index','2');
		$('#menu_cat .display_li >ul').css('position','relative');
		$('#menu_cat .display_li >ul').css('z-index','1');
	}
	
	//.display_li is for extended categories
	$("ul#menu_cat>li:not(.display_li)>a").hover(menu.display_submenu1, menu.nothing); 
	$("ul#menu_cat>li>ul>li>a").hover(menu.display_submenu2, menu.nothing);
	$("ul#menu_cat>li>ul>li>ul>li>a").hover(menu.display_submenu3, menu.nothing);
	$("#menu_category").hover(menu.nothing, menu.emptyf);
	//if the category has been extended, the top parent category will not respond to hover event
	$('#menu_cat>.display_li>a').hover(menu.nothing, menu.nothing);
	
  }
}
$(document).ready(menu.readyFunction);