﻿        var inputid,hidid,sdivid,nhidid,scityrow,ecityrow,flag=0;
        document.onkeydown=function(e){var ev=e||event;var keyCode=ev.keyCode;if(keyCode==13){return false;}}
        $(document).ready(function(){
            $('#txtStartCityName').click(function(){fillDefault('scity');}).keyup(function(e){inputid='txtStartCityName';hidid='hscity';move(e.keyCode,'ahscity',scityrow,'first',0,2,7,1);}).keydown(function(e){if(e.keyCode==32)return false;}).blur(function(){inputblur();});
            $('#btnsave').click(function(){return checkform();});
        });
function inputblur(){
    var aarow;
    if(inputid=='txtStartCityName'){
        aarow=scityrow;
    }
    else{
        aarow=ecityrow;
    }
    if(aarow!=null&& aarow.length>0&&$('#'+hidid).attr('value')==''&& $('#dprice').is(':hidden')){
        fillOption(aarow[0].id,aarow[0].name,0,aarow[0].depth,aarow[0].isbroad);
    }
}
        function fillDefault(type){
            var arr,f;
            switch(type){
               case 'price':
                   inputid='txtPrice';
                   hidid='hprice';
                   sdivid='dprice';
                   nhidid='nhprice';
                   arr=prices;
                   f=0;
                   flag=3;
                   break;
               case 'days':
                   inputid='txtdays';
                   hidid='hdays';
                   sdivid='dprice';
                   nhidid='nhdays';
                   arr=adys;
                   f=0;
                   flag=3;
                   break;
               case 'scity':
                   inputid='txtStartCityName';
                   hidid='hscity';
                   sdivid='dcity';
                   nhidid='';
                   arr=sCity;
                   f=1;
                   flag=4;
                   break;
               case 'ecity':
                   inputid='txtEndCityName';
                   hidid='hecity';
                   sdivid='dcity';
                   nhidid='';
                   arr=eCity;
                   f=2;
                   flag=4;
                   break;
               default:
                   break;
            }

            $('#'+sdivid).empty();
            
            if(f==0){
                $('#'+sdivid).append("<div class=\"xlxlkt\">请按↑↓键或鼠标点击选择</div><div id=\"divshow"+f+"\" class=\"xlxlkc xlxlkczb\"></div>");
            }
            else{
                $('#'+sdivid).append("<div class=\"xlsskt\"><a href=\"javascript:void(null)\">X</a>支持简拼/全拼/中文联想输入</div><div id=\"divshow"+f+"\" class=\"xlsskwz\"></div>");
            }
            if(f==2){
                for(var i=0;i<arr.length;i++){
                    $("<b>"+arr[i].name+"</b><br/>").appendTo('#divshow'+f);
                    for(var j=0;j<arr[i].content.length;j++){
                        $('<a id=\"'+hidid+'_'+i+'_'+j+'\" href=\"javascript:void(null);\">'+arr[i].content[j].name+'</a>').filter('a').click(function(){var k=this.id.split('_')[1];var l=this.id.split('_')[2];fillOption(arr[k].content[l].id,arr[k].content[l].name,0,arr[k].content[l].depth,arr[k].content[l].isbroad);return false;}).hover(function(){$('#'+this.id).addClass('ahover');},function(){$('#'+this.id).removeClass('ahover');}).end().appendTo('#divshow'+f);
                    }
                    $("<br/>").appendTo('#divshow'+f);
                }
            }
            else{
                for(var i=0;i<arr.length;i++){
                    $('<a id=\"'+hidid+'_'+i+'\" class=\"'+($('#'+nhidid).attr('value')==i ? 'ahover' : '')+'\" href=\"javascript:void(null);\">'+arr[i].name+'</a>').filter('a').click(function(){var j=this.id.split('_')[1];if(f==0){fillOption(arr[j].id,arr[j].name,j,0,0);}else{fillOption(arr[j].id,arr[j].name,j,arr[j].depth,arr[j].isbroad);}return false;}).hover(function(){$('#'+this.id).addClass('ahover');},function(){$('#'+this.id).removeClass('ahover');}).end().appendTo('#divshow'+f);
                }
            }

            fun_displayObj(inputid,sdivid,-20,0);
        }
        function fun_displayObj(objId,entity,n,num){
            var s=$('#'+objId).offset();
	        $('#'+entity).css({top:s.top-n,left:s.left-num });
	        $('#'+entity).show();
        }
        function fillOption(i,j,k,l,m){
            if(inputid=='txtStartCityName'||inputid=='txtEndCityName'){
                var arrt=j.split('>');
                j=arrt.length==2 ? arrt[1]:j;
            }
            $('#'+inputid).attr('value',j);
            $('#'+hidid).attr('value',i);
            if(nhidid!=''){
                $('#'+nhidid).attr('value',k);
            }
            switch(inputid){
                case 'txtStartCityName':
                    $('#hsdepth').attr('value',l);
                    break;
                case 'txtEndCityName':
                    $('#hedepth').attr('value',l);
                    $('#hebroad').attr('value',m);
                    break;
            }

            $('#'+sdivid).hide();
        }
        function showCal(firstObjGetDate_,secondObjGetDate_,isAllowSelectFlag,objcompareStareDate,num,n){
    var objGetDate;
    var cf=$("#CalFrame");
    var wcf=window.frames.CalFrame;
    if(!firstObjGetDate_){
        alert("╭──────────╮\nㄧ  输入控件未指定！  ㄧ\n╰──────────╯");
        $('#CalFrame').hide();
        return;
    }
    objGetDate=$('#'+firstObjGetDate_);
    if(objGetDate.length==0){
        alert("输入控件不存在！");
        $('#CalFrame').hide();
        return;
    }

    if(!wcf.bCalLoaded){
       alert("日历未成功装载！请刷新页面！o");
       $('#CalFrame').hide();
       return;
    }
    wcf.n_textdate=secondObjGetDate_;
    wcf.$isAllowSelectExpireDate=isAllowSelectFlag;
    wcf.firstObjGetDate=firstObjGetDate_;
    var startDateValue=$('#'+objcompareStareDate).attr('value');
    if(startDateValue){
       var dateValueStartArray=new Array(3);
       if(isDateString(startDateValue)){
           dateValueStartArray=startDateValue.toString().split("-");
           year=parseFloat(dateValueStartArray[0]);
           month=parseFloat(dateValueStartArray[1])-1;
           day=parseFloat(dateValueStartArray[2]);
           dateValueStart=new Date(year,month,day);
       }
       else{
         dateValueStart="";
       }
     }
     else{
         dateValueStart="";
     }
     wcf.valueCompareStareDate=dateValueStart;
     $('#CalFrame').hide();
     wcf.objGetDate=objGetDate;
     if(secondObjGetDate_.length>0){
         objNextGetDate=$('#'+secondObjGetDate_)
         if(objNextGetDate.length>0){wcf.objNextGetDate=objNextGetDate;}
     }
     wcf.initCalendar();
     fun_displayObj(firstObjGetDate_,"CalFrame",n,num);
}
function isDateString(str){
    var reg=/^\d{4}-[0-1]?\d{1}-[0-3]?\d{1}$/; 
    return reg.test(str);
}
function hideoptios(id){
   $('#'+id).hide();
}
function fillSelectT(svalue,i,j,k){
    $.getJSON('http://search.lotour.com/searchbox/LineSearch.ashx?i='+i+'&j='+j+'&key='+escape(svalue)+'&k='+k+'&callback=?',
    function(data){
        if(data.status){
            if(inputid=='txtStartCityName'){
                scityrow=data.msg;
            }
            else{
                ecityrow=data.msg;
            }
            $('#'+sdivid).hide();
            sdivid='dprice';
            flag=3;
            $('#dprice').empty();
            $('#'+hidid).attr('value','');
            var s='xlxlkczb';
            switch(parseInt($('#htype').attr('value'))){
                case 1:
                    s='xlxlkcgn';
                    break;
                case 2 :
                    s='xlxlkccj';
                    break;
                default:
                    break;
            }
            $('#dprice').append("<div class=\"xlxlkt\">"+svalue+"请按↑↓键或鼠标点击选择</div><div id=\"divshow\" class=\"xlxlkc "+s+"\"></div>");
            for(var l=0;l<data.msg.length;l++){
                $('<a id=\"a'+hidid+'_'+l+'\" class=\"'+(l==0 ? 'first' : '')+'\" href=\"javascript:void(null);\">'+data.msg[l].name+'</a>').filter('a').click(function(){var m=this.id.split('_')[1];fillOption(data.msg[m].id,data.msg[m].name,0,data.msg[m].depth,data.msg[m].isbroad);return false;}).hover(function(){$('#'+this.id).addClass('first');},function(){$('#'+this.id).removeClass('first');}).end().appendTo('#divshow');
            }
            if(data.msg.length==0){
                $('<div style=\"margin: 3px; background-color: Red; width: 210px; text-decoration: none;\"><span style=\"color: White; font-size: 12px;\">输入错误</span></div>').appendTo('#divshow');
            }
            fun_displayObj(inputid,sdivid,-20,0);
        }
    });
}

