function insert_gruppen_rows(anz) {
	var table = document.getElementById("table_zv_gruppen");
	var html = '<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody>';
	for(var i = 3; i < anz; i++) {
		html += '<tr><td><select name="anz_zimmer['+i+']" onchange="infos()" class="select_buchung"><option value="0">--</option>';
		for(var j = 1; j <= 50; j++) {
			html += '<option value="'+j+'">'+j+'</option>';
		}
		html += '</select></td><td class="x">X</td><td><select name="zimmer_id['+i+']" onchange="infos()" class="select_buchung" style="width:220px"></select><div id="zimmer'+i+'">&nbsp;</div></td></tr>';
	}
	html += '</tbody></table>';
	table.innerHTML = html;
}

function select_anz_personen(anz) {
	document.forms['buchung'].elements['anz_personen'].selectedIndex = anz;
	update_jshelper('anz_personen');
}

function chg_termine_von() {
	var unterkunft_id = document.forms['buchung'].elements['unterkunft_id'].value;
	for (var i = document.forms['buchung'].elements['termin_id_von'].length-1; i >= 1; i--) {
		document.forms['buchung'].elements['termin_id_von'].options[i] = null;
	}
	for (var i = document.forms['buchung'].elements['termin_id_bis'].length-1; i >= 0; i--) {
		document.forms['buchung'].elements['termin_id_bis'].options[i] = null;
	}
	document.forms['buchung'].elements['termin_id_bis'].options[0] = new Option('----------', 0, false, false);
	for (var i = 0; i < termine_von[unterkunft_id].length; i++) {
		document.forms['buchung'].elements['termin_id_von'].options[i+1] = new Option(termine_von[unterkunft_id][i][1], termine_von[unterkunft_id][i][0], false, false);
	}		
}

function chg_termine_bis() {
	var index = document.forms['buchung'].elements['termin_id_von'].value;
	if(keine_unterkunft) {
		for (var i = 0; i < document.forms['buchung'].elements['termin_id_bis'].length; i++) {
			document.forms['buchung'].elements['termin_id_bis'].options[i] = null;
		}
		for (var i = 0; i < termine_bis[index].length; i++) {
			document.forms['buchung'].elements['termin_id_bis'].options[i] = new Option(termine_bis[index][i][1], termine_bis[index][i][0], false, false);
		}
	} else {
		var unterkunft_id = document.forms['buchung'].elements['unterkunft_id'].value;
		for (var i = 0; i < document.forms['buchung'].elements['termin_id_bis'].length; i++) {
			document.forms['buchung'].elements['termin_id_bis'].options[i] = null;
		}
		for (var i = 0; i < termine_bis[unterkunft_id][index].length; i++) {
			document.forms['buchung'].elements['termin_id_bis'].options[i] = new Option(termine_bis[unterkunft_id][index][i][1], termine_bis[unterkunft_id][index][i][0], false, false);
		}
	}
}

function chg_min_preis() {
	var termin_id_von = document.forms['buchung'].elements['termin_id_von'].value;
	var termin_id_bis = document.forms['buchung'].elements['termin_id_bis'].value;
	if(keine_unterkunft) {
		if(termin_id_von != 0 && termin_id_bis != 0) {
			document.getElementById("min_preis").innerHTML = preise_unterkunft[termin_id_von][termin_id_bis];
			document.getElementById("tr_min_preis").style.visibility = 'visible';
		}
	} else {
		var unterkunft_id = document.forms['buchung'].elements['unterkunft_id'].value;
		if(unterkunft_id != 0 && termin_id_von != 0 && termin_id_bis != 0) {
			document.getElementById("min_preis").innerHTML = preise_unterkunft[unterkunft_id][termin_id_von][termin_id_bis];
			document.getElementById("tr_min_preis").style.visibility = 'visible';
		}
	}
}

