/**
ver 5 / 20120213
加入動態對level_1 , level_2 , level_3 <a>標籤沒有寫入href屬性時,填入href="javascript:;" ,令其產生鍵盤焦點事件
*/
	var mGrand;//整個選單DIV的參照
	var mSub_ul_ary;//垂直的第二層UL參照
	var mList_ul_ary;//垂直的側邊彈出第三層UL參照
	var index = 0;
	var all_li_ary;
	var run_timeout;
	
	function initGrandMenu(){
		mGrand = $('.grandMenu_css')[0];
		all_li_ary = $(mGrand).find('li');
		mSub_ul_ary = $(mGrand).find('.level_2');
		mList_ul_ary = $(mGrand).find('.level_3');
		
		initGrandMenuEvents();
		$(mGrand).css({visibility:'visible'});
		$(mSub_ul_ary).hide();//第二層UL隱藏
		$(mList_ul_ary).hide();//第三層UL隱藏
		//$(mGrand).show();
		
	}
	function initGrandMenuEvents(){
		//第一層UL LI的事件
		var _onmouseover = function (){
			//--關閉己身之外的選項
			var chk = $(this).parent()[0].className;
			if(chk == 'level_1'){
				//只在滑鼠觸發第一層時使用
				var tmp_ary = $(mGrand).find('.level_1 > li');
				for(var i = 0;i<tmp_ary.length;i++){
					var _li = tmp_ary[i];
					if(_li != this){
						_li.doOut();//關閉自身以外的選單
						var child_li_ary = $(_li).find('li');
						for(var j = 0;j<child_li_ary.length;j++){
							var _child_li = child_li_ary[j];
							_child_li.doOut();//關閉自身以外的選單的子係所有選單
						}
					}
				}
			} 
			if(chk == 'level_2'){
				//維持上一層的over狀態
				var obj = $(this).parent().parent()[0];
				var _a = $(obj).find('a')[0];
				$(_a).addClass('level_1_btn_hover');
			}
			if(chk == 'level_3'){
				//維持上一層的over狀態
				var obj = $(this).parent().parent()[0];
				var _a = $(obj).find('a')[0];
				_a.className = 'level_2_btn_hover';
			}
			//--關閉己身之外的選項
			this.doOver();
			
		};
		var _onmouseout = function (){
			var chk = $(this).parent()[0].className;
			if(chk == 'level_2'){
				//移除上一層的over狀態
				var obj = $(this).parent().parent()[0];
				var _a = $(obj).find('a')[0];
				$(_a).removeClass('level_1_btn_hover');
			}
			if(chk == 'level_3'){
				//移除上一層的over狀態
				var obj = $(this).parent().parent()[0];
				var _a = $(obj).find('a')[0];
				_a.className = 'tip';
			}
			this.doOut();
		};
		var _doOver = function (){
		
			if(this.hasMenu == true){
				if(this.sidePop == true){
					//當要彈出的選單是第三層,調整絕對定位的left
					var item_x = $(this).parent().width() + 'px';//取得父系物件UL的寬度
					$(this.ul_obj).css({left:item_x , top:this.ul_obj_TopFix + 'px'});//將彈出的選單的left設定為父係物件UL的寬度
					
				}
				$(this.ul_obj).show();
				//this.ul_obj.style.display = '';
			}
			
		};
		var _doOut = function (){
			if(this.hasMenu == true){
				$(this.ul_obj).hide();
				//this.ul_obj.style.display = 'none';
			}
		};
		var _onfocus = function (){
			this.markFocused = true;
			var tmp_ary = $(this.parentLi).parent().find('> li');
			for(var i = 0;i<tmp_ary.length;i++){
				var tmp_li = tmp_ary[i];
				tmp_li.doOut();
			}
			if(this.hasMenu == true){
				this.parentLi.doOver();
			}
			
		};
		var _onblur = function (){
			this.markFocused = false;
		};
		for(var i = 0;i<all_li_ary.length;i++){
			var _li = all_li_ary[i];
			_li.gid = i;
			_li.ul_obj_TopFix = 0;
			var _a = $(_li).find('div > a')[0];
			
			//--
			_li.ul_obj = $(_li).find('> ul')[0];
			_li.hasMenu = false;//是否內有一個彈出選單

			//--
			_a.parentLi = _li;//A上一層的LI
			_a.markFocused = false;//給予預設值認定沒有被瀏覽器focus到
			_a.hasMenu = false;//是否內有一個彈出選單
			//--
			
			if(!_a.href){
				//如果沒有href的屬性,填入href="javascript:;"
				_a.href = 'javascript:;';
			}
			if($(_li).find('> ul').length > 0){
				//檢查是否內含一個彈出選單
				_li.hasMenu = true;
				_a.hasMenu = true;
			}
			_li.sidePop = false;
			if(_li.ul_obj){
				//若內含一個彈出選單
				if(_li.ul_obj.className == 'level_3'){
					//檢查是否是第三層
					_li.sidePop = true;
					var serial_ary = $(_li).parent().find('> li');//取得_li同一層的LI
					/*
					var index = 0;
					for(var j = 0;j<serial_ary.length;j++){
						if(serial_ary[j] == _li){
							index = j;//_li取得由上而下的排序值
							break;
						}
					}
					_li.ul_obj_TopFix = $(_li).height()*index;//寫入一個調整子選項top座標的數值
					*/
					var index = 0;
					for(var j = 0;j<serial_ary.length;j++){
						if(serial_ary[j] != _li){
							index += $(serial_ary[j]).height();//_li取得由上而下的排序值
						} else if(serial_ary[j] == _li){
							break;
						}
					}
					_li.ul_obj_TopFix = index;//寫入一個調整子選項top座標的數值
				}
			}
			//--
			_li.doOver = _doOver;
			_li.doOut = _doOut;
			_li.onmouseover = _onmouseover;
			_li.onmouseout = _onmouseout;
			_a.onfocus = _onfocus;
			_a.onblur = _onblur;
		}
		//第一層UL LI的事件
		
		
	}
	function checkGrandMenuInFocusELE(){
		index++;
		var chk = 0;
		var all_ary = $(mGrand).find('a');
		for(var i = 0;i<all_ary.length;i++){
			if(all_ary[i].markFocused == true){
				chk++
			}
		}
		if(chk == 0){
			for(var i = 0;i<all_li_ary.length;i++){
				all_li_ary[i].doOut();
			}
		}
		//trace('偵測到鍵盤焦點(focus)事件已經離開選單區段');
		clearTimeout(run_timeout);
	}
	function trace(m){
		//$('#trace').text(m);
	}
