/* 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_setPlanHotelNo = function(no) {

	document.getElementById('rsvWidget_planHotelNo').value =  no;

};



var rsvWidget_submit = function(mode) {

	var query 	= rsvWidget_getQuery(rsvWidget_hotelNo);

	var url		= (mode == 'plan') ? rsvWidget_rWithsPlanUrl : rsvWidget_rWithsVacantUrl;

	url += query;

	

	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);














