﻿var currentInput = null;
var cityList = new Array(['ALA','阿尔玛塔'], ['AAT','阿勒泰'], ['AKA','安康'], ['AQG','安庆'], ['AOG','鞍山'], ['AYN','安阳'], ['BSD','保山'], ['BAV','包头'], ['BHY','北海'], ['PEK','北京'], ['BFU','蚌埠'], ['CGQ','长春'], ['CGD','常德'], ['CNI','长海'], ['CSX','长沙'], ['CIH','长治'], ['CZX','常州'], ['CHG','朝阳'], ['CCC','潮州'], ['CJU','济州'], ['CTU','成都'], ['CIF','赤峰'], ['HIN','清州'], ['CKG','重庆'], ['DLU','大理'], ['DLC','大连'], ['DAT','大同'], ['DAX','达州'], ['DZU','大足'], ['DSN','鄂尔多斯'], ['DOY','东营'], ['DNH','敦煌'], ['ENH','恩施'], ['FUO','佛山'], ['FUG','阜阳'], ['FYN','富蕴'], ['FOC','福州'], ['KOW','赣州'], ['GHN','广汉'], ['GNY','广元'], ['CAN','广州'], ['KWL','桂林'], ['KWE','贵阳'], ['HAK','海口'], ['HLD','海拉尔'], ['HMI','哈密'], ['HGH','杭州'], ['HZG','汉中'], ['HRB','哈尔滨'], ['HFE','合肥'], ['HEK','黑河'], ['HNY','衡阳'], ['HET','呼和浩特'], ['TXN','黄山'], ['HYN','黄岩'], ['HUZ','徽州'], ['JMU','佳木斯'], ['KNC','吉安'], ['JGN','嘉峪关'], ['JIL','吉林'], ['TNA','济南'], ['JDZ','景德镇'], ['JNG','济宁'], ['JJN','晋江'], ['JNZ','锦州'], ['JIU','九江'], ['CHW','酒泉'], ['KHG','喀什'], ['KRY','克拉玛依'], ['KRL','库尔勒'], ['KMG','昆明'], ['KCA','库车'], ['LHW','兰州'], ['LXA','拉萨'], ['LIA','梁平'], ['LYG','连云港'], ['LJG','丽江'], ['LNC','临沧'], ['LXI','林西'], ['LYI','临沂'], ['LHN','梨山'], ['LZH','柳州'], ['LYA','洛阳'], ['LUZ','庐山'], ['LZO','泸州'], ['MXZ','梅州'], ['MIG','绵阳'], ['MDG','牡丹江'], ['KHN','南昌'], ['NAO','南充'], ['NKG','南京'], ['NNG','南宁'], ['NTG','南通'], ['NNY','南阳'], ['NGB','宁波'], ['IQM','且末'], ['TAO','青岛'], ['SHP','山海关'], ['IQN','庆阳'], ['NDG','齐齐哈尔'], ['JUZ','衢州'], ['SYX','三亚'], ['SHA','上海'], ['PVG','上海'], ['SWA','汕头'], ['SHS','荆州'], ['SHE','沈阳'], ['SZX','深圳'], ['SJW','石家庄'], ['SZV','苏州'], ['TCG','塔城'], ['TYN','太原'], ['TSN','天津'], ['TNS','天水'], ['TNH','通化'], ['TGO','通辽'], ['TEN','铜仁'], ['HLH','乌兰浩特'], ['URC','乌鲁木齐'], ['WXN','万州'], ['WEF','潍坊'], ['WEH','威海'], ['WNZ','温州'], ['WUH','武汉'], ['WHU','芜湖'], ['WUS','武夷山'], ['WUZ','梧州'], ['XMN','厦门'], ['XIY','西安'], ['XIC','西昌'], ['XIL','锡林浩特'], ['XEN','兴城'], ['XIN','兴宁'], ['XNT','邢台'], ['XNN','西宁'], ['JHG','景洪'], ['XUZ','徐州'], ['ENY','延安'], ['YNZ','盐城'], ['YNJ','延吉'], ['YNT','烟台'], ['YBP','宜宾'], ['YIH','宜昌'], ['YLN','铱兰'], ['INC','银川'], ['YIN','伊宁'], ['YIW','义乌'], ['LLF','永州'], ['YUA','元谋'], ['UYN','榆林'], ['DYG','张家界'], ['ZHA','湛江'], ['ZAT','昭通'], ['CGO','郑州'], ['HSN','舟山'], ['ZUH','珠海'], ['ZYI','遵义'], ['MFM','澳门'], ['HKG','香港'], ['TPE','桃园'], ['TNN','台南'], ['KHH','高雄'], ['TXG','台中'], ['CYI','嘉义'], ['PZI','攀枝花'], ['JZH','九寨沟'], ['NAY','北京'], ['LZY','林芝'], ['WUX','无锡'], ['HDG','邯郸'], ['YCU','运城'], ['WUA','乌海'], ['DDG','丹东'], ['LCX','连城'], ['JGS','井冈山'], ['HJJ','怀化'], ['LUM','芒市'], ['DIG','中甸'], ['LNJ','临沧'], ['WNH','文山'], ['SYM','思茅'], ['BPX','昌都'], ['SIA','西安'], ['AKU','阿克苏'], ['HTN','和田'], ['XFN','襄樊'], ['AVA','安顺'], ['ACX','兴义'], ['HZH','黎平'], ['GYS','广元'], ['AEB','白色'], ['GOQ','格尔木'], ['KGT','康定'], ['LBK','荔波'], ['TSA','台北'], ['RMQ','台中'], ['PIF','屏东'], ['HCN','屏东'], ['HUN','花莲'], ['TTT','台东市'], ['GNI','台东'], ['MZG','马公'], ['CMJ','澎湖'], ['WOT','澎湖'], ['KNH','金门'], ['LZN','马祖'], ['MFK','马祖'], ['KYD','兰屿'], ['NZH','满洲里']);
var key = "";
var isShow = false;
var activeDiv;
var cityIndex = -1;
var dataRequest = "";//返回数据的分隔符
var kwlength;//关键字最小长度
var autoTab;//是否回车后自动转到下一个文本框
var parameterName;//回传时的参数名

