﻿/*
* Copyright (c) 2010 www.jinjainginns.com  
* $Date: 2010-06-10 $ 
*/

////////初始化变量
/********************初始化变量******************/
var Cities = 'BEIJING|北京市|1100|0@TIANJIN|天津市|1200|0@SHIJIAZHUANG|石家庄市|1301|0@TANGSHANG|唐山市|1302|0@QINHUANGDAO|秦皇岛市|1303|0@BAODING|保定市|1306|0@ZHANGJIAKOU|张家口市|1307|0@TAIYUAN|太原市|1401|0@DATONG|大同市|1402|0@CHANGZHI|长治市|1404|0@JINZHONG|晋中市|1407|0@YUNCHENG|运城市|1408|0@HUHEHAOTE|呼和浩特|1501|0@BAOTOU|包头市|1502|0@ERDUOSI|鄂尔多斯|1506|0@SHENYANG|沈阳市|2101|0@DALIAN|大连市|2102|0@ANSHAN|鞍山市|2103|0@FUSHUN|抚顺市|2104|0@JINZHOU|锦州市|2107|0@CHAOYANG|朝阳市|2113|0@CHANGCHUN|长春市|2201|0@JILIN|吉林市|2202|0@SONGYUAN|松原市|2207|0@HAERBIN|哈尔滨市|2301|0@DAQING|大庆市|2306|0@SHANGHAI|上海市|3100|0@NANJING|南京市|3201|0@WUXI|无锡市|3202|0@JIANGYIN|江阴市|320281|0@YIXING|宜兴市|320282|0@XUZHOU|徐州市|3203|0@CHANGZHOU|常州市|3204|0@LIYANG|溧阳市|320481|0@SUZHOU|苏州市|3205|0@CHANGSHU|常熟市|320581|0@ZHANGJIAGANG|张家港|320582|0@KUNSHAN|昆山市|320583|0@WUJIANG|吴江市|320584|0@TAICANG|太仓市|320585|0@NANTONG|南通市|3206|0@LIANYUNGANG|连云港市|3207|0@HUAIAN|淮安市|3208|0@YANCHENG|盐城市|3209|0@YANGZHOU|扬州市|3210|0@YIZHENG|仪征市|321081|0@ZHENJIANG|镇江市|3211|0@JURONG|句容市|321183|0@TAIZHOU|泰州市|3212|0@JINGJIANG|靖江市|321282|0@SUQIAN|宿迁市|3213|0@HANGZHOU|杭州市|3301|0@TONGLUXIAN|桐庐县|330122|0@NINBO|宁波市|3302|0@XIANGSHAN|象山县|330225|0@CIXI|慈溪市|330282|0@WENZHOU|温州市|3303|0@JIAXING|嘉兴市|3304|0@HUZHOU|湖州市|3305|0@SHAOXING|绍兴市|3306|0@XINCHANGXIAN|新昌县|330624|0@ZHUJI|诸暨市|330681|0@JINHUA|金华市|3307|0@YIWU|义乌市|330782|0@ZHOUSHAN|舟山市|3309|0@TAIZHOU|台州市|3310|0@TIANTAI|天台县|331023|0@WUZHEN|乌镇|3312|0@HEFEI|合肥市|3401|0@WUHU|芜湖市|3402|0@BENGBU|蚌埠市|3403|0@HUAINAN|淮南市|3404|0@MAANSHAN|马鞍山市|3405|0@HUAIBEI|淮北市|3406|0@TONGLING|铜陵市|3407|0@ANQING|安庆市|3408|0@HUANGSHAN|黄山市|3410|0@FUZHOU|福州市|3501|0@XIAMEN|厦门市|3502|0@PUTIAN|莆田市|3503|0@QUANZHOU|泉州市|3505|0@FUDING|福鼎市|350982|0@NANCHANG|南昌市|3601|0@JINGDEZHEN|景德镇市|3602|0@YINGTAN|鹰潭市|3606|0@JIAN|吉安市|3608|0@YUSHAN|玉山县|361123|0@JINAN|济南市|3701|0@QINGDAO|青岛市|3702|0@JIAONAN|胶南市|370284|0@ZIBO|淄博市|3703|0@ZAOZHUANG|枣庄市|3704|0@DONGYING|东营市|3705|0@YANTAI|烟台市|3706|0@WEIFANG|潍坊市|3707|0@ZHUCHENG|诸城市|370782|0@JINING|济宁市|3708|0@QUFU|曲阜市|370881|0@TAIAN|泰安市|3709|0@WEIHAI|威海市|3710|0@RIZHAO|日照市|3711|0@LAIWU|莱芜市|3712|0@LINYI|临沂市|3713|0@DEZHOU|德州市|3714|0@LIAOCHENG|聊城市|3715|0@BINZHOU|滨州市|3716|0@HEZE|荷泽市|3717|0@ZHENGZHOU|郑州市|4101|0@KAIFENG|开封市|4102|0@LUOYANG|洛阳市|4103|0@ANYANG|安阳市|4105|0@JIAOZUO|焦作市|4108|0@XUCHANG|许昌市|4110|0@LUOHE|漯河市|4111|0@NANYANG|南阳市|4113|0@SHANGQIU|商丘市|4114|0@ZHOUKO|周口市|4116|0@WUHAN|武汉市|4201|0@SHIYAN|十堰市|4203|0@XIANGFAN|襄樊市|4206|0@JINGZHOU|荆州市|4210|0@CHANGSHA|长沙市|4301|0@LIUYANG|浏阳市|430181|0@YUEYANG|岳阳市|4306|0@ZHANGJIAJIE|张家界市|4308|0@GUANGZHOU|广州市|4401|0@SHENZHEN|深圳市|4403|0@ZHUHAI|珠海市|4404|0@SHANTOU|汕头市|4405|0@HUIZHOU|惠州市|4413|0@QINGYUAN|清远市|4418|0@DONGGUAN|东莞市|4419|0@NANNING|南宁市|4501|0@GUILIN|桂林市|4503|0@HAIKOU|海口市|4601|0@CHONGQING|重庆市|5000|0@CHENGDU|成都市|5101|0@GUIYANG|贵阳市|5201|0@KUNMING|昆明市|5301|0@LASA|拉萨市|5401|0@XIAN|西安市|6101|0@BAOJI|宝鸡市|6103|0@LANZHOU|兰州市|6201|0@JIAYUGUAN|嘉峪关市|6202|0@TIANSHUI|天水市|6205|0@XINING|西宁市|6301|0@YINCHUAN|银川市|6401|0@WULUMUQI|乌鲁木齐|6501|0@PUJIANGXIAN|浦江县|330726|0';
Cities = Cities.split('@');
var InvolvedTextID = "city";   /////设置id名称
var CityMaxLength = Cities.length;   ////the length of the Array
var RegExpCityPY = /^[A-Za-z]+$/;   ////全部为字母的正则
var CProws = 5;
var CPcolumn = 7;
var CPOnePageNo = CProws * CPcolumn;
var CParr = new Array();  ///
var cityvalue="";

 
var CPNowPage = 0;   /////当前页
var CPTotalPage = 0;  /////总页数
var CPSelectItem;  ////选择的项
var SelectedCityArray;
var varCitySave = 0;