function checkfill(i,arr,id,iid,iiid){
    var k=0;
    for(var j=0;j<arr.length;j++){
        if(arr[j].id==i){
            k=j;
            break;
        }
    }
    $('#'+id).attr('value',arr[j].name);
    $('#'+iid).attr('value',k);
    $('#'+iiid).attr('value',arr[j].id);
}
function move(keycode,a,row,nclass,ii,ji,ki,iflag){
        var oldpreferences=$('a.'+nclass+'[id^='+a+'_]').length==1 ? $('a.'+nclass+'[id^='+a+'_]').attr('id') : a+'_0';
        var num=$('a[id^='+a+'_]').length;
        var hotnum=oldpreferences!="" ? parseInt(oldpreferences.split('_')[1]) : 0;
        var height=parseInt($('#'+sdivid).css('height'));
        var i;

        if(keycode==40 && num>0 && !$('#'+sdivid).is(':hidden')){
            i=hotnum == num-1 ? 0 : hotnum+1;
            var nextobj = a+'_'+ i;

            $('#'+oldpreferences).removeClass(nclass);
            $('#'+nextobj).addClass(nclass);
            //$('#'+inputid).attr('value',(i==0 ? "不限" : decodeURIComponent(row[i-1].name)));
            $('#'+hidid).attr('value',(i==0 ? 0 : row[i-1].id));
            $('#'+nhidid).attr('value',i);
            if(i>9){
                $('#'+sdivid).scrollTop($('#'+sdivid).scrollTop()+22);
            }
            else if(i==0){
                $('#'+sdivid).scrollTop(0);
            }
        }
        else if(keycode==38 && num>0 && !$('#'+sdivid).is(':hidden')){
            i=hotnum == 0 ? num-1 : hotnum-1;
            var preobj = a+'_'+ i;
            $('#'+oldpreferences).removeClass(nclass);
            $('#'+preobj).addClass(nclass);
            $('#'+hidid).attr('value',(i==0 ? 0 : row[i-1].id));
            $('#'+nhidid).attr('value',i);
            if(i==num-1 && num>10){
                $('#'+sdivid).scrollTop(22*(num-10));
            }
            else if(i<num-10){
                $('#'+sdivid).scrollTop($('#'+sdivid).scrollTop()-22);
            }
        }
        else if (keycode != 9 && keycode != 27){
            if(keycode==13 && !$('#'+sdivid).is(':hidden')){
                if(inputid=='txtStartCityName'||inputid=='txtEndCityName'){
                    fillOption(row[hotnum].id,row[hotnum].name,0,row[hotnum].depth,row[hotnum].isbroad);
                }
                else{
                    if(inputid=='spreferences'||inputid=='sptravel'){
                        if(hotnum==0){
                            fillOption(0,'不限',0,0,0);
                        }
                        else{
                            fillOption(row[hotnum-1].id,decodeURIComponent(row[hotnum-1].name),0,0,0);
                        }
                    }
                    else{
                        fillOption(row[hotnum].id,decodeURIComponent(row[hotnum].name),0,0,0);
                    }
                }
            }
            else if((inputid=='txtStartCityName' || inputid=='txtEndCityName') && (keycode==8 || keycode==32 || keycode==46|| (keycode>=48&&keycode<=57) || (keycode>=65&&keycode<=90) || (keycode>=96&&keycode<=105))){
                fillSelectT($('#'+inputid).attr('value'),ii,ji,ki);
            }
        }

    return false;
}
document.onclick=function(){
    if(flag==0 || flag==2||flag==3 || flag==4|| flag==5){
        $('#divpreferences').hide();
    }
    if(flag==0 || flag==1||flag==3 || flag==4|| flag==5){
        $('#divtravel').hide();
    }
    if(flag==0 || flag==1 ||flag==2 ||flag==4|| flag==5){
        $('#dprice').hide();
    }
    if(flag==0 || flag==1 ||flag==2 ||flag==3|| flag==5){
        $('#dcity').hide();
    }
    if(flag==1 || flag==0 ||flag==2 ||flag==3 ||flag==4){
        $('#CalFrame').hide();
    }
    flag=0;
}