function update_zimmerverteilung_form() {

	var termin_id_von = document.forms['buchung'].elements['termin_id_von'].value;
	var termin_id_bis = document.forms['buchung'].elements['termin_id_bis'].value;
	var anz_personen = document.forms['buchung'].elements['anz_personen'].value;
	if(anz_personen > 9) {
		anz_personen = document.forms['buchung'].elements['anz_personen_gruppen'].value;
		document.getElementById("input_anz_personen_gruppen").style.visibility = 'visible';
		document.getElementById("tr_gruppen_hinweis").style.display = '';
	} else {
		document.getElementById("input_anz_personen_gruppen").style.visibility = 'hidden';
		document.getElementById("tr_gruppen_hinweis").style.display = 'none';
	}
	if(!keine_unterkunft) {
		var unterkunft_id = document.forms['buchung'].elements['unterkunft_id'].value;
		
		if(unterkunft_id != 0 && termin_id_von != 0 && termin_id_bis != 0 && anz_personen != 0) {
			
			el = document.getElementById("table_zv_gruppen");
			
			el.innerHTML = '';
			insert_gruppen_rows(zimmer_zimmerart[unterkunft_id].length);
			
			for (var i = document.forms['buchung'].elements['zimmer_id[0]'].length-1; i >= 0; i--) {
				for (var j = 0; j < 3; j++) {
					document.forms['buchung'].elements['zimmer_id['+j+']'].options[i] = null;
				}
			}
			for (var j = 0; j < zimmer_zimmerart[unterkunft_id].length; j++) {
				document.forms['buchung'].elements['zimmer_id['+j+']'].options[0] = new Option("Bitte wählen", 0, false, false);
			}
			
			for (var i = 0; i < zimmer_zimmerart[unterkunft_id].length; i++) {
				var j = i+1;
				for(h = 0; h < zimmer_zimmerart[unterkunft_id].length; h++) {
					document.forms['buchung'].elements['zimmer_id['+h+']'].options[j] = new Option(zimmer_zimmerart[unterkunft_id][i][1], zimmer_zimmerart[unterkunft_id][i][0], false, false);
				}
			}	
			
			document.getElementById("anz_personen_text").innerHTML = 'Verteile <strong>'+anz_personen+'</strong> Person auf die Zimmer';
			
			if(zimmerverteilung[unterkunft_id][anz_personen] != null) {
				document.forms['buchung'].elements['anz_zimmer[0]'].value = zimmerverteilung[unterkunft_id][anz_personen][0];
				document.forms['buchung'].elements['zimmer_id[0]'].value = zimmerverteilung[unterkunft_id][anz_personen][1];
				document.forms['buchung'].elements['anz_zimmer[1]'].value = zimmerverteilung[unterkunft_id][anz_personen][2];
				document.forms['buchung'].elements['zimmer_id[1]'].value = zimmerverteilung[unterkunft_id][anz_personen][3];
			}
			
			document.getElementById("table_zimmerverteilung").style.display = 'block';
			// ab 6 Personen ist ein drittes Zimmer belegbar
			if(anz_personen >= 6) {
				document.getElementById("tr_zimmerverteilung_extra").style.display = '';
			} else {
				document.getElementById("tr_zimmerverteilung_extra").style.display = 'none';
				document.forms['buchung'].elements['anz_zimmer[2]'].value = 0;
				document.forms['buchung'].elements['zimmer_id[2]'].value = 0;
			}
			// ab 10 Personen sind noch mehr Zimmer belegbar
			if(anz_personen >= 10) {
				document.getElementById("tr_zimmerverteilung_gruppen").style.display = '';
			} else {
				document.getElementById("tr_zimmerverteilung_gruppen").style.display = 'none';
			}
			
			infos();
			
		} else {
			document.getElementById("table_zimmerverteilung").style.display = 'none';
			document.getElementById("tr_zimmerverteilung_extra").style.display = 'none';
			document.getElementById("tr_zimmerverteilung_gruppen").style.display = 'none';
		}
	}
}


function infos() {
	
	var termin_id_von = document.forms['buchung'].elements['termin_id_von'].value;
	var termin_id_bis = document.forms['buchung'].elements['termin_id_bis'].value;
	var anz_personen = document.forms['buchung'].elements['anz_personen'].value;
	if(anz_personen > 9) anz_personen = document.forms['buchung'].elements['anz_personen_gruppen'].value;
	if(!keine_unterkunft) {
		var unterkunft_id = document.forms['buchung'].elements['unterkunft_id'].value;
		
		var personen = anz_personen;
		var out = '';
		if(zimmer_zimmerart[unterkunft_id] == null) {
			temp = 3;
		} else {
			temp = zimmer_zimmerart[unterkunft_id].length;
		}
		for(var i = 0; i < temp; i++) {
			if(document.forms['buchung'].elements['zimmer_id['+i+']'].value != 0) {
				personen -= document.forms['buchung'].elements['anz_zimmer['+i+']'].value * personen_zimmer[unterkunft_id][document.forms['buchung'].elements['zimmer_id['+i+']'].value];
			}
		}
		if(personen < 0) out = '<span class="fehler"><strong>Fehler!</strong> Du kannst nur '+anz_personen+' Personen verteilen.</span>';
		else out = 'Noch<strong> '+personen+' </strong>Personen zu verteilen:';
		document.getElementById("anz_personen_text").innerHTML = out;
	
		for(var i = 0; i < temp; i++) {
			if(document.forms['buchung'].elements['zimmer_id['+i+']'] != null) {
				if(document.forms['buchung'].elements['zimmer_id['+i+']'].value != 0) {
					out = personen_zimmer[unterkunft_id][document.forms['buchung'].elements['zimmer_id['+i+']'].value] + ' Personen / ' + preise_zimmer[document.forms['buchung'].elements['zimmer_id['+i+']'].value][termin_id_von][termin_id_bis] + ' pro Person';
				} else {
					out = '&nbsp;';
				}
				document.getElementById("zimmer"+i).innerHTML = out;
			}
		}
	}
}

function update_jshelper(geaendert) {

	var url;
	
	var anz_personen = document.forms['buchung'].elements['anz_personen'].value;
	if(anz_personen > 9) anz_personen = document.forms['buchung'].elements['anz_personen_gruppen'].value;
	
	url = '/reise-buchen-jshelper.php?';
	url += 'reise_id=' + document.forms['buchung'].elements['reise_id'].value;
	if(!keine_unterkunft) url += '&unterkunft_id=' + document.forms['buchung'].elements['unterkunft_id'].value;
	url += '&termin_id_von=' + document.forms['buchung'].elements['termin_id_von'].value;
	url += '&termin_id_bis=' + document.forms['buchung'].elements['termin_id_bis'].value;
	url += '&anz_personen=' + anz_personen;
	url += '&geaendert=' + geaendert;

	var script_tag = document.getElementById('jshelper');
	if(script_tag) {
		script_parent_tag = script_tag.parentNode;
		script_parent_tag.removeChild(script_tag);
	} else {
		script_parent_tag = document.getElementsByTagName("head")[0];
	}
	
	jshelper = document.createElement('script');

	jshelper.src = url;
	jshelper.type = 'text/javascript';
	jshelper.charset = 'utf-8';
	jshelper.id = 'jshelper';
	script_parent_tag.appendChild(jshelper);

}

var anz_personen = 1;
			
