﻿//index order form
var checkinEl = "#checkin";
var checkoutEl = "#checkout"

function changeTxtDate2()
{
    var date=$(checkinEl).val();
    date=new Date(Date.parse(date.replace(/-/g,'/')));
    date=new Date(Date.parse(date));
    date = new Date(date.valueOf() + 60 * 60 * 24 * 1000); //间隔为一天
    //alert(date);
    //date+=1;
    //alert($(obj).val());
    $(checkoutEl).val(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
    //alert($("#checkout").val());
    changeSelect(checkoutEl);
}

function isLeepYear(year) {
    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))
        return true; 
    return false;
}

function getMonthTotalDate(month,year) {
    switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            return 31;break;
        case 4:
        case 6:
        case 9:
        case 11:
            return 30;break;
        case 2:
            if (isLeepYear(year))return 29;
            return 28;
            break;
    }
}

function buildSelectDay(prefix, dateValue) {
    var selDate = dateValue.split('-');
    //build day options
    var dayCount = getMonthTotalDate(parseInt(selDate[1]), parseInt(selDate[0]));
    var $Doption = $(prefix + "_day option");
    if ($Doption.size() > dayCount) {
        for (var i = dayCount; i < $Doption.size(); i++) {
            $Doption.eq(i).remove();
            //alert($Doption.size());
        }
    }
    if ($Doption.size() < dayCount) {
        for (var i = $Doption.size(); i < dayCount; i++) {
            $(prefix + "_day").append("<option value=\"" + (i + 1) + "\">" + (i + 1) + "</option>");
        }
    }
    //alert(selDate[0]);
}

function getSelectedIndex(obj, value) {
    var returnValue = 0;
    var $options = $(obj + " option");
    for (var i = 0; i < $options.size(); i++) {
        if ($options.eq(i).val() == value) returnValue = i;
    }
    //alert(returnValue);
    return returnValue;
}

function changeSelect(prefix) {
    //alert($("#" + prefix).val());
    var selDate = $(prefix).val();

    buildSelectDay(prefix, selDate);

    selDate = selDate.split('-');
    //$("#" + prefix + "_year option[value='" + selDate[0] + "']").attr("selected", "selected");
    //$("#" + prefix + "_month option[value='" + selDate[1] + "']").attr("selected", "selected");
    //$("#" + prefix + "_day option[value='" + selDate[2] + "']").attr("selected", "selected");
    $(prefix + "_year").get(0).selectedIndex = getSelectedIndex(prefix + "_year", selDate[0]);
    $(prefix + "_month").get(0).selectedIndex = getSelectedIndex(prefix + "_month", selDate[1]);
    $(prefix + "_day").get(0).selectedIndex = getSelectedIndex(prefix + "_day", selDate[2]);
    
    
}

function yearSelectChange(prefix,flag) {
    //alert($("#" + prefix + "_year option[selected]").val());
    var selDate = $(prefix).val();
    selDate = selDate.split('-');
    if (selDate[0] == $(prefix + "_year option[selected]").val()) {
        return;
    }
    else {
        recoverDate(prefix, $(prefix + "_year option[selected]").val() + "-" + selDate[1] + "-" + selDate[2], flag)
    }
}

function monthSelectChange(prefix,flag) {
    //alert($("#" + prefix + "_month option[selected]").val());
    var selDate = $(prefix).val();
    selDate = selDate.split('-');
    if (selDate[1] == $(prefix + "_month option[selected]").val()) {
        return;
    }
    else {
        recoverDate(prefix, selDate[0] + "-" + $(prefix + "_month option[selected]").val() + "-" + selDate[2], flag)
    } 
}

function daySelectChange(prefix,flag) {
    //alert($("#" + prefix + "_day option[selected]").val());
    var selDate = $(prefix).val();
    selDate = selDate.split('-');
    if (selDate[2] == $(prefix + "_day option[selected]").val()) {
        return;
    }
    else {
        recoverDate(prefix, selDate[0] + "-" + selDate[1] + "-" + $(prefix + "_day option[selected]").val(), flag)
    } 
}

function buildYear(prefix, dateValue) {
    var selDate = dateValue.split('-');
    for (var i = parseInt(selDate[0]); i <= parseInt(selDate[0]) + 2; i++) {
        $(prefix + "_year").append("<option value=\"" + i + "\">" + i + "</option>");
    }
}

function checkDateVaild(_dateValue, minDate, maxDate) {
    var dateValue = new Date(Date.parse(_dateValue.replace(/-/g, '/')));
    if (dateValue >= minDate && dateValue <= maxDate) {
        return true;
    }
    return false;
}

function recoverDate(prefix, dateValue, flag) {
    var minDate = new Date();
    var maxDate = new Date(Date.parse(minDate.getFullYear() + 2 + "/" + (minDate.getMonth() + 1) + "/" + minDate.getDate()));
    
    if (!flag) {
        maxDate = new Date(Date.parse(minDate.getFullYear() + 2 + "/" + (minDate.getMonth() + 1) + "/" + (minDate.getDate() + 1)));
        minDate = new Date(Date.parse($(checkinEl).val().replace(/-/g, '/')).valueOf() + 60 * 60 * 24 * 1000);
    }

    //alert(maxDate.toString());
    //alert(minDate.toString());
    
    if (checkDateVaild(dateValue, minDate, maxDate)) {
        $(prefix).val(dateValue);
        buildSelectDay(prefix, $(prefix).val());
        if (flag) {
            changeTxtDate2();
        }
    }
    else {
        alert("选择的日期超出范围！");
        changeSelect(prefix);
    }
}

function goSearch() {
    var url = "http://www.jinjianghotels.com/portal/cn/showReserveD_H.asp?propid=1052&hotelid=A502103&roomType=1&price=+BasePrice+%2A+param1++%3E%3D0&language=1&Progid=1052";

    var checkIn = $("#checkin").val();
    var checkOut = $("#checkout").val();
    var roomCount = $("#roomCount option[selected]").val();
    var adult = $("#adult option[selected]").val();
    var child = $("#child option[selected]").val();

    url += "&roomsCount=" + roomCount + "&startdate=" + checkIn + "&enddate=" + checkOut + "&adults=" + adult + "&childs=" + child;
    //alert(url);
    //document.location.href = url;
    window.open(url);    
    
}

$(function() {
    //var today=new Date();
    //$("#todayDate").val(today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate());
    buildYear("#checkin", $("#todayDate").val())
    buildYear("#checkout", $("#todayDate").val())

    $("#checkin").val($("#todayDate").val());
    //alert($("#checkin").val());
    changeSelect("#checkin");
    changeTxtDate2();
    $("#dosearch").click(function() { goSearch(); return false; })
});    

