Partner_QuotationHandler = {

	roomgroups : null,

	roomgroupNumber : null,

	init : function(params) {

		if (typeof params != 'undefined') {
			this.roomgroups = params.roomgroups;
			// roomgroup change event
			$('user_roomgroup').observe('change', Partner_QuotationHandler.roomgroupSelect.bindAsEventListener(Partner_QuotationHandler));
			// init
			this.roomgroupSelect();
		}

		// flexible elements handling
		if ($('user_arrival_flexible_div')) {
			// hide extra fields
			$('user_arrival_flexible_div').hide();
			// onclick
			$('user_arrival_flexible').observe('click', Partner_QuotationHandler.flexibleCheckboxClick.bindAsEventListener(Partner_QuotationHandler));
			// init
			if ($('user_arrival_flexible').checked) this.enableFlexible();
			else this.disableFlexible();
		}
	},

	roomgroupSelect : function() {
		var roomgroup_id = $('user_roomgroup').getValue();
		var select = $('user_roomgroup_num');

		// selected rg number
		this.roomgroupNumber = select.getValue();

		// reloading select options
		select.options.length=0;
		for (var i=0; i<this.roomgroups[roomgroup_id];i++) {
			select.options[i] = new Option(i+1,i+1);
			if (this.roomgroupNumber == i+1) select.options[i].selected = true;
		}
	},

	enableFlexible : function() {
		$('user_arrival_flexible_div').show();
	},

	disableFlexible : function() {
		$('user_arrival_flexible_div').hide();
	},

	flexibleCheckboxClick : function(event) {
		if (event.element().checked) this.enableFlexible();
		else this.disableFlexible();
	}
}