InitialArray(CParr, CProws, CPcolumn);
// preload the logo //
if (document.images) {
    logo = new Image(42, 33);
    logo.src = "/images/JN.gif";
}
var ImgStr = "<img src='/images/JN.gif' alt='' style='position: absolute; top: -20px; left: 340px;'/>";
var LetterCity = new Array("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z");
var SetCharArray = new Array('g$("CityPopTitle").innerHTML="没有查到结果";',
'g$("CityPopTitle").innerHTML="请输入拼音或汉字查询"',
'g$("CityPopPageUp").innerHTML="<a href=\'javascript:CPHandle(-CPOnePageNo)\' >上一页</a>";',
'g$("CityPopPageUp").innerHTML="<font style=\'color:Gray\'>上一页</font>";',
'g$("CityPopPageDown").innerHTML="<a href=\'javascript:CPHandle(CPOnePageNo)\' >下一页</a>";',
'g$("CityPopPageDown").innerHTML="<font style=\'color:Gray\'>下一页</font>";'
);
function CPMain(strss) {
    CityPopInit();
    FillCityArray();
    CPRedraw(true);
    cityvalue=strss;    
}


/////初始化数组为空字符串
function InitialArray(arr,rows,column) {
    for (var i = 0; i < rows; i++) {
        var arr1 = new Array();
        for (var j = 0; j < column; j++) {
            arr1[j] = "";
        }
        arr[i] = arr1;
    }
}