$(document).ready(function()
{
    $('.cityInput').keydown(function(e)
    {
        selectText(e.keyCode);
        adjustIFrameHeight(parent.document.getElementById('queryiframe'));
    }).keyup(function(e)
    {
        searchKey(e.keyCode);
        adjustIFrameHeight(parent.document.getElementById('queryiframe'));
    }).blur(function()
    {
        hideText();
        adjustIFrameHeight(parent.document.getElementById('queryiframe'));
    }).focus(function()
    {
        if (this.id == 'txtFromCity')
        {
            cityIndex = 0;
            currentInput=$('#txtFromCity');
        }
        else if (this.id == 'txtArriveCity')
        {
            cityIndex = 1;
            currentInput=$('#txtArriveCity');
        }
    });
    $("body").prepend("<div id='flooraaa' class='floor'>aa</div>");
    $("#flooraaa").hide();
});

function showText()
{
    text = document.getElementById(currentInput.attr("id"));
    div = document.getElementById("flooraaa");
    div.style.left = getPos(text,"Left") + "px";
    div.style.top = getPos(text,"Top") + text.offsetHeight + "px";
    div.style.width = text.offsetWidth - 2 + "px";
    $("#flooraaa").show();
}

function hideText()
{
    $("#flooraaa").hide();
    $("#flooraaa").html("");
    key="";
    isShow = false;
}

function getPos(el,ePro)				
{
    var ePos=0;
    while(el!=null)
    {		
        ePos+=el["offset"+ePro];
        el=el.offsetParent;
    }
    return ePos;
}

