var menuItemArray = new Array();
var menuItemselectIndex = -1;
var isMenuShow = false;
var m_pageSize = 10;
var m_page = 1;
var sg_cache = new Object();
function SB_ShowMenu(ctrlID, show){
	var menu = document.getElementById(ctrlID + "_Menu");
	
	if(show){
		var btn = document.getElementById(ctrlID + "_TextBox");
		if(btn){
			var x = btn.offsetLeft;
			var y = btn.offsetTop;
			while(btn = btn.offsetParent){
				x += btn.offsetLeft;
				y += btn.offsetTop;
			}
			menu.style.left = x;
			menu.style.top = y + 22;
		}
		menu.style.display = "block";
    isMenuShow = true;
    try{
    	aliclick(document, "?tracelog=saleofferlist_pro_suggestshow");
    }catch(e) {}
	}
	else{
		menu.style.display = "none";
		isMenuShow = false;
	}
}

function SB_OnDropDown(ctrlID){
	SB_LoadMenuItemArray(ctrlID);
	document.getElementById(ctrlID + "_TextBox").focus();
}

function SB_OnBlur(ctrlID, event){
	SB_ShowMenu(ctrlID, false);
}

function SB_OnKeyDown(ctrlID, event){
	// 13: ENTER
	if((!isMenuShow || menuItemselectIndex == -1) && event.keyCode == 13){
			return true;
		}
	if(event.keyCode == 13 || event.keyCode == 24) return false;
	else return true;
}

function SB_OnKeyUp(ctrlID, event){
	var returnvalue = false;
	switch(event.keyCode){
		case 38: // UP
			SB_SetMenuItemselectIndex("OFFSET", -1);
			SB_RebuildMenuselection(ctrlID);
			break;
			
		case 40: // DOWN
			SB_SetMenuItemselectIndex("OFFSET", 1);
			SB_RebuildMenuselection(ctrlID);
			break;
			
		case 13: // ENTER
			SB_selectMenuItem(ctrlID);
                        if(!isMenuShow || menuItemselectIndex == -1){
                            returnvalue = true;
                         }
			break;
			
		case 24: // ESC
			SB_ShowMenu(ctrlID, false);
			break;
			
		default:
		
			SB_LoadMenuItemArray(ctrlID);
			returnvalue = true;
			break;
	}
	return returnvalue;
}

function SB_selectMenuItem(ctrlID){
	var text = "";
	var menu = document.getElementById(ctrlID + "_Menu");
	var menuItemList = menu.childNodes;
	for(var i=0; i< menuItemList.length; i++){
		if(i == menuItemselectIndex){
			text = menuItemList[i].innerHTML;
			break;
		}
	}
	
	if(text != "") document.getElementById(ctrlID + "_TextBox").value = text;
	try{
    	aliclick(document, "?tracelog=saleofferlist_pro_suggestdo");
    }catch(e) {}
	SB_ShowMenu(ctrlID, false);
	return false;
}

function SB_SetMenuItemselectIndex(action, index){
	if(action == "SET")
		menuItemselectIndex = index;
	if(action == "OFFSET") 
		menuItemselectIndex += index;
		
	if(menuItemselectIndex < 0) menuItemselectIndex = menuItemArray.length -1;
	if(menuItemselectIndex >= menuItemArray.length) menuItemselectIndex = 0;
}

function SB_RebuildMenu(ctrlID){
	var html = "";
	var start = 0;
	if(m_page <= 0) m_page = 1;
	var maxPage = parseInt((menuItemArray.length + m_pageSize - 1)/m_pageSize);
	if(m_page > maxPage) m_page = maxPage;
	start = (m_page - 1)* m_pageSize;
	for(var i= start; i<menuItemArray.length && i < start + m_pageSize; i++){
		html += "<div";
		html += " onmousedown=\"SB_selectMenuItem('" + ctrlID + "');\"";
		html += " onmouseover=\"SB_SetMenuItemselectIndex('SET', " + i + "); SB_RebuildMenuselection('" + ctrlID + "');\"";
		html += " onBlur=\"return SB_ShowMenu('" + ctrlID + "', true);\"";
		html += ">";
		html += menuItemArray[i];
		html += "<\/div>";
	}
	html += "<div align=\"center\" style=\"margin-top:5px;color:#666;BACKGROUND-COLOR: #fde6da;border-top:1px solid #fdd2be;height:18px;font-size:12px;padding-top:5px\">阿里新功能：帮助您选择更准确的关键词<\/div>";
	document.getElementById(ctrlID + "_Menu").innerHTML = html;
	
	menuItemselectIndex = -1;
}