///////将二维坐标转换为一维坐标
function getOneIndex(x, y) { 
    return x * CPcolumn + y;
}

///////将一维维坐标转换为二维坐标
function getDoubleIndex(index) {
    var x = 0;
    var y = 0;
    x = Math.ceil((index+1) / CPcolumn) -1;
    y = index % CPcolumn;
    return { "x": x, "y": y };
} 

///////按键操作
function CPKeyUp(event,strss2) {
     cityvalue=strss2;
    if (g$("CityPopMain").style.visibility == "hidden") g$("CityPopMain").style.visibility = "visible";
    var varObjValue = g$(InvolvedTextID).value;       /////取得文本框的值
    if (varObjValue.charCodeAt(varObjValue.length - 1) == 32) {    ////避免切换到输入法时候        
        return;
    }
    switch (event.keyCode) {
        case 37:
            CPHandle(-1);
    
            return;
            break;
        case 38:
            CPHandle(-CPcolumn);
 
            return;
            break;
        case 39:
            CPHandle(1)
    
            return;
            break;
        case 40:
            CPHandle(CPcolumn)
 
            return;
            break;
        case 33:
            
            CPHandle(-CPOnePageNo)
            return;
            break;
        case 34:           
            CPHandle(CPOnePageNo);
            return;
            break;
        case 13:
         if (varCitySave == varObjValue.length) {
               CPSetText4Enter(cityvalue);
              return;
          };
       
            break;
        default:
            break;
    }
     varCitySave = varObjValue.length;
     CPMain(cityvalue);
}

function CPSetText4Enter(strcityvalue) {
    try {
        g$(InvolvedTextID).value = Cities[SelectedCityArray[CPNowPage * CPOnePageNo - CPOnePageNo + CPSelectItem]].split("|")[1];//显示城市名称
        g$(strcityvalue).value = Cities[SelectedCityArray[CPNowPage * CPOnePageNo - CPOnePageNo + CPSelectItem]].split("|")[2];//保存城市ID
        g$("CityPopMain").style.visibility = "hidden";
    }
    catch (e) { }

}


///////跳转操作
function CPHandle(flag) {
    /////////////////////////////////
    //////是否动作
    if (CPNowPage == 1) {
        if (flag == -CPOnePageNo) return;
        if (flag == -1 && CPSelectItem == 0) return;
        if (flag == -CPcolumn && CPSelectItem <CPcolumn) return;
    }
    if (CPNowPage == CPTotalPage) {
        if (flag == CPOnePageNo) return;
        if (flag == CPcolumn && (CPSelectItem + CPNowPage * CPOnePageNo - CPOnePageNo + CPcolumn > SelectedCityArray.length)) return;
        if ((flag == 1) && (CPSelectItem + CPNowPage * CPOnePageNo - CPOnePageNo + 1 == SelectedCityArray.length)) return;
    }
    //////
    ///////是否翻页
    ///向前翻页
    if (((flag == -1) && (CPSelectItem == 0)) || (flag == -CPOnePageNo) || (flag == -CPcolumn && getDoubleIndex(CPSelectItem).x == 0)) {
        CPSelectItem = (flag == -1) ? CPOnePageNo - 1 : ((flag==-CPcolumn)?CPOnePageNo-CPcolumn+getDoubleIndex(CPSelectItem).y:0);
        CPNowPage--;
        CPRedraw(false);
        return; /////
    }
    ///向后翻页
    if (((flag == 1) && (CPSelectItem == CPOnePageNo - 1)) || (flag == CPOnePageNo)|| (flag==CPcolumn && (getDoubleIndex(CPSelectItem).x+1==CProws))) {
        CPSelectItem = 0;
        CPNowPage++;
        CPRedraw(false);
        return; /////
    }
    ///////
    CPSelectItem += flag;
    CPclear(false);
    g$(CPSelectItem).style.background = "#00bbbb";
    


}

