
/** Calls the ajax_getrooms modules which returns a list of rooms for the selected hotel and date range*/
function loadrooms(){
	if (!curMin) {
		myDate = Page.FindControl("checkIn").value.split("/");
		auxDate = new Date();
		auxDate.setFullYear(myDate[2]);
		auxDate.setMonth(myDate[1]-1);
		auxDate.setDate(myDate[0]);
		auxDate.setHours(0,0,0,0);
		curMin = new Date(auxDate.valueOf());
	}
	
	if (!curMax) {
		myDate = Page.FindControl("checkOut").value.split("/");
		auxDate = new Date();
		auxDate.setFullYear(myDate[2]);
		auxDate.setMonth(myDate[1]-1);
		auxDate.setDate(myDate[0]);
		auxDate.setHours(0,0,0,0);
		curMax = new Date(auxDate.valueOf());
	}

	var min = Convert.FormatDate(curMin);
	var max = Convert.FormatDate(curMax);

	Page.FindControl("spRoomType").innerHTML = "";
	room = null;

	calculatePrice();

	if (min == max){
		return;
	}



	var url = "index.php?module=ajax_getrooms&idHotel=" + _idHotel + "&start=" + min + "&end=" + max;

	var objReservation = Page.FindControl("idReservation");
	if (objReservation.value){
		url += "&idReservation="+objReservation.value;
	}
/*
	if (_idRoom){
		url += "&idRoom="+_idRoom;
	}
*/
	//window.prompt("url for getrooms: ",url);
/*
	xmlhttpPost(
		"index.php",
		url,
		"processRooms"
	);
*/
	var ajaxRequest = new Ajax.Request(
		url,
		{
			method: 'get',
			asynchronous: true,
			onComplete: processRooms
		});
}

/** updates the rooms div with the data returned by the ajax module */
function processRooms(res){
	Page.FindControl("roomsbox").innerHTML = res.responseText;
	//_idRoom = Page.FindControl("defaultRoom").value
	//selectRoom(_idRoom);
}

/** Calls the ajax_getroomdata when the user has selected a room */
function selectRoom(idRoom){
	_idRoom = idRoom;
	if (!curMin) {
		myDate = Page.FindControl("checkIn").value.split("/");
		auxDate = new Date();
		auxDate.setFullYear(myDate[2]);
		auxDate.setMonth(myDate[1]-1);
		auxDate.setDate(myDate[0]);
		auxDate.setHours(0,0,0,0);
		curMin = new Date(auxDate.valueOf());
	}
	
	if (!curMax) {
		myDate = Page.FindControl("checkOut").value.split("/");
		auxDate = new Date();
		auxDate.setFullYear(myDate[2]);
		auxDate.setMonth(myDate[1]-1);
		auxDate.setDate(myDate[0]);
		auxDate.setHours(0,0,0,0);
		curMax = new Date(auxDate.valueOf());
	}

	var min = Convert.FormatDate(curMin);
	var max = Convert.FormatDate(curMax);
	var url = "module=ajax_getroomdata&idRoom=" + idRoom + "&start=" + min + "&end=" + max;

	xmlhttpPost(
		"index.php",
		url,
		"processSelectRoom"
	);

}


/** Updates the page with the selected room data when it is returned by the ajax module */
function processSelectRoom(res){
	if(Page.FindControl('noStyles').value.match(','+_idHotel+',') == ','+_idHotel+',')
			idHotelStyle = Page.FindControl('defStyle').value;
		else
			idHotelStyle = _idHotel;
	
	if (room && room.idRoom){
		var dvRoom = Page.FindControl("dvRoom_"+room.idRoom);
		dvRoom.className = dvRoom.className.replace(" selectedRoom"+idHotelStyle,"");
	}

	eval("room = " + res);

	Page.FindControl("spRoomType").innerHTML = room.name;
    impuestos();
	calculatePrice();

	//if this room has no images, should display the hotel's image.
	if (!room.images && hotel.images){
		Page.FindControl("imgRoom").src = hotel.images[0].filePath;
		Page.FindControl("imagedescriptionbox").innerHTML = hotel.images[0].description;
	}else if (room.images[0].filePath){
		Page.FindControl("imgRoom").src = room.images[0].filePath;
		Page.FindControl("imagedescriptionbox").innerHTML = room.images[0].description;
		currentImage = 0;
	}

	Page.FindControl("roomdescription").innerHTML = room.largeDescription;

	var dvRoom = Page.FindControl("dvRoom_"+room.idRoom);
	if (dvRoom)
		dvRoom.className = dvRoom.className + " selectedRoom" + idHotelStyle;

	//loadroomcalendars(_idHotel,_idRoom,_month,_year);
}
