
function calcRentalPeriod(month, day, days)
{
    // 今日の年月日を取得
    var currentDate = new Date();
    var currentYear = currentDate.getFullYear();
    var currentMonth = currentDate.getMonth() + 1;
    var currentDay = currentDate.getDate();

    // 過去の月日は翌年扱い
    if (month < currentMonth) {
        currentYear = currentYear + 1;
    }
    if (month == currentMonth && day <= currentDay) {
        currentYear = currentYear + 1;
    }

    var addDays = 8;
    if (days.match(/^([\d])\_([\d]{1,3})$/i)) {
         addDays = parseInt(RegExp.$1);
         addDays = addDays + parseInt(RegExp.$2);
         addDays = addDays - 1;
         addDays = addDays + 2;
    }

    // 返却日を計算
    currentDate = new Date(currentYear, month - 1, day);
    var currentTime = currentDate.getTime();
    currentDate.setTime(currentTime + (addDays * 86400000));

    // 文字列を生成
    currentMonth = currentDate.getMonth() + 1;
    currentDay = currentDate.getDate();
    return currentMonth + "月" + currentDay + "日";
}

function checkRentalPeriod()
{
    var selectMonth = jQuery("#rental_mm option:selected").val();
    var selectDay = jQuery("#rental_dd option:selected").val();

    // 今日の年月日を取得
    var currentDate = new Date();
    var currentYear = currentDate.getFullYear();
    var currentMonth = currentDate.getMonth() + 1;
    var currentDay = currentDate.getDate();

    // 過去の月日は翌年扱い
    if (selectMonth < currentMonth) {
        currentYear = currentYear + 1;
    }
    if (selectMonth == currentMonth && selectDay <= currentDay) {
        currentYear = currentYear + 1;
    }

    // 到着希望日の検証
    currentDate = new Date(currentYear, selectMonth - 1, selectDay);
    currentMonth = currentDate.getMonth() + 1;
    currentDay = currentDate.getDate();

    if (currentMonth != selectMonth) {
        jQuery("#rental_mm option").each(function(){
            if (jQuery(this).val() == currentMonth) {
                jQuery(this).attr('selected', 'selected');
            }
        });
    }
    if (currentDay != selectDay) {
        jQuery("#rental_dd option").each(function(){
            if (jQuery(this).val() == currentDay) {
                jQuery(this).attr('selected', 'selected');
            }
        });
    }
}

jQuery(document).ready(function(){

    // 翌日を取得
    var thisDate = new Date();
    var thisTime = thisDate.getTime();
    thisDate.setTime(thisTime + 86400000);
    var thisMonth = thisDate.getMonth() + 1;
    var thisDay = thisDate.getDate();

    // 到着希望日を翌日に設定
    jQuery("#rental_mm option").each(function(){
        if (jQuery(this).val() == thisMonth) {
            jQuery(this).attr('selected', 'selected');
        }
    });
    jQuery("#rental_dd option").each(function(){
        if (jQuery(this).val() == thisDay) {
            jQuery(this).attr('selected', 'selected');
        }
    });

    // 返却日を計算
    jQuery(".henkyakubi").text(calcRentalPeriod(thisMonth, thisDay, jQuery("#rental_period option:selected").val()));

    // アクションを設定
    jQuery("#rental_period").change(function() {
        jQuery(".henkyakubi").text(calcRentalPeriod(jQuery("#rental_mm option:selected").val(), jQuery("#rental_dd option:selected").val(), jQuery("#rental_period option:selected").val()));
    });
    jQuery("#rental_mm").change(function() {
        checkRentalPeriod();
        jQuery(".henkyakubi").text(calcRentalPeriod(jQuery("#rental_mm option:selected").val(), jQuery("#rental_dd option:selected").val(), jQuery("#rental_period option:selected").val()));
    });
    jQuery("#rental_dd").change(function() {
        checkRentalPeriod();
        jQuery(".henkyakubi").text(calcRentalPeriod(jQuery("#rental_mm option:selected").val(), jQuery("#rental_dd option:selected").val(), jQuery("#rental_period option:selected").val()));
    });

});