/////////初始化操作
function CityPopInit() {
    if (!g$(InvolvedTextID)) return;
    if (g$("CityPopMain")) {
        g$("CityPopMain").style.visibility = "visible";
        return;
    }
    var CityTextObj = g$(InvolvedTextID);
    var obj = document.createElement("div");
    obj.id = "CityPopMain";
    obj.style.visibility = "visible";
    obj.style.position = "absolute";
   
    obj.style.left = getPosition(CityTextObj).left + "px";
    obj.style.top = getPosition(CityTextObj).top + getPosition(CityTextObj).height + 2 + "px";
    document.body.appendChild(obj);
    var str = '<div id="CityPopTitle"></div><div id="PCMenu"></div><div id="CityPopContent"><table id="PCtable" onclick="CPSetText(arguments[0])" onmouseover="ChangeColor(arguments[0])">';
    for (var i = 0; i < CProws; i++) {
        str+='<tr>'
        for (var j = 0; j < CPcolumn; j++) {
            str += '<td id="' + (i * CPcolumn + j).toString() + '"></td>';
        }
        str += '</tr>';
    }
    str += '</table></div><div id="CityPopFoot"><div id="CityPopPageUp"></div><div id="CityPopPageCount"><span id="CityPopNowPage">1</span>/<span id="CityPopTotalPage">2</span></div><div id="CityPopPageDown"></div></div>';
    obj.innerHTML = ImgStr + str;
    g$("CityPopTitle").innerHTML = "请选择城市或输入城市名称的拼音";
    g$("PCMenu").innerHTML = "常用城市|A B C D";
    var tab = "[<label id='syy__' style='color:#ff0404; cursor:pointer; cursor:hand; padding:2px;'>常用城市</label>] ";
    for (var ee = 0; ee < 26; ee++) {
        if (!LetterCity[ee]) break;
        tab += '<label id="syy_' + LetterCity[ee] + '" style="color:#ff0404; cursor:pointer; cursor:hand; padding:3px">' + LetterCity[ee] + '</label>';
    }
    g$("PCMenu").innerHTML = tab;
    //------------------initial div complete!
    var count=document.getElementById("PCMenu").getElementsByTagName("label").length
    for (var aa = 0; aa < count; aa++) {
        document.getElementById("PCMenu").getElementsByTagName("label")[aa].onclick = function(e) {CitySearch(this)};
    }

}

function CPSetText(e) {
    try {        
        e = window.event ? window.event : e;
        var ObjTd = e.srcElement ? e.srcElement : e.target;
        var ObjTr = ObjTd.parentNode;
        var y = ObjTr.rowIndex;
        var x = ObjTd.cellIndex;
        var count = y * CPcolumn + x;
        if (g$(count).innerHTML == "") return;
        g$(InvolvedTextID).value = g$(count).innerHTML;
        {
         for (var i = 0; i < CityMaxLength; i++) {
                if (Cities[i].split("|")[1].toUpperCase() == g$(InvolvedTextID).value.toUpperCase()) {
                    g$(cityvalue).value =Cities[i].split("|")[2];
                   //  W$("shangquanvalue").value="";
                   //  W$("unitvalue").value="";
                    
                }
            }
        }
        
        g$("CityPopMain").style.visibility = "hidden";       
    
        
    }
    catch (e) { }

}

