// 検索BOX専用
function setDay(obj){
	obj = obj.form;
	var s_years = parseInt(obj.year.options[obj.year.selectedIndex].value);
	var s_months = parseInt(obj.month.options[obj.month.selectedIndex].value);
	var lastday = monthday(s_years,s_months);
	var itemnum = obj.day.length;
	if (lastday - 1 < obj.day.selectedIndex) {
		obj.day.selectedIndex = lastday - 1;
	}
	obj.day.length = lastday;
	for (cnt = itemnum + 1;cnt <= lastday;cnt++) {
		obj.day.options[cnt - 1].text = cnt;
	}
}

function monthday(s_years,s_months){
	var lastday = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if (((s_years % 4 == 0) && (s_years % 100 != 0)) || (s_years % 400 == 0)){
		lastday[1] = 29;
	}
	return lastday[s_months - 1];
}

function setSearchDate(yy, mm, dd, area) {
	document.QSform1.year.value = yy;
	document.QSform1.month.value = mm;
	document.QSform1.day.value = dd;
	document.QSform1.area.value = area;
	document.QSform1.submit();
}

//index.js
this.dateTxts = ["year", "month", "day", "calendar", "rooms"];
function setCondition(){
	var status = $("noDate").checked;
	for (var i = 0; i < this.dateTxts.length; i++) {
		var obj = $(this.dateTxts[i]);
		if (obj) {
			obj.disabled = status;
		}
	}
}

function afterLoad(){
	$("noDate").checked = true;
	var now = new Date();
	selectOption("year", now.getFullYear());
	selectOption("month", now.getMonth()+1);
	selectOption("day", now.getDate());
	setCondition();
	setDay($("year"));
}


function checkArea(){
	for (var i = 0; i < $("area").options.length; i++) {
		var option = $("area").options[i];
		if (option.selected) {
			if (option.value < 10) {
				$("area").selectedIndex = 0;
			}
			break;
		}
	}
}

function checkNoDate() {
	return !$("noDate").checked;
}

function setAreaName() {
	var index = $("area").selectedIndex;
	$("areaName").value = (index == 0) ? "------" : $("area").options[index].text;
}

function openCalendarLayer() {
//    Element.hide('budgetFrom', 'numOfAdults');
	var x = getXpos("search_form_box");
	var y = getYpos("calendar");
	shiftTo('calenderlayer', x, y);
	shiftTo('calenderlayer2', x, y);
	shiftTo('calenderlayer3', x, y);
	Start('calenderlayer', true);
}
function openCalendarAndHideElement() {
//	Element.hide('budgetFrom', 'budgetTo', 'numOfAdults', 'rooms');
//	var x = getXpos("search_form_box");
//	var y = getYpos("calendar");
//	shiftTo('calenderlayer', x, y);
//	shiftTo('calenderlayer2', x, y);
//	shiftTo('calenderlayer3', x, y);
	if ($('noDate').checked) {
		return;
	}
	Start('calenderlayer', true);
}

