var resetBox = {
	options:{
		myBlock: "boxBooking",
		myHeight: 78,
		myLiHeight: 32,
		myPadding: 20,
		myAction: ""
	},
	init: function(opts) {
		for (name in opts) resetBox.options[name] = opts[name];
	},
	set: function(myValue){
		if(document.getElementById(resetBox.options.myBlock)){
			myPassValue = parseInt(myValue);
			if(myPassValue > 1){
				resetBox.openBox(myPassValue, document.getElementById(resetBox.options.myBlock).offsetHeight-resetBox.options.myPadding, (resetBox.options.myHeight-resetBox.options.myPadding + (resetBox.options.myLiHeight*(myValue*1-1))));
			} else {
				resetBox.openBox(myPassValue, document.getElementById(resetBox.options.myBlock).offsetHeight-resetBox.options.myPadding, resetBox.options.myHeight-resetBox.options.myPadding);
			}
		} else {
			alert("attenzione: "+ resetBox.options.myBlock +"non esiste.");
		}
		return false;
	},
	openBox: function(myVal, height_nowB, heightB){
		myValuePass = parseInt(myVal);
		if(heightB > height_nowB){
			new_heightB = Math.round((heightB-height_nowB)/6)*1+1;
			if(resetBox.options.myAction == ""){
				setRoom(myValuePass, name_adults, name_children, name_childage, name_room);
				resetBox.options.myAction = "opening";
			}
		} else {
			new_heightB = Math.round((heightB-height_nowB)/6)*1-1;
			resetBox.options.myAction = "closing";
		}
		my_heightB = heightB;
		my_height_resultB = height_nowB + new_heightB;
		if ((heightB-height_nowB) > 3 || (heightB-height_nowB) < -3){
			setTimeout("resetBox.openBox(myValuePass, my_height_resultB, my_heightB)", 20);
			document.getElementById(resetBox.options.myBlock).style.height = my_height_resultB +"px";
		} else {
			document.getElementById(resetBox.options.myBlock).style.height = heightB+"px";
			if(resetBox.options.myAction == "closing"){
				setRoom(myValuePass, name_adults, name_children, name_childage, name_room);
			}
			resetBox.options.myAction = "";
			return false;
		}
		return true;
	}
}

function set_room(select_id, value, where){
	var my_options = "";
	var my_block = document.getElementById(select_id);
	if (value=="5" || value=="6" || value=="7" || value=="8"){
		my_options = my_options + '<label>'+ name_apartment +'</label>'+"\n";
		if(where == "home"){
			my_options = my_options + '<select name="bform[numRooms]" onchange="resetBox.set(this.value);">'+"\n";
		} else {
			my_options = my_options + '<select name="bform[numRooms]" onchange="setRoom(this.value, name_adults , name_children, name_childage, name_apartment, name_apartments);">'+"\n";
		}
		my_options = my_options + '<option value="1">1 '+name_apartment+'</option>'+"\n";
		my_options = my_options + '<option value="2">2 '+name_apartments+'</option>'+"\n";
		my_options = my_options + '<option value="3">3 '+name_apartments+'</option>'+"\n";
		my_options = my_options + '<option value="4">4 '+name_apartments+'</option>'+"\n";
		my_options = my_options + '</select>'+"\n";
		my_block.innerHTML = my_options;
		if(where == "home"){
			resetBox.set(1);
			setTimeout("setRoomHome(1, name_adults , name_children, name_childage, name_apartment, name_apartments)", 1000);
		} else {
			setRoom(1, name_adults , name_children, name_childage, name_apartment, name_apartments);
		}
	} else {
		my_options = my_options + '<label>'+ name_room +'</label>'+"\n";
		if(where == "home"){
			my_options = my_options + '<select name="bform[numRooms]" onchange="resetBox.set(this.value);">'+"\n";
		} else {
			my_options = my_options + '<select name="bform[numRooms]" onchange="setRoom(this.value, name_adults, name_children, name_childage, name_room, name_rooms);">'+"\n";
		}
		my_options = my_options + '<option value="1">1 '+name_room+'</option>'+"\n";
		my_options = my_options + '<option value="2">2 '+name_rooms+'</option>'+"\n";
		my_options = my_options + '<option value="3">3 '+name_rooms+'</option>'+"\n";
		my_options = my_options + '<option value="4">4 '+name_rooms+'</option>'+"\n";
		my_options = my_options + '</select>'+"\n";
		my_block.innerHTML = my_options;
		if(where == "home"){
			resetBox.set(1);
			setTimeout("setRoomHome(1, name_adults , name_children, name_childage, name_room, name_rooms)", 1000);
		} else {
			setRoom(1, name_adults , name_children, name_childage, name_room, name_rooms);
		}
	}
}