function CitySearch(e) {
    ////////////////////////////////////////////
    SelectedCityArray = new Array();
//    var a=e.id.substring(4,5);
//    for (var i = 0; i < CityMaxLength; i++) {
//        if (Cities[i].split("|")[0].substring(0,1).toUpperCase()== a.toUpperCase()) {
//            SelectedCityArray.push(i);                   
//        }
    //    }     
FillCityArray(e.id)
    CPRedraw(true);
}
function ChangeColor(e) {
    try {        
        e = window.event ? window.event : e;
        var ObjTd = e.srcElement ? e.srcElement : e.target;
        var ObjTr = ObjTd.parentNode;
        var y = ObjTr.rowIndex;
        var x = ObjTd.cellIndex;
        var count = y * CPcolumn + x;
        if (g$(count.toString()).innerHTML != "") {
            CPclear(false);
            g$(count.toString()).style.background = "#00bbbb";
            g$(count.toString()).style.cursor="pointer";
            g$(count.toString()).style.cursor="hand";
            g$(count.toString()).style.color="#f71010";
            CPSelectItem = count;
        }
    }
    catch (e) { }
}

/////////向选择城市数组里填充数据
function FillCityArray(flag) {
    if (flag!=null) {
        SelectedCityArray = new Array();
        if (flag.substring(4,5) == "_") {
            for (var i = 0; i < CityMaxLength; i++) {
                if (Cities[i].split("|")[3]== "0") {
                    SelectedCityArray.push(i);
                }
            }        
        }
        else {
            var a = flag.substring(4, 5);
            for (var i = 0; i < CityMaxLength; i++) {
                if (Cities[i].split("|")[0].substring(0, 1).toUpperCase() == a.toUpperCase()) {
                    SelectedCityArray.push(i);
                }
            }
        }
        return;
    }
    var KeyWords = g$(InvolvedTextID).value;
    if (KeyWords == "") {
        SelectedCityArray = new Array();
        for (var jj = 0; jj < CityMaxLength; jj++)
            SelectedCityArray.push(jj);
        return;
    }
    if (RegExpCityPY.exec(KeyWords)) {
        SelectedCityArray = new Array();

        for (var i = 0; i < CityMaxLength; i++) {
            if (matchCityItems(Cities[i].split("|")[0], KeyWords)) {
                SelectedCityArray.push(i);
            }
        }
    }
    else {
        SelectedCityArray = new Array();
        for (var ii = 0; ii < CityMaxLength; ii++) {
            if (matchCityItems(Cities[ii].split("|")[1], KeyWords)) {
                SelectedCityArray.push(ii);
            }
        }
    }
}

//******************判断是否满足搜索
function matchCityItems(str, keyword) {
    var ii = 0;
    str = str.toUpperCase();
    keyword = keyword.toUpperCase();
    for (var i = 0; i < str.length; i++) {
        if (keyword.charAt(ii) == str.charAt(i))
            ii++;
        if (ii == keyword.length) {
            return true;
        }
    }
    if (ii == keyword.length) {
        return true;
    }
    return false;
}




/////////重绘弹出框里面的内容
function CPRedraw(flag) {
    if (flag) CPRest();
    CPclear(true);
    if (CPTotalPage == 0) {
        eval(SetCharArray[0]);
        eval(SetCharArray[3]);
        eval(SetCharArray[5]);
        CPclear(true);
    }
    else {
        eval(SetCharArray[1]);
        if (flag) CPNowPage = 1;
        var str = "";
        var NowNo = (CPNowPage - 1) * CPOnePageNo;
        for (var i = 0; i < ((CPNowPage * CPOnePageNo > SelectedCityArray.length) ? SelectedCityArray.length - (CPNowPage - 1) * CPOnePageNo : CPOnePageNo); i++) {
            
            g$(i).innerHTML = Cities[SelectedCityArray[NowNo + i]].split("|")[1];
        }
        g$("CityPopNowPage").innerHTML = CPNowPage.toString();
        g$("CityPopTotalPage").innerHTML = CPTotalPage.toString();
        if (CPNowPage == 1)
            eval(SetCharArray[3]);
        else
            eval(SetCharArray[2]);
        if (CPNowPage * CPOnePageNo < SelectedCityArray.length)
            eval(SetCharArray[4]);
        else
            eval(SetCharArray[5]);
        
        g$(CPSelectItem).style.background = "#00bbbb";
      
    }
}


