var Croompplz = new Class({
	adult: null,
	child: null,
	initialize: function(Oadult,Ochild, adults, children){
		if (adults == null) adults = 1;
		if (children == null) children = 0;
		this.adult=$(Oadult);
		this.child=$(Ochild);
		this.fillOptions(this.adult,1,4-children, adults);
		this.fillOptions(this.child,0,4-adults, children);
		this.adult.addEvent('change',this.adultChange.bind(this));
		this.child.addEvent('change',this.childChange.bind(this));
	},
	fillOptions: function(Oselect, min, max, value){
		var select_value = (value == null?Oselect.get('value'):value);
		if (select_value<min) select_value=min;
		if (select_value>max) select_value=max;
		Oselect.empty();
		for (var i=min; i<=max; i++) new Element('option',{'html':i, 'value':i, 'selected': (i==select_value)}).inject(Oselect);
	},
	adultChange: function(){
		this.fillOptions(this.child, 0, 4-this.adult.get('value'), null);
	},
	childChange: function(){
		this.fillOptions(this.adult, 1, 4-this.child.get('value'), null);
	}
});

var Croomcount = new Class({
	MAXROOMCOUNT: 5,
	roomcountid: null,
	adultid: null,
	childid: null,
	roominputid: null,
	pplz: new Array(),
	/*
		defaultvalues = {
			roomcount: 1,
			adults: [1,2,4,2,1],
			children: [0,0,1,0,0]
		}
	*/
	initialize: function(roomcountid, roominputid, adultid, childid, defaultvalues){
		this.roomcountid = roomcountid;
		this.adultid = adultid;
		this.childid = childid;
		this.roominputid = roominputid;
		for (var i=1; i<=this.MAXROOMCOUNT; i++) {
			new Element('option',{'html':i, 'value':i, 'selected': (i==defaultvalues.roomcount)}).inject($(this.roomcountid));
			this.pplz[i] = new Croompplz($(this.adultid+'_'+i),$(this.childid+'_'+i), defaultvalues.adults[i-1], defaultvalues.children[i-1]);
		}
		$(this.roomcountid).addEvent('change',this.roomcountChange.bind(this));
		this.roomcountChange();
	},
	roomcountChange: function(){
		var roomcount=$(this.roomcountid).get('value');
		for (var i=2; i<=this.MAXROOMCOUNT; i++){
			$(this.roominputid+'_'+i).setStyle('display',(i<=roomcount?'block':'none'));
		}
	}
});
