// JavaScript Document中文
var searchDataFirst=[
	["我是普通网民, 请提供给我最大众化的搜索组合","search2|search1|search5|search9|search16|search31|search40|search71|search45|search55"],
	["我是文字工作者, 请为我的文字处理工作提供便利","search2|search1|search27|search35|search40|search71|search49|search55"],
	["我是影音爱好者, 请更多的为我提供影视节目的信息","search2|search1|search3|search16|search15|search14|search25|search26|search5|search55"],
	["我是商务办公人士, 我想享受更多的出行便利","search2|search1|search27|search35|search42|search64|search70|search71|search44|search55"]
]
var searchDataSecond="网页*search1|search2|search3|search4$音乐*search5|search6|search7|search8$图片*search9|search10|search11|search12$视频*search15|search16|search14|search25|search26$下载*search43|search44|search45|search46|search47|search48$知识问答*search40|search35|search36|search37|search38|search39$词典*search53|search54|search63|search55|search56|search57$生活*search71|search32|search42|search58|search64|search70"
var oemData=[
	"我道站长查询*search59|search60|search61|search62|search65|search66",
	"我道生活查询*search42|search71|search64|search70",
	"我道词典查询*search53|search54|search63|search55|search56|search57"
]

var toolBarHeight, iframeHeight, iframeWidth, oldTab, oldMode, accessKey, startMode=true, startKey, initOption, normalSearchData, oem=""
function initSearch(url){
	var cus=Cookie.get("searchCus")
	if(cus){
		cus=cus.split("$")
		if(!$("divCusSearch")){
			$("searchData").appendChild(newElement("DIV", {id:"divCusSearch", title:"自定义搜索"}))
		}
		$("divCusSearch").innerHTML=""
		for(var i=0; i<cus.length; i++){
			var aCus=cus[i].split("|")
			$("divCusSearch").appendChild(newElement("SPAN",{id:aCus[0],href:aCus[1],innerHTML:aCus[2]}))
		}
	}else{
		if($("divCusSearch")){
			$("searchData").removeChild($("divCusSearch"))
		}
	}
	
	var acKey=Cookie.get("searchAccess")
	accessKey=[]
	if(acKey){
		acKey=acKey.split("|")
		for(var i=0; i<acKey.length; i++){
			if(acKey[i])accessKey[i]=acKey[i]
		}
	}
	
	var set=Cookie.get("searchMode")||0
	normalSearchData="首选搜索*"+searchDataFirst[set][1]+"$"+searchDataSecond
	
	if(initSearchEvent)initSearchEvent()
	initSearchEvent=null
	if(url){
		if(url.match(/^[^#]+#[^#]+$/)){
			startKey=url.split("#")[1].fromURL()
		}else if(url.match(/^[^#]+#[^#]+#[^#]+$/)){
			oem=url.split("#")
			startKey=oem[2].fromURL()
			oem=oem[1]
		}else{
			startKey=""
		}
		$("txtKey").value=startKey
		if(startKey)startMode=false
	}
	
	$("txtKey").focus()
	$("txtKey").select()
	$("searchMode").innerHTML=""
	$("searchTab").innerHTML=""
	$("iframeContainer").innerHTML=""
	var data=Cookie.get("searchData")||normalSearchData
	if(oem){
		for(var i=0; i<oemData.length; i++){
			if(oemData[i].indexOf(oem)!=-1){
				data+="$"+oemData[i]
			}
		}
	}
	if(data){
		data=data.split("$")
		for(var i=0; i<data.length; i++){
			var aData=data[i].split("*")
			$("searchMode").appendChild(newElement("A",{
				href:"javascript:;",
				innerHTML:'<span>'+aData[0]+'</span>',
				onclick:switchMode,
				tabData: aData[1].split("|"),
				switchClick:switchMode
			}))
		}
		var oemIndex=0
		if(oem){
			var modes=$("searchMode").getElementsByTagName("A")
			for(var i=modes.length-1; i>=0; i--){
				if(("|"+modes[i].tabData.join("|")+"|").indexOf(oem)){
					oemIndex=i
					break
				}
			}
		}
		if($("searchMode").childNodes[oemIndex])$("searchMode").childNodes[oemIndex].onclick()
		oem=""
	}
}
function initSearchEvent(){
	toolBarHeight=$("toolBar").offsetHeight
	$("btnCusSearch").addEventListener("click",function(){
		if($("cusSearch").style.display==""){
			$("cusSearch").hide()
		}else{
			$("cusSearch").style.height=iframeHeight+"px"
			$("cusSearch").show()
			if(initOption){
				initOption()
			}else{
				document.getElementsByTagName("HEAD")[0].appendChild(newElement("SCRIPT",{type:"text/javascript", src:"/javascript/option.js"}))
				return false
			}
		}
	},true)
	$("btnSearchMode").addEventListener("click",function(){
		initModeSelect()
	},true)
	$("txtKey").addEventListener("keydown",function(evt){
		if(evt.keyCode==13){
			doSearch()
			$("txtKey").blur()
		}
	},true)
	document.addEventListener("keydown",function(evt){
		if(evt.ctrlKey&&evt.shiftKey&&!evt.altKey){
			if(evt.keyCode>48 && evt.keyCode<58){
				var ikey=String.fromCharCode(evt.keyCode)-1
				if(accessKey[ikey]){
					var div=$("searchMode").getElementsByTagName("A")
					for(var i=0; i<div.length; i++){
						for(var o=0; o<div[i].tabData.length; o++){
							if(accessKey[ikey]==div[i].tabData[o]){
								var tab=div[i].switchClick(accessKey[ikey])
								if(tab)tab.onclick()
								return false
							}
						}
					}
				}
			}
		}
	},true)
	$("btnSubmit").addEventListener("click",doSearch,true)
	$("txtKey").addEventListener("focus",function(){
		$("searchRecommend").hide()
	},true)
	$("txtKey").addEventListener("blur",function(){
		resetResultTab()
		if($("searchRecommend").innerHTML)$("searchRecommend").show()
	},true)
	$("txtKey").addEventListener("mouseover",inputBoxHover,true)
	$("txtKey").addEventListener("mouseout",tabOut,true)
	$("searchInSiderWindow").addEventListener("click",function(){
		if($("searchInSiderWindow").className=="siderIconSelected"){
			$("iframeSide").hide()
			$("searchInSiderWindow").className=""
			iframeWidth="100%"
		}else if(oldTab){
			if($("iframeSide").src=="about:blank" && $("txtKey").value)$("iframeSide").src=oldTab.href
			if($("iframeSide").src=="about:blank")return false
			$("iframeSide").show()
			$("searchInSiderWindow").className="siderIconSelected"
			iframeWidth="50%"
		}
		resizeWindow()
		return false
	},true)
	$("searchInNewWindow").addEventListener("click",function(){
		if(!$("txtKey").value) return false
	},true)
	$("searchRecommend").addEventListener("mouseover",inputBoxHover,true)
	$("searchRecommend").addEventListener("mouseout",tabOut,true)

	iframeWidth="100%"
	window.addEventListener("resize",resizeWindow,true)
	window.addEventListener("load",function(){
		$("txtKey").value=startKey
		$("txtKey").focus()
		$("txtKey").select()
	},true)
	resizeWindow()
}
function initModeSelect(){
	var initString='<a href="http://www.huodu.com/" class="logo">火度搜索</a><div class="tip">欢迎您使用火度搜索! 为了给您提供更好的服务, 请选择最符合您的搜索习惯的组合</div><div class="opts">'
	for(var i=0; i<searchDataFirst.length; i++){
		initString+='<a href="javascript:;" onclick="modeSelect('+i+'); return false"><strong>'+searchDataFirst[i][0]+'</strong><br />首选搜索: '
		var t=searchDataFirst[i][1].split("|")
		for(var o=0; o<t.length; o++){
			initString+=$(t[o]).innerHTML+", "
		}
		initString=initString.replace(/, $/,".")
		initString+='</a>'
	}
	initString+='</div>'
	$("modeSelect").innerHTML=initString
	$("modeSelect").style.width=window.document.documentElement.offsetWidth+"px"
	$("modeSelect").style.height=window.document.documentElement.offsetHeight+"px"
	$("modeSelect").show()
}
function modeSelect(index){
	var expire="2012-7-21 00:00:00"
	var set=Cookie.set("searchMode",index,expire)
	$("modeSelect").hide()
	$("modeSelect").innerHTML=""
	startMode=true
	initSearch($("txtKey").value?("http://www.huodu.com/#"+$("txtKey").value.toURL()):null)
}
function inputBoxHover(){
	if(document.activeElement==$("txtKey")) return
	$("searchRecommend").hide()
}
var firstSearch
function switchMode(returnTabId){
	if(oldMode){
		oldMode.linkedTabContainer.hide()
		oldMode.className=""
	}
	oldMode=this
	if(!oldMode.linkedTabContainer){
		oldMode.linkedTabContainer=newElement("DIV", {linkedModeTab:oldMode})
		for(var i=0; i<oldMode.tabData.length; i++){
			var tab=newElement("A", {searchURL:$(oldMode.tabData[i]).href, innerHTML:'<span>'+$(oldMode.tabData[i]).innerHTML+'</span>', onclick:switchTab, linkedMode: oldMode, title:"按住 Ctrl: 在侧边栏中打开搜索结果\n按住 Shift: 在独立窗口中打开搜索结果", searchTip:$(oldMode.tabData[i]).title, onmouseover: tabHover, onmouseout: tabOut, linkedDataIndex: oldMode.tabData[i]})
			if(oldMode.tabData[i]==oem){
				oldMode.linkedOldTab=tab
			}
			if(!firstSearch)firstSearch=tab
			oldMode.linkedTabContainer.appendChild(tab)
		}
		$("searchTab").appendChild(oldMode.linkedTabContainer)
	}
	resetResultTab()
	oldMode.className="selected"
	oldMode.linkedTabContainer.show()
	if(returnTabId){
		var links=$("searchTab").getElementsByTagName("A")
		for(var i=0; i<links.length; i++){
			if(links[i].linkedDataIndex==returnTabId)return links[i]
		}
		return null
	}
	if(oldMode.linkedOldTab){
		oldMode.linkedOldTab.onclick()
	}else{
		oldMode.linkedTabContainer.childNodes[0].onclick()
	}
	return false
}
function tabHover(){
	if(document.activeElement==$("txtKey")) return
	if(this.searchTip){
		$("searchRecommend").innerHTML=("搜索建议: "+this.searchTip).toHTML()
		$("searchRecommend").show()
	}else{
		$("searchRecommend").innerHTML=""
		$("searchRecommend").hide()
	}
}
function tabOut(){
	if(document.activeElement==$("txtKey")) return
	if(!oldTab || !oldTab.searchTip){
		$("searchRecommend").innerHTML=""
		$("searchRecommend").hide()
	}else if(oldTab.searchTip){
		$("searchRecommend").innerHTML=("搜索建议: "+oldTab.searchTip).toHTML()
		$("searchRecommend").show()
	}
}
function switchTab(evt){
	startMode=false
	if(!$("txtKey").value)return false
	evt=evt||event
	var mast
	if(evt){
		if(evt.srcElement.tagName=="INPUT") mast=true
		if(evt.shiftKey) {
			if(evt.srcElement.tagName=="INPUT"){
				resetResultTab()
				$("searchInNewWindow").click()
				return true
			}else{
				return true
			}
		}else if(evt.ctrlKey){
			$("iframeSide").src=this.href
			$("iframeSide").show()
			$("searchInSiderWindow").className="siderIconSelected"
			iframeWidth="50%"
			resizeWindow()
			return false
		}
	}
	if(oldTab && oldTab!=this){
		if(oldTab.linkedIframe)oldTab.linkedIframe.hide()
		oldTab.className=""
	}
	oldTab=this
	if(!startMode)oldTab.className="selected"
	resetResultTab()
	if(!oldTab.linkedIframe){
		oldTab.linkedIframe=newElement("IFRAME", {src:oldTab.href, linkedTab:oldTab, marginWidth:0, marginHeigh:0, hSpace:0, vSpace:0, frameBorder:0, height:iframeHeight, scrolling:"auto", width:iframeWidth, onresize:resizeWindow})
		$("iframeContainer").appendChild(oldTab.linkedIframe)
	}
	if(oldTab.linkedIframe.src!=oldTab.href || mast)oldTab.linkedIframe.src=oldTab.href
	$("searchInNewWindow").href=oldTab.href
	oldTab.linkedMode.linkedOldTab=oldTab
	oldTab.linkedIframe.show()
	if(oldTab.searchTip){
		$("searchRecommend").innerHTML=("搜索建议: "+oldTab.searchTip).toHTML()
		$("searchRecommend").show()
	}else{
		$("searchRecommend").innerHTML=""
		$("searchRecommend").hide()
	}
	$("cusSearch").hide()
	return false
}
function resetResultTab(){
	var links=$("searchTab").getElementsByTagName("A")
	for(var i=0; i<links.length; i++){
		var url=links[i].searchURL
		url=url.replace(eval("/"+escape("火度搜索")+"/i"),escape($("txtKey").value))
		url=url.replace(eval("/"+"火度搜索".toGB2312()+"/i"),$("txtKey").value.toGB2312())
		url=url.replace(eval("/"+encodeURIComponent("火度搜索")+"/i"),encodeURIComponent($("txtKey").value))
		url=url.replace("火度搜索",$("txtKey").value)
		links[i].href=url
	}
	if($("txtKey").value){
		document.title=$("txtKey").value+"_火度一下"
	}else{
		document.title="火度一下，你就知道！"
	}
	if(oldTab)$("searchInNewWindow").href=oldTab.href
}
function doSearch(){
	if($("txtKey").value){
		resetResultTab()
		var clickObject=oldTab||firstSearch
		clickObject.onclick()
	}
}
function resizeWindow(){
	iframeHeight=window.document.documentElement.offsetHeight-toolBarHeight
	var iframe=$("iframeContainer").getElementsByTagName("IFRAME")
	for(var i=0; i<iframe.length; i++){
		iframe[i].height=iframeHeight
		iframe[i].width=iframeWidth
		iframe[i].style.width="100%"
		iframe[i].style.height=iframeHeight+"px"
	}
	$("iframeContainer").style.width=iframeWidth
	$("cusSearch").style.height=iframeHeight+"px"
	$("iframeSide").height=iframeHeight
}