//calendar.js
function renderCalendar(year, month) {

    var firstDay = new Date();
    firstDay.setYear(year);
    firstDay.setMonth(month);
    firstDay.setDate(1);

	var today = new Date();
	// 曜日テーブル定義
	var dayOfWeek = new Array("日", "月", "火", "水", "木", "金", "土");
	// 月テーブル定義
	var daysInMonthArray= new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if (isLeapYear(year)) {
		daysInMonthArray[1] = 29;
	}

	var myTable = new Array(7 * 6);
	for (i = 0; i < 7*6; i++) {
		myTable[i] = "　";
	}
	for (i = 0; i < daysInMonthArray[month]; i++) {
		myTable[i + firstDay.getDay()] = i + 1;
	}

    // 表の作成開始
	var html = '<table width="135" border="0" cellspacing="1" cellpadding="1">\n';
	html += "<tr><td align='center' colspan='7' class='j10'>\n";
	html += "<strong>" + year + "年" + (month + 1) + "月/strong><br />\n";
	html += "</td></tr>\n";

	// 曜日見出しセット
	html += "<tr>\n";
	for (i = 0; i < 7; i++) {
		html += "<th align='center' ";
		html += (i == 0) ? "bgcolor='#fa8072'" : "bgcolor='#D9ECFF'";
		html += " class='j11'>" + dayOfWeek[i] + "</th>\n";
	}
	html += "</tr>\n";

	for (i = 0; i < 6; i++) {
		html += "<tr>\n";
		for (j = 0; j < 7; j++) {
			var dd = myTable[j + (i*7)];
			html += "<td align='center' ";
			if (year == today.getFullYear() && month == today.getMonth() && dd == today.getDate()) {
				// 今日のセルの色
				html += "bgcolor='#A4D1FF'";
			} else if (dd == "　") {
			    // 空白セルの色
			    html += "bgcolor='#EEEEEE'";
			} else if (j == 0) {
				// 日曜のセルの色
				html += "bgcolor='#FFCCFF'";
			} else {
				// 平日のセルの色
				html += "bgcolor='#FFFFFF'";
			}
			html += " class='j11' style='line-height:1.1'>\n";
			if (year == today.getFullYear() && month == today.getMonth() && parseInt(today.getDate()) > parseInt(dd)) {
				html += "<s>" + dd + "</s>\n";
			} else if (dd == "　") {
				html += "&nbsp;\n";
			} else {
				// 日付セット
				html += "<a href=\"javascript:setDate(" + (year - (((new Date()).getFullYear()) - 1)) + ", " + month + ", " + dd + "); closeCalendar();\"";
				html += " onMouseOver=\"status='';return true;\">" + dd + "</a>\n";
			}

			html += "</td>\n";
		}
		html += "</tr>\n";
	}
	html += "</table>\n";

	document.write(html);
}

function showCalendar(num) {
	Start('calenderlayer', (num == 1));
	Start('calenderlayer2', (num == 2));
	Start('calenderlayer3', (num == 3));
}

function closeCalendar() {
	Start('calenderlayer', false);
	Start('calenderlayer2', false);
	Start('calenderlayer3', false);
	Element.show('budgetFrom', 'budgetTo', 'numOfAdults', 'rooms');
}

function setDate(year, month, day) {
	$("year").selectedIndex = year;
	$("month").selectedIndex = month;
	$("day").selectedIndex = day-1;
}

function isLeapYear(year) {
	return (((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0);
}

//------------------------------------------------------------
//javascript レイヤー表示非表示
//------------------------------------------------------------
function Start(strLayer, fType)
{
	//NNの場合
	if (document.layers) {
		if (fType) {
			// 表示
			document.layers[strLayer].visibility = "show";
		} else {
			// 非表示	
			document.layers[strLayer].visibility = "hide";
		}
	}
	//IEとNC6の場合
	if (document.getElementById) {
		if (fType) {
			// 表示
			document.getElementById(strLayer).style.visibility="visible";
		} else {
			// 非表示	
			document.getElementById(strLayer).style.visibility="hidden";
		}
	}

}
//-->

function FromChange(id,visible){
if(document.getElementById)
document.getElementById(id).style.visibility=(visible?"visible":"hidden")
}

function setSelectYM(n){
document.sform.yyyymm.selectedIndex = n-1;
}
function setSelectDD(dn){
document.sform.dd.selectedIndex = dn-1;
}


//crosslab.js
function getXpos(elem) {
	var x = 0;
	var obj = $(elem);
	while (obj) {
		x += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return x;
}

function getYpos(elem) {
	var y = 0;
	var obj = $(elem);
	while (obj) {
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return y;
}

function shiftTo(elem, x, y) {
	Element.setStyle($(elem), { "left":x+"px", "top":y+"px" });
}


function replaceImage(obj, path) {
	var tag = obj.tagName;
	switch (tag.toLowerCase()) {
	case "img":
		obj.src = path;
		break;
	case "input":
		var type = obj.getAttribute("type");
		if(type.toLowerCase() == "image") {
			obj.src = path;
		}
		break;
	}
}

function selectOption(selectId, value) {
	$(selectId).selectedIndex = 0;
	for (var i = 0; i < $(selectId).options.length; i++) {
		var option = $(selectId).options[i];
		if (option.value == value) {
			$(selectId).selectedIndex = i;
			break;
		}
	}
}