function setChildAge(nchild, chdid, roomn, label_children_age){
	var selectHtml = "";
	if(nchild > 0){
		if(document.getElementById("shadowCenter")) document.getElementById("shadowCenter").style.display = "none";
		selectHtml = '<label>'+ label_children_age +'</label>';
		for (var cc=1; cc<=nchild; cc++) {
			selectHtml =  selectHtml + '<select name="bform[reqRooms]['+roomn+'][childAge][' + cc + ']">' +
                '<option value="">&nbsp;-</option>' +
                '<option value="0">&lsaquo; 1</option>';
				for(var k=1; k<=18; k++){
					k_opt = k<10 ? "&nbsp;"+ k : k;
					selectHtml =  selectHtml + "\n" + '<option value="'+ k +'">'+ k_opt +'</option>';
				}
				selectHtml =  selectHtml + '</select>';
		}
	} else {
		if(document.getElementById("shadowCenter")) document.getElementById("shadowCenter").style.display = "block";
	}
	if(document.getElementById(chdid)){
		document.getElementById(chdid).innerHTML = selectHtml;
	}
}

function createSelect(num, init, label, selected){
	if(label != ""){
		label = " "+ label;
	}
	var mySel = "";
	for(var k=init; k<=num; k++){
		if (selected != 0 && selected == k){
			mySel = mySel + "\n" + '<option value="'+ k +'" selected="selected">'+ k + label +'</option>';
		} else {
			mySel = mySel + "\n" + '<option value="'+ k +'">'+ k + label +'</option>';
		}
	}
	return mySel;
}

function setRoom(nrooms, label_adults, label_children, label_children_age, label_room){
	var myResults = "";
	myResults = myResults + '<ul>\n';
	for (var i=1; i<=nrooms; i++){
		if(nrooms>1){
			myResults = myResults + '	<li><strong>'+ label_room +' '+i+'</strong>\n';
			if(document.getElementById("shadowCenter")) document.getElementById("shadowCenter").style.display = "none";
		} else {
			myResults = myResults + '	<li>\n';
			if(document.getElementById("shadowCenter")) document.getElementById("shadowCenter").style.display = "block";
		}
		myResults = myResults + '		<li>\n'+
		'			<label>'+ label_adults +'</label>\n'+
		'			<select name="bform[reqRooms]['+ i +'][adults]" class="select_small">\n'+
		'			'+ createSelect(6, 1, '', 2) + 
		'			</select>\n'+
		'		</li>\n'+
		'		<li>\n'+
		'			<label>'+ label_children +'</label>\n'+
		'			<select name="bform[reqRooms]['+ i +'][child]" class="select_small" onchange="setChildAge(this.value,\'chdAge_'+ i +'\', '+ i +',\''+ label_children_age +'\');">\n'+
		'			'+ createSelect(4, 0, '', 0) + 
		'			</select>\n'+
		'		</li>\n'+
		'		<li class="childAge" id="chdAge_'+ i +'"></li>\n'+
		'	</li>\n';
	}
	myResults = myResults + '</ul>\n';
	if (document.getElementById('contOption')){
		document.getElementById('contOption').innerHTML = myResults;
	} else {
		alert("blocco non valido");
	}
}

