﻿///<reference path="jquery-1.4.1-vsdoc.js" />
//搜索建议 总数  
var length = 0;
//当前选中的搜索建议  
var currentSelected = -1;
//获取当前鼠标所获取的行  
var currentOut;
//输入控件对象
var textid;
//当期的搜索方式
var stype = 'head';
//提示外容器
var tipsOutID = 'search_suggest_head';

/** 
*   获取搜索提示信息 
*   evt:事件
txtid:当前输入框的id
st:搜索的方式，（头部的搜索提示，还是学校的搜索提示 head，school）
**/
function getSearchContent(evt, txtid, st) {
    var key = window.event ? evt.keyCode : evt.which;

    if (parseInt(headpd) == 5) {
        if (parseInt(key) == 13) searchHeader();
        return;
    }
    textid = txtid;
    stype = st;
    if (st == 'head') tipsOutID = 'search_suggest_head'; else if (st == 'school' || st == 'road' || st == 'hospital' || st == 'busline') tipsOutID = 'search_suggest_school';
    //else if (st == 'road' || st == 'hospital' || st == 'busline') tipsOutID = 'search_suggest_school';
    var text = document.getElementById(textid);
    if (null != currentOut) {
        suggestOut(currentOut);
    }

    //向上键  
    if (key == 38) {
        if (currentSelected == -1) {
            currentSelected = 0;
        }
        if (length == 0) {
            currentSelected = 0;
        }
        else {

            if (currentSelected == 0) {
                currentSelected = length - 1;
                var c = document.getElementById("suggset" + (0));
                c.className = '';
            }
            else {
                currentSelected = currentSelected - 1;
            }

        }
        if (null != document.getElementById("suggset" + currentSelected)) {
            /** 去除索引的选中颜色 **/
            if (currentSelected == length - 1) {
                var c = document.getElementById("suggset" + (length - 1));
                c.className = '';
            } else {
                var c = document.getElementById("suggset" + (currentSelected + 1));
                c.className = '';
            }
            var current = document.getElementById("suggset" + currentSelected);
            current.className = "onMMover";
            text.value = current.getElementsByTagName('span')[0].innerHTML;
        }
        return;

    }
    //向下键  
    if (key == 40) {
        if (length == 0) {
            currentSelected = 0;
        }
        else {
            //当前选中索引为最后一个时  
            if (currentSelected == length - 1) {
                //去除索引的选中颜色  
                currentSelected = 0;
                var c = document.getElementById("suggset" + (length - 1));
                c.className = '';
            }
            else {
                currentSelected = currentSelected + 1;
            }

        }
        if (null != document.getElementById("suggset" + (currentSelected))) {
            /** 去除索引的选中颜色 **/
            if (currentSelected == 0) {
                var c = document.getElementById("suggset" + (currentSelected));
                c.className = '';
            } else {
                var c = document.getElementById("suggset" + (currentSelected - 1));
                c.className = '';
            }
            /** 添加索引的选中颜色**/
            var current = document.getElementById("suggset" + (currentSelected));
            current.className = "onMMover";
            text.value = current.getElementsByTagName('span')[0].innerHTML;
        }
        return;
    }
    if (key != 38 && key != 40) {
        if ("" != text.value && text.value.length < 15) {
            var url = "/Handler/HandleAjax.aspx?action=gettips";
            var formContent = "skey=" + text.value + "&stype=" + stype;
            var ajax = new AjaxHelper();
            ajax.onComplete = callBack;
            sendAjax(ajax, "post", url, formContent);

            currentSelected = -1;
            onKeySelect();
        } else {
            currentSelected = -1;
            map = null;
            noShow();
        }
    }
    if (key != 13) return;

    if (stype == 'head') { searchKey(key); }
    else if (stype == 'road' || stype == 'hospital' || stype == 'busline' || stype == 'school') {
        var _value = $.trim(text.value);
        if (_value != "") {
            var flag = false;
            $list = $('#search_suggest_school > li > span.floatL');
            if ($list.length > 0) {
                for (var i = 0; i < $list.length; i++) {
                    if ($list[i].innerHTML == _value) {
                        flag = true;
                        break;
                    }
                }
            }
            else {
                flag = false;
            }
            if (flag) {
                SearchSchool(stype);
            }
        }
    }
}


/** 返回结callBack果并显示 **/
function callBack(data) {
    if (null != data) {
        if (data.length == 0) return;
        document.getElementById(tipsOutID).style.display = '';
        var ss = document.getElementById(tipsOutID); //ss.innerHTML = data;return;
        ss.innerHTML = "";
        var datas = data.split('_');
        length = datas.length;
        var str = "";
        //var height = 10;
        var _html = '';
        for (var i = 0; i < length; i++) {
            var das = datas[i].split('\t'); if (das.length != 2) break;
            _html += '<li id=suggset' + i + ' onmouseover="javascript:suggestOver(this);" ';
            _html += 'onmouseout="javascript:suggestOut(this);" ';
            _html += 'onclick="javascript:onclickSearch(this);"';
            _html += '><span class="floatL">' + das[0] + '</span>';
            //只有头部才显示为
            if (stype == "head") {
                var addr = das[1];
                if (addr.length > 8) addr = addr.substring(0, 8) + "...";
                _html += '<span class="floatR gray" title=' + das[1] + '>' + addr + '</span>';
            }
            _html += "</li>";
            //height += 22;
        }
        if (stype == 'school') { _html = "<li style='color:gray'>请输入学校名称(输中文/上下键选择)或者学校拼音的首字母</li>" + _html; }
        else if (stype == 'road') { _html = "<li style='color:gray'>请输入道路名称(输中文/上下键选择)或者道路拼音的首字母</li>" + _html; }
        else if (stype == 'hospital') { _html = "<li style='color:gray'>请输入医院名称(输中文/上下键选择)或者医院拼音的首字母</li>" + _html; }
        ss.innerHTML += _html;
        //document.getElementById(tipsOutID).style.height = height;
    }
    else {
        document.getElementById(tipsOutID).style.display = 'none';
    }

}

/** 使用上下键选择搜索提示**/
function onKeySelect() {
    if (null != document.getElementById("suggset" + currentSelected)) {
        var current = document.getElementById("suggset" + currentSelected);
        setSearch(current);
    }
}

/** 初始化 不显示div **/
function noShow() {
    document.getElementById(tipsOutID).style.display = 'none';
}
//获取鼠标  
function suggestOver(div_value) {
    currentOut = div_value;
    var current = document.getElementById("suggset" + (currentSelected));
    if (null != current) {
        current.className = '';
    }
    currentOut.className = 'onMMover';
    currentSelected = -1;
}

//失去鼠标  
function suggestOut(div_value) {
    div_value.className = '';
}

//显示选中的信息  
function setSearch(obj) {
    var v = obj.getElementsByTagName('span')[0].innerHTML;
    document.getElementById(textid).value = v;
    document.getElementById(tipsOutID).innerHTML = '';
    noShow();
}
//onclick 进行搜索
function onclickSearch(obj) {
    if (stype == 'head') setSearch(obj);
    else if (stype == 'road' || stype == 'hospital' || stype == 'busline' || stype == 'school') { setSearch(obj); SearchSchool(stype); return; }
    //    else if () { SearchSchool();return;}
    searchHeader();
}
