
/* Import Javascript file and execute function
------------------------------------------------------------------------------*/
var rsvWidget_require = function (jsFilePath, check, next) {
	check = new Function('return !!(' + check + ')');
	
	if (!check()) {
		var script = document.createElement('script');
		script.setAttribute('type', 'text/javascript');
		script.setAttribute('src', jsFilePath);
		document.getElementsByTagName('head')[0].appendChild(script);
		
		setTimeout(function () {
			if (!check()) {
				setTimeout(arguments.callee, 100);
			}
			else {
				next();
			}
		}, 100);
	}
	else {
		next();
	}
};

var rsvWidget_observe = function(elm, listener, func) {
	try {
		elm.addEventListener(listener, func, false);
	}
	catch(e) {
		elm.attachEvent('on' + listener, func);
	}
};

var rsvWidget_changeHotelList = function(selected) {
	var areaNo = parseInt(document.getElementById('rsvWidget_areaId').value);
	var selectElm = document.getElementById('rsvWidget_hotelNoId');
	var row;
	var optionElm;
	var i = 0;
	if (!areaNo) {
		for (row in rsvWidget_hotelHash) {
			optionElm = new Option(rsvWidget_hotelHash[row], row);
			selectElm.options[i] = optionElm;
			i++;
		}
	}
	else {
		var cageElm = document.getElementById('rsvWidget_selectHotel');
		var list = rsvWidget_areaHash[areaNo]['hotelNo'];
		var select = '<select name="hotelNo" id="rsvWidget_hotelNo">' + "\n";
		
		while (selectElm.firstChild) {
			selectElm.removeChild(selectElm.firstChild);
		}
		
		var rowNum;
		var no;
		for (row in rsvWidget_hotelHash) {
			rowNum = parseInt(row);
			for (no in list) {
				if (list[no] == row) {
					optionElm = new Option(rsvWidget_hotelHash[row], row);
					selectElm.options[i] = optionElm;
					if (selected && selected == row) {
						selectElm.selectedIndex = i;
					}
					i++;
					break;
				}
			}
		}
		
	}
};

var rsvWidget_submit = function(mode) {
	var query 	= rsvWidget_getQuery(rsvWidget_hotelNo);
	//var url		= (mode == 'plan') ? rsvWidget_rWithsPlanUrl : rsvWidget_rWithsVacantUrl;
	var url		= (mode == 'plan') ? '/plans/' : rsvWidget_rWithsVacantUrl + query;
	//url += query;
	windowPost(url);
/*	
	var w = window.open(url);
	w.focus();
	*/
};

var rsvWidget_getQuery = function(hotelNo) {
	var ciDateY = document.getElementById('rsvWidget_ciDateY').value;
	var ciDateM = rsvWidget_formatDate(document.getElementById('rsvWidget_ciDateM').value);
	var ciDateD = rsvWidget_formatDate(document.getElementById('rsvWidget_ciDateD').value);
	var coDateY = document.getElementById('rsvWidget_coDateY').value;
	var coDateM = rsvWidget_formatDate(document.getElementById('rsvWidget_coDateM').value);
	var coDateD = rsvWidget_formatDate(document.getElementById('rsvWidget_coDateD').value);
	var room	= document.getElementById('rsvWidget_roomId').value;
	var otona	= document.getElementById('rsvWidget_otonaId').value;
	
	var query = '?hotelNo=' + hotelNo
	 + '&ciDateY=' 	+ ciDateY
	 + '&ciDateM=' 	+ ciDateM
	 + '&ciDateD=' 	+ ciDateD
	 + '&coDateY=' 	+ coDateY
	 + '&coDateM=' 	+ coDateM
	 + '&coDateD=' 	+ coDateD
	 + '&room='		+ room
	 + '&otona='	+ otona;
	 
	return query;
}

var rsvWidget_formatDate = function(v) {
	if (v < 10) {
		v = '0' + String(v);
	}
	
	return v;
};