function searchKey(keycode)
{
    if(keycode == 38 || keycode == 40 || keycode == 13 || keycode == 27 || keycode == 9)
        return;
    
    eo = event.srcElement;
    if (eo.value != '')
    {
        if (cityIndex == '0')
        {
            fromCity = '';        
        }
        else if (cityIndex == '1')
        {
            toCity = '';
        }

        try
        {
            var re = new RegExp("^"+eo.value,"i");
            var ba = false;
            var aa = '';

		    // 加载城市输入列表数据
	        for (i = 0; i < cityList.length; ++i)
	        {
	            if( re.test(cityList[i][0]) || re.test(cityList[i][1]))
	            {
	                aa+='<div class="unselected" onclick="hideText()" onmouseout=$(this).attr("class","unselected") onmouseover="mouseover(this)" value="';
	                aa+=cityList[i][0];
	                aa+='">';
	                aa+=cityList[i][1];
	                aa+='（';
	                aa+=cityList[i][0];
	                aa+='）';
	                aa+='</div>';
	                ba = true;
	            }
	        }

	        if(ba == false)
	        {
	            aa+='<div>输入错误</div>';
	        }	        
	        aa+='</table>';
	        $('#flooraaa').html(aa);
	        
	        // 默认选中第一行
	        $("#flooraaa>div:first").attr("class","selected");
	        isShow = true;
	        showText();
        }
        catch(e)
        {}        
    }    
    if(eo.value == '') hideText();
}
function findNextInput(target)
{   
    var index;
    $("input[@type=text]").each(function(i){
        if($(this).attr("id") == target.attr("id")) index = i;
    });
    return $("input[@type=text]")[ index + 1 ];
}

function selectText(keycode,sInput)
{
    if(keycode == 13 || keycode == 9)
    {
        cityText = $('#flooraaa>div.selected').text();
        cityValue = $('#flooraaa>div.selected').attr('value');
        
        if(cityText != '')
        {
            fillValue(cityText,cityValue);
            hideText();
        }
    }
    if(!isShow) return;
    if(keycode == 27) hideText();    
    selectedDiv = $("#flooraaa>div[@class=selected]");
    
    if(selectedDiv.text() != "")
    {      
        selectedDiv.attr("class","unselected");
        if(keycode == 38)
        {
            if(selectedDiv.prev().text() != "")
            {
                selectedDiv.prev().attr("class","selected");
                cityText = selectedDiv.prev().text();
                cityValue = selectedDiv.prev().attr('value');
                fillValue(cityText,cityValue);
            }
            else
            {
                selectedDiv = $("#flooraaa>div:last");
                selectedDiv.attr("class","selected");
                cityText = selectedDiv.text();
                cityValue = selectedDiv.attr('value');
                fillValue(cityText,cityValue);
            }            
        }
        else if(keycode == 40)
        {
            if(selectedDiv.next().text() != "")
            {
                selectedDiv.next().attr("class","selected");
                cityText = selectedDiv.next().text();
                cityValue = selectedDiv.next().attr('value');
                fillValue(cityText,cityValue);
            }
            else
            {
                selectedDiv = $("#flooraaa>div:first");
                selectedDiv.attr("class","selected");
                cityText = selectedDiv.text();
                cityValue = selectedDiv.attr('value');                
                fillValue(cityText,cityValue);
            }
        }
    }
    else if(keycode == 38)
    {
        selectedDiv = $("#flooraaa>div:last");
        selectedDiv.attr("class","selected");
        cityText = selectedDiv.text();
        cityValue = selectedDiv.attr('value');
        fillValue(cityText,cityValue);
    }
    else if(keycode == 40)
    {
        selectedDiv = $("#flooraaa>div:first");
        selectedDiv.attr("class","selected");
        cityText = selectedDiv.text();
        cityValue = selectedDiv.attr('value');        
        fillValue(cityText,cityValue);
    }
}

function fillValue(text, value)
{
    if (text == "输入错误") return;
    currentInput.val(text);
    
    if (cityIndex == '0')
    {        
        fromCity = value;
    }
    else if (cityIndex == '1')
    {
        toCity = value;        
    }    
}

function mouseover(sDiv)
{
    $("#flooraaa").children("div").attr("class","unselected");
    selectedDiv = $(sDiv);
    selectedDiv.attr("class","selected");
    cityText = selectedDiv.text();
    cityValue = selectedDiv.attr('value');
    fillValue(cityText,cityValue);
}