﻿// JScript File

var _sugg = false;

function findPos(obj) {
	var curleft = curtop = 0;

	do {
	curleft += obj.offsetLeft;
	curtop += obj.offsetTop;

	} while (obj = obj.offsetParent);

	return [curleft-1,curtop-1];
}
function movesugg(k){
	var list=getObj('sugglist');
	if(list.cnt > 0){
		var o=getObj('suggest');
		if(o && o.style.display!='block')o.style.display='block';
		var cur = (list==99)?-1:list.cur;
		if(k == 40)cur ++;
		if(k == 38)cur --;
		if(cur>list.cnt-1)cur = 0;
		else if(cur<0)cur = list.cnt-1;
		list.cur = cur;
		keyfocus(cur);
		getObj('q').value = list.childNodes[cur].word;
		return;
	}else{
		return;
	}
}
var sugg_timer=false;
function sugg(e,oq){
	if(sugg_timer){
		clearTimeout(sugg_timer);
	}
	//if(engine != 'd')return true;
	var keycode = e.which?e.which:e.keyCode;
	if(keycode == 13){
		closesugg();
		return true;
	}
	if(keycode == 27){
		closesugg();
		return true;
	}
	if(!(keycode>=65 && keycode<=90 || keycode == 32 || keycode == 8 || keycode == 46 || keycode == 38 || keycode == 40 || keycode == 222)){
		return true;
	}
	if(keycode==38 || keycode==40){
		movesugg(keycode);
		return;
	}
	var v=oq.value;
	if(v.length>0){
		sugg_timer = setTimeout(function(){
		if(_sugg && _sugg.abort){
			_sugg.abort();
		}
		_sugg=new AJAX('http://www.chenguo.net/dic/js/srch_sugg.aspx',function(t){
			try{eval(t);}catch(e){alert(e);}
			});
		_sugg.doPost('q='+encodeURI(v)+'&dic='+engine);
		},300);
	}else{
		closesugg();
	}
}
//try{eval(t);}catch(e){alert(e);}
function keyfocus(idx){
	var list=getObj('sugglist');
	for(var j=0;j<list.childNodes.length;j++){
		list.childNodes[j].className = '';
	}
	if(typeof list.childNodes[idx] == 'object')
	list.childNodes[idx].className = 'current';
}
function showsugg(_obj){
	var list=getObj('sugglist');
	list.innerHTML = '';
	list.cur = 99;
	var tmp;
	if(_obj['s'].length < 1){
		list.cnt = 0;
		closesugg();
	}
	else{
		list.cnt = _obj['s'].length;
		for(var i=0;i<_obj['s'].length;i++){
			tmp = document.createElement('li');
			tmp.innerHTML = '<div class="suggword">'+_obj['q']+_obj['s'][i]['g']+'</div>'+_obj['s'][i]['e'];
			list.appendChild(tmp);
			tmp.idx = i;
			tmp.word=_obj['q']+_obj['s'][i]['g'];
			tmp.onmouseover = function(){keyfocus(this.idx);list.cur=this.idx;}
			tmp.onclick = function(){getObj('f').q.value = this.word;qs();}
		}
		possugg();
		getObj('suggest').style.display='block';
	}
}
function possugg(){
	var o=getObj('suggest');
	var q=getObj('q');
	var p=findPos(q);
	o.style.left = p[0]+'px';
	o.style.top = p[1]+q.clientHeight+3+'px';
}
function closesugg(){
	var o=getObj('suggest');
	if(o)o.style.display='none';
}
window.onresize = possugg;