function CPRest() {
    CPTotalPage = Math.ceil(SelectedCityArray.length / CPOnePageNo);
    CPNowPage = (CPTotalPage == 0) ? 0 : 1;
    CPSelectItem = (CPTotalPage == 0) ? -1 : 0;
   // g$("CPContent").innerHTML = "";
}

function CPclear(flag) {
    for (var i = 0; i < CPOnePageNo; i++) {
        g$(i).style.background = "#ffffff";
        g$(i).style.color="#000";
        if (flag) g$(i).innerHTML = "";
    }
     
}

/********************一些实用函数******************/
///////get the object by id or name
function g$(fctId) { return document.getElementById(fctId); }
function n$(fctId) { return document.getElementsByName(fctId); }

//////set click hide the popup
document.onclick = function (e) {
    e = window.event || e;
    var srcElement = e.srcElement || e.target;
    try {
        HidePopByClick(g$("CityPopMain"), g$(InvolvedTextID), srcElement);
    }
    catch (e) { }
    //  HidePopByClick(g$("disctricttitle"), g$("district"), srcElement);    ////////可以添加多个
}

///////check the click event if comes from Pop up and input box object;
///////PopObj is the Pop up Object, BindObj is the responding Obj and ListenerObj is the source click object
function HidePopByClick(PopObj, BindObj, ListenerObj) {
    if ((typeof (PopObj) == "undefined") || (typeof (BindObj) == "undefined") || (typeof (ListenerObj) == "undefined"))
        return;
    if (PopObj.style || PopObj.style.display == "" || PopObj.style.visibility == "visible") {
        do {
            if (ListenerObj == BindObj || ListenerObj == PopObj)
                return;
            ListenerObj = ListenerObj.parentElement || ListenerObj.parentNode;
        } while (ListenerObj.parentElement || ListenerObj.parentNode)
        PopObj.style.visibility = "hidden";
    }
}



/////// get Object's absolute coordinate  and return an Object
/////// for example: getPosition(Obj).height
/////// there is an Error in IE6, must set the style of margin and padding
function getPosition(obj) {
    var top = 0;
    var left = 0;
    var width = obj.offsetWidth;
    var height = obj.offsetHeight;
    while (obj.offsetParent) {
        top += obj.offsetTop;
        left += obj.offsetLeft;
        obj = obj.offsetParent;
    }
    return { "top": top, "left": left, "width": width, "height": height };
}
//------------------------------------------------------------------------------------------------------
function OnEnter(field) { if (field.value == field.defaultValue) { field.value = ""; } }
function OnExit(field) { if (field.value == "") { field.value = field.defaultValue; } }
function subsearchtjfunit() {
         var cityid=W$("cityvalue");
         var bt = $("#arrivedate").val();
         if(cityid.value.length<1)
         {
            alert('请选择您要预订酒店所在的城市');
	        return false;
         }
         if(bt.length<8)
         {
            alert('请选择入住日期');
	        return false;
         }

            var surl = "/resv/SRResv1----" + cityid.value + "---tjf--" + bt + "-----1.html";
            form1.action=surl;
        }
//-------------------------------------------------
         function checkTime(i) 
        { 
        if (i<10) 
          {i="0" + i} 
          return i 
        } 
  function SetResvDate() {

         var now=new Date();
         var today=new Date(now.getFullYear(),(now.getMonth()),now.getDate());
         var tomorrow=new Date(today.valueOf()+1*24*60*60*1000);
         var Datetoday=today.getFullYear()+"-"+checkTime((today.getMonth()+1))+"-"+checkTime(today.getDate());
         var Datetomorrow=tomorrow.getFullYear()+"-"+checkTime((tomorrow.getMonth()+1))+"-"+checkTime(tomorrow.getDate());
         W$("arrivedate").value = Datetomorrow;
        
}
function W$(CId) { return document.getElementById(CId); }
        