var rsvWidget_displayRsvWidget = function() {
	rsvWidget_require(rsvWidget_absWebPath + '/rsvWidget/js/libs/RsvWidget_calendar.js', 'window.RsvWidget_calendar', function() {
		rsvWidget_require(rsvWidget_absWebPath  + '/rsvWidget/js/libs/RsvWidget_getSelectboxSrc.js', 'window.RsvWidget_getSelectboxSrc', function () {
			
			var selectCheckInYearElm	= document.getElementById('rsvWidget_selectCheckInY');
			var selectCheckInMonthElm	= document.getElementById('rsvWidget_selectCheckInM');
			var selectCheckInDayElm		= document.getElementById('rsvWidget_selectCheckInD');
			var selectCheckOutYearElm	= document.getElementById('rsvWidget_selectCheckOutY');
			var selectCheckOutMonthElm	= document.getElementById('rsvWidget_selectCheckOutM');
			var selectCheckOutDayElm	= document.getElementById('rsvWidget_selectCheckOutD');
			var selectOtonaElm		= document.getElementById('rsvWidget_selectOtona');
			var selectRoomElm		= document.getElementById('rsvWidget_selectRoom');
			
			if (rsvWidget_phase == 'develop') {
				var errorFlag = false;
				if (!selectCheckInYearElm) {
					alert('Not found ID: rsvWidget_selectCheckInY');
					errorFlag = true;
				}
				if (!selectCheckInMonthElm) {
					alert('Not found ID: rsvWidget_selectCheckInM');
					errorFlag = true;
				}
				if (!selectCheckInDayElm) {
					alert('Not found ID: rsvWidget_selectCheckInD');
					errorFlag = true;
				}
				if (!selectCheckOutYearElm) {
					alert('Not found ID: rsvWidget_selectCheckOutY');
					errorFlag = true;
				}
				if (!selectCheckOutMonthElm) {
					alert('Not found ID: rsvWidget_selectCheckOutM');
					errorFlag = true;
				}
				if (!selectCheckOutDayElm) {
					alert('Not found ID: rsvWidget_selectCheckOutD');
					errorFlag = true;
				}
				if (!selectOtonaElm) {
					alert('Not found ID: rsvWidget_selectOtona');
					errorFlag = true;
				}
				if (!selectRoomElm) {
					alert('Not found ID: rsvWidget_selectRoom');
					errorFlag = true;
				}
				
				if (errorFlag) {
					return;
				}
			}
			
			var inst = new RsvWidget_getSelectboxSrc(rsvWidget_selectedPlusDay, rsvWidget_plusDay);
			
/*
			// read stylesheet
			var cssSrc1 = document.createElement('link');
			cssSrc1.setAttribute('type', 'text/css');
			cssSrc1.setAttribute('rel', 'stylesheet');
			cssSrc1.setAttribute('href', rsvWidget_absWebPath + '/rsvWidget/css/common/rsvWidget.css');
			document.getElementsByTagName('head')[0].appendChild(cssSrc1);
			var cssSrc2 = document.createElement('link');
			cssSrc2.setAttribute('type', 'text/css');
			cssSrc2.setAttribute('rel', 'stylesheet');
			cssSrc2.setAttribute('href', rsvWidget_absWebPath + '/rsvWidget/css/common/clearfix.css');
			document.getElementsByTagName('head')[0].appendChild(cssSrc2);
*/
			
			var checkInYearSrc 	= inst.getYear();
			var checkInMonthSrc	= inst.getMonth();
			var checkInDaySrc	= inst.getDay();
			
			inst.initalize(rsvWidget_selectedPlusDay + 1, rsvWidget_plusDay);
			inst.setYearData('coDateY', 'rsvWidget_coDateY');
			inst.setMonthData('coDateM', 'rsvWidget_coDateM');
			inst.setDayData('coDateD', 'rsvWidget_coDateD');
			var checkOutYearSrc 	= inst.getYear();
			var checkOutMonthSrc	= inst.getMonth();
			var checkOutDaySrc		= inst.getDay();
			
			var otonaSrc	= inst.getOtona();
			var roomSrc		= inst.getRoom();
			
			selectCheckInYearElm.innerHTML		= checkInYearSrc;
			selectCheckInMonthElm.innerHTML		= checkInMonthSrc;
			selectCheckInDayElm.innerHTML		= checkInDaySrc;
			selectCheckOutYearElm.innerHTML		= checkOutYearSrc;
			selectCheckOutMonthElm.innerHTML	= checkOutMonthSrc;
			selectCheckOutDayElm.innerHTML		= checkOutDaySrc;
			selectOtonaElm.innerHTML			= otonaSrc;
			selectRoomElm.innerHTML				= roomSrc;
		});
	});
};


rsvWidget_observe(window, 'load', rsvWidget_displayRsvWidget);


function windowPost(value){
	//blankでオープン
	var w = window.open("about:blank","jump");
	//form生成
	var form = document.createElement("form");
	form.action = '/jump/search1.php';
	form.target = 'jump';
	form.method = 'post';	
	// input-hidden生成と設定
	//var qs = [{type:'hidden',name:'url',value:value}];
	var qs = {type:'hidden',name:'url',value:value};
	//for(var i = 0; i < qs.length; i++) {
		var ol = qs;
		var input = document.createElement("input");
		for(var p in ol) {
		  input.setAttribute(p, ol[p]);
		}
		form.appendChild(input);
	//}
	
	// formをbodyに追加して、サブミットする。その後、formを削除
	var body = document.getElementsByTagName("body")[0];
	body.appendChild(form);
	form.submit();
	body.removeChild(form);
	
	w.focus();
}



