
// JS-Datei für das Extended-Formular

// Angeben wie viele Zimmer gleich am Anfang angezeigt werden sollen
var roomsdisplay = 1;

// Definitionen der Zimmertypen und deren maximale Anzahl Personen angeben
var roomdefinitions = new Array();

// Felder angeben, die beim entfernen eines Zimmers leer gesetzt werden sollen
var fields2reset = new Array('roomtype{loop}', 'service{loop}', 'adults{loop}', 'kids{loop}', 'kidsage{loop}1', 'kidsage{loop}2', 'kidsage{loop}3', 'kidsage{loop}4', 'kidsage{loop}5', 'kidsage{loop}6', 'kidsage{loop}7', 'kidsage{loop}8', 'kidsage{loop}9', 'kidsage{loop}10');

// Funktion zum hinzufügen eines Zimmers
function addroom()
{
	if (roomsdisplay >= 10)
	{
		return;
	}
	roomsdisplay += 1;
	document.getElementById('room' + roomsdisplay).style.display = '';
	if (roomsdisplay > 1)
	{
		document.getElementById('removeroomlink').style.display = '';
	}
	if (roomsdisplay > 9)
	{
		document.getElementById('addroomlink').style.display = 'none';
	}
	else
	{
		document.getElementById('addroomlink').style.display = '';
	}
}

// Funktion zum entfernen eines Zimmers
function removeroom()
{
	if (roomsdisplay <= 1)
	{
		return;
	}
	var obj = document.getElementById('room' + roomsdisplay);
	if (!obj)
	{
		return;
	}
	obj.style.display = 'none';
	for (var i = 0; i < fields2reset.length; i += 1)
	{
		var obj = document.getElementById(fields2reset[i].replace('{loop}', roomsdisplay));
		if (obj)
		{
			if (obj.value)
			{
				obj.value = '';
			}
			if (obj.options && obj.options[0])
			{
				obj.options[0].selected = true;
			}
		}
	}
	roomsdisplay -= 1;
	if (roomsdisplay <= 1)
	{
		var obj = document.getElementById('removeroomlink');
		if (obj)
		{
			obj.style.display = 'none';
		}
	}
	var obj = document.getElementById('addroomlink');
	if (obj)
	{
		obj.style.display = '';
	}
}

// Funktion zum ermitteln der Kapazität des Zimmers
function getroomsize(room)
{
	var obj = document.getElementById('roomtype' + room);
	if (!obj) return;
	for (var i = 0; i < obj.options.length; i += 1)
	{
		if (obj.options[i].selected == true)
		{
			var roomvalue = obj.options[i].value;
			roomtype = roomdefinitions[roomvalue];
			return roomtype;
		}
	}
	return false;
}

// Funktion zum anpassen der Erwachsenen und Kinder pro Zimmer nach ändern eines Wertes
function adaptpeople(room)
{
	var roomsize = getroomsize(room);
	var roomsize_save = roomsize;
	if (!roomsize)
	{
		roomsize = 0;
	}
	var obj = document.getElementById('kids' + room);
	if (obj)
	{
		for (var i = 0; i < obj.options.length; i += 1)
		{
			if (obj.options[i].selected)
			{
				roomsize -= parseInt(obj.options[i].text);
				break;
			}
		}
		setadults(room, roomsize);
		roomsize = roomsize_save;
		var obj = document.getElementById('adults' + room);
		if (obj)
		{
			for (var i = 0; i < obj.options.length; i += 1)
			{
				if (obj.options[i].selected)
				{
					roomsize -= parseInt(obj.options[i].text);
					break;
				}
			}
			setkids(room, roomsize);
		}
	}
}

// Funktion zum löschen der gewählten Personen eines Zimmers
function resetpeople(room)
{
	var obj = document.getElementById('adults' + room);
	if (obj)
	{
		obj.options[0].selected = true;
	}
	var obj = document.getElementById('kids' + room);
	if (obj)
	{
		obj.options[0].selected = true;
	}
}

// Funktion zum setzen der maximalen Anzahl der Erwachsenen eines Zimmers
function setadults(room, roomsize)
{
	var obj = document.getElementById('adults' + room);
	if (!obj)
	{
		return false
	}
	for (var i = 0; i < obj.options.length; i += 1)
	{
		if (parseInt(obj.options[i].text) > roomsize)
		{
			obj.options[i] = null;
			i -= 1;
		}
	}
	if (obj.options.length - 1 < roomsize)
	{
		for (var i = obj.options.length; i - 1 < roomsize; i += 1)
		{
			var newOption = new Option(i, i, false);
			obj.options[obj.options.length] = newOption;
		}
	}
}

// Funktion zum setzen der maximalen Anzahl der Kinder eines Zimmers
function setkids(room, roomsize)

{
	var obj = document.getElementById('kids' + room);
	if (!obj)
	{
		return false
	}
	for (var i = 0; i < obj.options.length; i += 1)
	{
		if (parseInt(obj.options[i].text) > roomsize)
		{
			obj.options[i] = null;
			i -= 1;
		}
	}
	if (obj.options.length - 1 < roomsize)
	{
		for (var i = obj.options.length; i - 1 < roomsize; i += 1)
		{
			var newOption = new Option(i, i, false);
			obj.options[obj.options.length] = newOption;
		}
	}
	for (var i = 0; i < obj.options.length; i += 1)
	{
		if (obj.options[i].selected)
		{
			kids = parseInt(obj.options[i].text);
			break;
		}
	}
	var i = 1;
	while (obj = document.getElementById('kidagebox'+room+i))
	{
		if (i <= kids)
		{
			obj.style.display = '';
		}
		else
		{
			obj.style.display = 'none';
			var obj = document.getElementById('kidsage' + room + i);
			if (obj)
			{
				obj.value = '';
			}
		}
		i += 1;
	}
}