
function getObj(a)
{
    return document.getElementById(a)
};

function getElementPos(elementId) {

	var ua = navigator.userAgent.toLowerCase();
	var isOpera = (ua.indexOf('opera') != -1);
	var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof

	var el = document.getElementById(elementId);

	if(el.parentNode === null || el.style.display == 'none') 
	{
		return false;
	}

	var parent = null;
	var pos = [];
	var box;

	if(el.getBoundingClientRect)	//IE
	{
		box = el.getBoundingClientRect();
		var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);

		return {x:box.left + scrollLeft, y:box.top + scrollTop};
	}
	else if(document.getBoxObjectFor)	// gecko
	{
		box = document.getBoxObjectFor(el);
		   
		var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
		var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;

		pos = [box.x - borderLeft, box.y - borderTop];
	}
	else	// safari & opera
	{
		pos = [el.offsetLeft, el.offsetTop];
		parent = el.offsetParent;
		if (parent != el) {
			while (parent) {
				pos[0] += parent.offsetLeft;
				pos[1] += parent.offsetTop;
				parent = parent.offsetParent;
			}
		}
		if (ua.indexOf('opera') != -1 
			|| ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) 
		{
				pos[0] -= document.body.offsetLeft;
				pos[1] -= document.body.offsetTop;
		} 
	}
		
	if (el.parentNode) { parent = el.parentNode; }
	else { parent = null; }
  
	while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') 
	{ // account for any scrolled ancestors
		pos[0] -= parent.scrollLeft;
		pos[1] -= parent.scrollTop;
  
		if (parent.parentNode) { parent = parent.parentNode; } 
		else { parent = null; }
	}
	return {x:pos[0], y:pos[1]};
}



function googleHint(a)
{
    hcSelect = document.getElementById("searchSelect");
    se = hcSelect.options[hcSelect.selectedIndex].attributes.su.value;
    var suggesturl;
    if (se == "google.com.hk") 
        suggesturl = "http://www.google.cn/complete/search?hl=zh-CN&client=suggest&js=true&newwindow=1&q=";
    else 
        if (se == "google.com") 
            suggesturl = "https://clients1.google.com/complete/search?hl=en&q=";
        else 
            if (se == "cn.bing.com") 
                suggesturl = "http://bj1.api.bing.net/qsonhs.aspx?mkt=zh-CN&type=cb&cb=window.google.ac.h&q=";
            else if(se == "baidu.com")
                suggesturl = "http://suggestion.baidu.com/su?p=3&cb=window.google.ac.h&t=1296023108909&wd=";
    
    getObj("gsuggest") && getObj("gsuggest").parentNode.removeChild(getObj("gsuggest"));
    var b = document.body.appendChild(document.createElement("script"));
    b.language = "javascript";
    b.id = "gsuggest";
    b.charset = "utf-8";
    b.src = suggesturl + encodeURIComponent(a);
    
};
var currentInput;
function Suggestion(a)
{
    a = a || event;
    var b = a.target || a.srcElement, c = getObj("suggests");
    currentInput = b;
    if (!b.value || !b.value.length || a.keyCode == 27 || a.keyCode == 13) 
        c.style.display = "none";
    else 
        if (a.keyCode == 38 || a.keyCode == 40) 
        {
            if (c.style.display != "none") 
            {
                if (a.keyCode == 38) 
                    if (c._i == -1) 
                        c._i = c.firstChild.rows.length - 1;
                    else 
                        c._i--;
                else 
                    c._i++;
                for (a = 0; a < c.firstChild.rows.length; a++) 
                    c.firstChild.rows[a].className = "";
                if (c._i >= 0 && c._i < c.firstChild.rows.length) 
                    with (c.firstChild.rows[c._i]) 
                    {
						className = "selected";
                        b.value = cells[0].attributes._h.value
                    }
                else 
                {
                    b.value = c._kw;
                    c._i = -1
                }
            }
        }
        else 
		{
            c._i = -1;
            c._kw = b.value;
            googleHint(b.value);
            with (c.style) width = b.offsetWidth;
            var pos1 = getElementPos("searchBox");
			c.style.left = pos1.x  + 'px';
			c.style.top = pos1.y + b.offsetHeight  + 'px';        
		}
};


window.google = {};
window.google.ac = {};
window.google.ac.h = function(a)
{

    var b = "";
    hcSelect = document.getElementById("searchSelect");
    se = hcSelect.options[hcSelect.selectedIndex].attributes.su.value;
    if (se == "google.com.hk" || se == "google.com") 
    {

		var a1 = a[1];
		for (var cc = 0; cc < a1.length; cc++)
		{
			b += "<tr onmousedown=\"getObj('" +
			currentInput.id +
			"').value='" +
			a[1][cc][0] +
			'\';javascript:FillAction();" onmouseover="javascript:this.className=\'selected\'" onmouseout="javascript:this.className=\'\';">'+
			'<td _h="' +
			a[1][cc][0] +
			'">' +
			a[1][cc][0] +
			"</td></tr>";				
		}
    }
    else if(se == "cn.bing.com" )
    {
        var di1 = a["AS"];
        var li1 = di1["Results"];
        var di3 = li1[0];
        var di4 = di3["Suggests"];
        for (var c = 0; c < di4.length; c++) 
        {
            var item = di4[c]["Txt"];
            b += "<tr onmousedown=\"getObj('" + currentInput.id + "').value='" +
            item +
            '\';javascript:FillAction();" onmouseover="javascript:this.className=\'selected\'" onmouseout="javascript:this.className=\'\';">'
			+'<td _h="' +
            item +
            '">' +
            item +
            '</td></tr>';
        }
    }else if(se == "baidu.com")
	{
		var lsResult  = a['s'];
		for(var c=0;c<lsResult.length;c++)
		{
            b += "<tr onmousedown=\"getObj('" + currentInput.id + "').value='" +
            lsResult[c] +
            '\';javascript:FillAction();" onmouseover="javascript:this.className=\'selected\'" onmouseout="javascript:this.className=\'\';">'+
			'<td _h="' +
            lsResult[c] +
            '">' +
            lsResult[c] +
            '</td></tr>';
		}
	}
    getObj("suggests").innerHTML = '<table cellspacing="0" cellpadding="0" border="0" onkeydown="alert(\'testing\')" tabindex="0">' + b + "</table>";
    setDisplay("suggests", 1)
};


function setDisplay(a, b)
{
    if (getObj(a)) 
        getObj(a).style.display = b ? "block" : "none"
};

