//...RSV panel
var rsv_term = 6; //...ヵ月後まで表示
var RF;
var days = new Array('',31,28,31,30,31,30,31,31,30,31,30,31); //...1-12月の日数
var today = new Date();
var today_y = today.getFullYear();
var today_m = today.getMonth()+1;
var today_d = today.getDate();

/*
today_y = 2010;
today_m = 12;
today_d = 31;
*/


var YM_HTML1,YM_HTML1;
for(var i=0;i<rsv_term;i++){
	var set_y = today_y;var set_m = today_m + i;
	if(set_m > 12){set_m = set_m - 12;set_y++;}
	if(set_m < 10){set_m = '0'+set_m;}
	YM_HTML1 += "<option value=\"" + set_y + set_m + "\">"+set_y+"年"+set_m+"月<\/option>\n";
}

{
	var set_y = today_y;var set_m = today_m + rsv_term;
	if(set_m > 12){set_m = set_m - 12;set_y++;}
	if(set_m < 10){set_m = '0'+set_m;}
	YM_HTML2 = YM_HTML1 + "<option value=\"" + set_y + set_m + "\">"+set_y+"年"+set_m+"月<\/option>\n";
}


var CIYM_HTML = "<select name=\"ciym\" id=\"selciym\" onChange=\"rsv_days('ci');set_tomorrow('in');\">\n" + YM_HTML1 + "<\/select>\n";
var COYM_HTML = "<select name=\"coym\" id=\"selcoym\" onChange=\"rsv_days('co');set_tomorrow('out');\">\n" + YM_HTML2 + "<\/select>\n";


document.write(
	"<div class=\"rsv-midashi\">チェックイン・アウト<\/div>\n" + 
	CIYM_HTML+"\n" + "<select id=\"selcid\" name=\"cid\" onChange=\"set_tomorrow('in');\">\n<\/select><br>\n" +
	COYM_HTML+"\n" + "<select id=\"selcod\" name=\"cod\" onChange=\"set_tomorrow('out');\">\n<\/select>\n" +
	"<div style=\"color:#987;padding-top:5px;\">ご利用人数 <select name=\"nop\">" +
	"<option value=\"1\" selected='selected'>1</option><option value=\"2\">2</option><option value=\"3\">3</option>\n" +
	"<option value=\"4\">4</option><option value=\"5\">5</option><option value=\"6\">6</option></select> 名様</div>\n"
);

RF = document.rsvform;

rsv_days('ci');
rsv_days('co');


function rsv_days(CIO){
	var sel_name = 'sel' + CIO + 'ym';
	var set_name = 'sel' + CIO + 'd';
	
	var sel_ym = RF[sel_name].options[RF[sel_name].options.selectedIndex].value;
	var sel_y = sel_ym.substr(0,4); var sel_m = Number(sel_ym.substr(4,2));
	var set_d = days[sel_m];
	if( (((sel_y % 4 == 0)&&(sel_y % 100 != 0))||(sel_y % 400 == 0)) && (sel_m == 2) ){set_d = 29;} //...閏年
	
	//...前回選択日があれば記憶
	var old_d = (RF[set_name] && (RF[set_name].options.selectedIndex > 0 ))? RF[set_name].options.selectedIndex:0;
	
	//...日数表示
	RF[set_name].options.length = 0;
	for(var j=1;j<=set_d;j++){
		var jj = (j<10)? '0'+j:j;
		var k = (j-1);
		RF[set_name].options[k] = new Option(jj+'日',jj);
	}
	
	//...年月変更時に日数が超えている時
	set_d --;
	if(old_d){
		if(old_d > set_d){
			RF[set_name].options[set_d].selected = true;
		}else{
			RF[set_name].options[old_d].selected = true;
		}
	}
	
}



RF.selcid.options[today_d-1].selected = true;
set_tomorrow('in');

function set_tomorrow(io){
	if(io == 'in'){
		//...当日以降がチェック
		if((RF['selciym'].options.selectedIndex == 0)&&((RF['selcid'].options.selectedIndex + 1) < today_d)){
			RF['selcid'].options[today_d-1].selected = true;
			set_tomorrow('in');
		}
		
		if(RF['selcid'].options.selectedIndex == (RF['selcid'].options.length - 1) ){
			RF['selcoym'].options[RF['selciym'].options.selectedIndex + 1].selected = true;
			rsv_days('co');
			RF['selcod'].options[0].selected = true;
		}else{
			RF['selcoym'].options[RF['selciym'].options.selectedIndex].selected = true;
			rsv_days('co');
			RF['selcod'].options[RF['selcid'].options.selectedIndex + 1].selected = true;
		}
	}else{ //...out
		//...当日以降がチェック
		if((RF['selcoym'].options.selectedIndex == 0)&&((RF['selcod'].options.selectedIndex) < today_d)){
			RF['selcod'].options[today_d].selected = true;
			set_tomorrow('out');
		}
		
		if(
		(RF['selcoym'].options.selectedIndex < RF['selciym'].options.selectedIndex) ||
		( (RF['selcoym'].options.selectedIndex == RF['selciym'].options.selectedIndex) && (RF['selcod'].options.selectedIndex <= RF['selcid'].options.selectedIndex) )
		){ //...CIYMD >= COYMD の場合
			if(RF['selcod'].options.selectedIndex == 0){ //...CODが1日の場合
				if(RF['selcoym'].options.selectedIndex > 0){ //...COYMが翌月以降の場合
					RF['selciym'].options[RF['selcoym'].options.selectedIndex - 1].selected = true; //...前月に設定
					rsv_days('ci');
					RF['selcid'].options[RF['selcid'].options.length -1].selected = true; //...前月末に設定
				}else{ //...COYMが当月の場合
					RF['selcid'].options[0].selected = true;
					RF['selcod'].options[1].selected = true; //...2日に設定
				}
			}else{
				RF['selcid'].options[RF['selcod'].options.selectedIndex - 1].selected = true; //...前日に設定
			}
		}
	}
}






