
//用于使某些jQuery对象产生相同的高度
function equalHeight(group,need_auto) {    
	tallest = 0;
	if (need_auto==null){
		need_auto=true;
	}
	if (need_auto){
		group.css({'height':'auto'});
	}
	if (group.length){
		group.each(function() {  
			thisHeight = jQuery(this).height();    
			if(thisHeight > tallest) {    
				tallest = thisHeight;    
			}    
		});    
		group.height(tallest);    
	}	
}


//用于菜单下拉,仅支持至三层菜单,二层下拉,三层铺开,传值使用菜单的包裹DIV,第二值用于下拉的第二层Li的宽度设定,第三值使用位置标识,仅支持left/right,第四值为有三层的情况下第二层横向显示的最大个数,结构: 
/*
<div>
	<ul>
		<li><a></a>
			<ul></ul>//如果有子项的话,也是这样的顺序
		</li>
	</ul>
</div>
*/

function nav_slideDown(group,li_width,pos,nums){
	
	if (group.length){
		group.each(function (){
			jQuery(this).addClass('nav_slideDown');
			jQuery(this).children('ul').children('li:last').addClass('last');
			var first_ul=jQuery(this).children('ul');
			var first_li=first_ul.children('li');
			var is_left=false;
			var is_right=false;
			switch (pos) {
				case 'right':
						first_ul.addClass('first_ul').addClass('fr');
						first_li.addClass('first_li').addClass('fr');
						is_right=true;
					break;
				case 'left':
				default:
						first_ul.addClass('first_ul').addClass('fl');
						first_li.addClass('first_li').addClass('fl');
						is_left=true;
					break;
			}
			first_li.children('ul').hide();//隐藏第一层以下的菜单
			first_li.hover(function (){
				jQuery(this).addClass('hover');
				jQuery(this).children('ul').stop().css({height:'auto',display:'none'}).slideDown('fast');
			},function (){
				jQuery(this).removeClass('hover');
				jQuery(this).children('ul').stop().slideUp('slow');
			});
			//第二层开始
			first_li.each(function (){
				var second_ul=jQuery(this).children('ul');
				jQuery(this).children('a').addClass('first_li_a');
				if (second_ul.length){
					jQuery(this).children('a').addClass('has_more');
					jQuery(this).addClass('has_second');
					var second_li=second_ul.children('li');
					var first_lis=jQuery(this).parent().children('li');
					var index=first_lis.index(jQuery(this));
					var is_last=false;
					second_ul.addClass('second_ul');
					second_li.addClass('second_li');
					if (index==(first_lis.length-1)){
						is_last=true;
					}
					li_width=li_width-0;
					if (!li_width){
						li_width=100
					}
					second_ul.css({
						'position':'absolute',
						'left':'0',
						'top':jQuery(this).outerHeight()
					});
					if (is_last){
						second_ul.css({
							'left':'auto',
							'right':'0'
						});
					}
					second_li.css({
						'width':li_width,
						'display':'block',
						'float':'none'
					});
					//第三层开始
					second_li.each(function (){
						var third_ul=jQuery(this).children('ul');
						if (third_ul.length){
							var third_li=third_ul.children('li');
							var second_li=jQuery(this);
							var second_ul=second_li.parent('ul');
							var liw=second_li.outerWidth();
							var second_lis=second_ul.children('li');
							var first_li=second_ul.parent();
							first_li.addClass('has_third');
							var first_lis=first_li.parent('ul').children('li');
							var total=first_lis.length;//第一层Li的总数
							var second_total=second_lis.length;//第二层Li的总数
							var index=first_lis.index(first_li);//拥有第三层的第一层Li的序号
							third_ul.addClass('third_ul');
							third_li.addClass('third_li');
							second_lis.css({
								'float':'left'
							});
							second_ul.css({
								'width':liw*second_total,
								'overflow':'hidden'
							});
							third_ul.css({
								'display':'block'
							});
							second_li.hover(function (){
								jQuery(this).addClass('second_li_hover');
							},function (){
								jQuery(this).removeClass('second_li_hover');
							});
							second_li.children('a').addClass('second_li_a');
							if(!nums) nums=5;//第二层横向最大个数
							if (second_total<nums) nums=second_total;
							var half_num=Math.floor((nums)/2);//第二层的中间位置
							var to_end=total-index-1;//第一层Li离最后一个的距离
							if(is_left){//假如整体导航是左排列
								second_ul.css({//通常的偏移量
									'left':-half_num*liw
								});
								if (index<half_num){//如果是在左端的偏移量
									second_ul.css({
										'left':-index*liw
									});
								}
								if (to_end<half_num){//如果是在右端的偏移量
									second_ul.css({
										'right':-to_end*liw,
										'left':'auto'
									});
								}
							}
						}
					});
				}
			});
		});
	}
}