function SB_RebuildMenuselection(ctrlID){
	var menu = document.getElementById(ctrlID + "_Menu");
	var menuItemList = menu.childNodes;
	for(var i=0; i< menuItemList.length; i++){
		if(i == menuItemselectIndex) menuItemList[i].className = "MB_MenuselectedItem";
		else menuItemList[i].className = "";
	}
}

function SB_LoadMenuItemArray(ctrlID){

var v=document.getElementById(ctrlID + "_TextBox").value;
    if(v ==""){
        SB_ShowMenu(ctrlID, false);
        return;
    }
  if( v.length < 2 || v.length >5){
         SB_ShowMenu(ctrlID, false);
         return;
  }
  menuItemArray = sg_cache[v];
  if(typeof menuItemArray =='undefined'){
     menuItemArray = null;
     SB_LoadIt(ctrlID,v);
  }else{
    if(menuItemArray && menuItemArray.length > 0){
          showMenuNeeded = true;
          SB_RebuildMenu(ctrlID);
          SB_ShowMenu(ctrlID, true);
    }else{
    	SB_ShowMenu(ctrlID, false);
    }
  }
    
}
function SB_LoadIt(ctrlID,v){
		
	var httpRequest = SB_GetHttpRequest();
        sg_cache[v] = null;
	httpRequest.onreadystatechange = function()
	{
		if(httpRequest.readyState == 1)// 开始加载
		{
			//html = "数据载入中...";
		}
		
		if(httpRequest.readyState == 4)	// 调用完毕
		{
			if(httpRequest.status == 200) // 加载成功
			{
		
				var showMenuNeeded = false;
				var txt = httpRequest.responseText;
				try{
					if(txt != null && txt.length >0){
	       	                          var jo = eval('(' + txt + ')');
					  menuItemArray = jo.words;
					  if(menuItemArray && menuItemArray.length > 0){
							showMenuNeeded = true;
                                                        sg_cache[v] = menuItemArray;
					  }
					}
				}catch(e){}
				if(showMenuNeeded){
					SB_RebuildMenu(ctrlID);
					SB_ShowMenu(ctrlID, true);
				}
				else{
					SB_ShowMenu(ctrlID, false);
				}
			}
		}
	}
  var  url="http://" + window.location.host +"/search/auto_match.htm?iframe_delete=true&keywords=" + v;
	httpRequest.open("get", url, true);
  httpRequest.send(null);
}

function SB_GetHttpRequest(){
	var httpRequest;
	
	if (window.XMLHttpRequest){ // Mozilla, Safari,...
		httpRequest = new XMLHttpRequest();

		if (httpRequest.overrideMimeType){
			httpRequest.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject){ // IE
		try{
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			
		}
		catch(e){
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				
			} 
			catch(e){}
		}
	}
	
	return httpRequest;
}

function swapImage(obj,picUrl) {
  if(obj){
    obj.src = picUrl;
  }
}

	function show_menu(obj_s,obj){
	var  s_id = document.getElementById(obj_s);
	var  sc_id = document.getElementById(obj);
	     s_id.style.display = "";
	     sc_id.className = "ahv";
     	}
     	
  function hide_menu(obj_h,obj){
	var  h_id = document.getElementById(obj_h);
	var  hc_id = document.getElementById(obj);
	     h_id.style.display = "none";
	     hc_id.className = "alk";
     	}




/*list上最后更新时间提示*/
function clickTime() 
{
	var thistime = new Date();
	var years = thistime.getYear();
	var days = thistime.getDay();
	var hours = thistime.getHours();
	var minutes = thistime.getMinutes();
	var seconds = thistime.getSeconds();

	var lastDate = new Date(thistime.getYear(), thistime.getMonth(), thistime.getDate(),hours,5*parseInt(minutes/5));
		if(hours>17||hours<9){
			document.getElementById("lastTime").innerHTML="上次更新时间18:00";
		}else{
			minutes = 4 - minutes % 5;
			seconds = 59 - seconds;
			var smin = lastDate.getMinutes();
			if(smin<10)smin="0"+smin;
			document.getElementById("lastTime").innerHTML="上次更新时间"+(lastDate.getHours())+":"+smin;
		}
	setTimeout("clickTime()",1000);
}
