﻿//author : ZhangYong
//date :   2007/06/17
//import: js/Search.kit.js

var starTypes = new Array("all|All 不限", "|No&nbsp;stars 未评星级", "2|2&nbsp;stars 二星级", "3|3&nbsp;stars 三星级", "4|4&nbsp;stars 四星级", "5|5&nbsp;stars 五星级");

var dateFormatErrorMsg = "{0}"+ I18N.Wrongformat; 
var notNullErrorMsg = "{0}"+I18N.Wrongempty;
var maxLengthErrorMsg = "{0} 不能超过{1}个汉字";
var compareErrorMsg = "{1}"+I18N.WrongCompare+"{0}";
var sameCityErrorMsg = "{0} 不能与 {1} 相同";

var curobj;
function submit() {
    if (!validateForm()) return;
    Cache();
    document.getElementById("btnSubmit").click();
}
function validateForm(){
    var isSubmit = false;
    var errorMsg = "";
    var checkInDate = document.getElementById("date1").value;
    var checkOutDate = document.getElementById("date2").value;
    var isDate;
    var temp = null;
    
    temp = validateDate(checkInDate, I18N.Checkindate);
    isDate = temp.isDate; 
    errorMsg += temp.errorMsg;
    temp = validateDate(checkOutDate, I18N.Checkoutdate);
    isDate = isDate && temp.isDate; 
    errorMsg += temp.errorMsg;
    var now = new Date();
    if(compareDate(now.getYear() + "-" + (now.getMonth() + 1)  + "-" + now.getDate(), checkInDate) == 1){
        errorMsg += I18N.Wrongcheckindate;
    }
    
    if(isDate && compareDate(checkInDate, checkOutDate) != 2){
        errorMsg += compareErrorMsg.replace("{0}", I18N.Checkindate).replace("{1}", I18N.Checkoutdate) + "\n";
    }
    
    if(isDate && (Date.parse(checkOutDate.replace(/-/img, "/")) - Date.parse(checkInDate.replace(/-/img, "/"))) / (1000 * 3600 * 24) < 8){
        errorMsg += I18N.apartmentMinAre8Days + "\n"; 
    }
    
    if(document.getElementById("txtApartmentName").value.trim().lenB() > 254){
        errorMsg += maxLengthErrorMsg.replace("{0}", "公寓名(Apartment Name)").replace("{1}", "127");
    }
//    var cityname = document.getElementById('cityName');
//    if(document.getElementById("txtHotelName").value == "" && cityname.options[cityname.selectedIndex].value == "all"){
//        errorMsg += "宾馆名(Hotel Name) 不能为空\n";
//    }
    
    if(errorMsg == ""){
        Cache.apply(this);
        return true;
    }
    
    alert(errorMsg.substring(0, errorMsg.length));
    return false;
}
function Cache () {
    var expires = new Date();
    expires.setYear(expires.getYear() + 1);
    var type = "apartment";
    var selectCountry = document.getElementById('selectCountry').selectedIndex;
    var selectProvince = document.getElementById('selectProvince').selectedIndex;
    var selectCity = encodeURIComponent(document.getElementById('selectCity').value);
    var date1 = document.getElementById('date1').value;
    var date2 = document.getElementById('date2').value;
    var txtApartmentName = document.getElementById('txtApartmentName').value;
    var star = document.getElementById('star').selectedIndex;
    var cookieValue = type + "//" + selectCountry + "//" + selectProvince + "//" + selectCity + "//" + date1 + "//" + date2 + "//" + txtApartmentName + "//" + "hotelPrice" + "//" + star;
    setCookie("apartment_cache", cookieValue, expires, "/", "");
    setCookie("city_cache", selectCity, expires, "/", "");
}
function ReCache () {
    var cookies = getCookie("apartment_cache");
    if (cookies != null) {
        var values = cookies.split('//');
        var now = new Date();
        if (compareDate(now.getYear() + "-" + (now.getMonth() + 1)  + "-" + now.getDate(), values[4]) != 1)
            document.getElementById('date1').value = values[4];
        if (compareDate(now.getYear() + "-" + (now.getMonth() + 1)  + "-" + now.getDate(), values[5]) != 1)
            document.getElementById('date2').value = values[5];
        document.getElementById('txtApartmentName').value = values[6];
        document.getElementById('star').selectedIndex = values[8];
        
        if (location.href.indexOf("?") != -1)
            CityUI.selectRegion(decodeURIComponent(getCookie("city_cache")));
        else
            CityUI.selectRegion("PAR");
    }
}
//////////////////////////////////////////////////////////////////////////////
var select_code = setInterval(function () {
	if (document.getElementById("ON_LOAD_EVENT") != null) {
	    fillSelectControl("star", starTypes, 0, false);
//		fillSelectControl("countryname", domesticCountrys, 0);
//		fillSelectControl("cityName", domesticCitys.CN, 0);
		document.getElementById("findApartmentForm").onsubmit = validateForm;
		
//		var countryname = document.getElementById("countryname");
//		countryname.onchange = function () {
//		    fillSelectControl("cityName", domesticCitys[countryname.options[countryname.selectedIndex].value]);
//		};
    
		
        CityUI = new SelectCity({ CountryEl: "selectCountry", ProvinceEl: "selectProvince", CityEl: "selectCity", type: "17",
        ConutryOnChange: function (sender) {
            //if (top.setCity && CityUI.CityEl.options.length > 0)
            //    top.setCity(CityUI.CityEl.options[CityUI.CityEl.selectedIndex].innerHTML, CityUI.CityEl.options[CityUI.CityEl.selectedIndex].value);
        }, 
        ProvinceOnChange: function (sender) {
            CityUI.provinceOnChange();
            //if (top.setCity && CityUI.CityEl.options.length > 0)
            //    top.setCity(CityUI.CityEl.options[CityUI.CityEl.selectedIndex].innerHTML, CityUI.CityEl.options[CityUI.CityEl.selectedIndex].value);
        }, 
        CityOnChange: function (sender) {
            //if (top.setCity && CityUI.CityEl.options.length > 0)
            //    top.setCity(CityUI.CityEl.options[CityUI.CityEl.selectedIndex].innerHTML, CityUI.CityEl.options[CityUI.CityEl.selectedIndex].value);
        }});
        //CityUI.selectRegion(document.getElementById("Region").value);
        
        // 初始化酒店的当前日期
        var now = new Date();
        now.setDate(now.getDate() + 1);
        document.getElementById('date1').value = ((zXml.useActiveX) ? 0 : 1900) + now.getYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
        now.setDate(now.getDate() + 8);
        document.getElementById('date2').value = ((zXml.useActiveX) ? 0 : 1900) + now.getYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
        
        // 使日历控件自动隐藏.
        document.body.onclick = function (e) {
            var srcElement = SearchEventSource();
            if (srcElement.tagName != "IMG") {  
                if (window.calendar)
                    window.calendar.style.display = "none";
//                document.getElementById("cal1Container").style.display = "none";
//                if (document.getElementById("cal1ContainerN"))
//                    document.getElementById("cal1ContainerN").style.display = "none";
//                document.getElementById("cal2Container").style.display = "none";
//                if (document.getElementById("cal2ContainerN"))
//                    document.getElementById("cal2ContainerN").style.display = "none";
            }
        };
        
		ReCache();
		clearInterval(select_code);
	}
}, 10);