function updateHotels(region){ // update the list of hotels in hotel selectbox according to region
	if(region!=-1){
		var hotels = regionArray[region];
		var hotelSelectHTML = '<select name="hotel" id="hotels" onChange="updateDates(this.value)">';
		if(hotels.length>1) {hotelSelectHTML += '<option value="-1">Unsere Hotels in ' + region + '</option>';}
		for(i=0;i<hotels.length;i++){
			hotelSelectHTML += '<option value="'+hotels[i]+'">'+hotelArray[hotels[i]][0]+'</option>';
		}
		hotelSelectHTML += '</select>';
		document.getElementById('hotelsCell').innerHTML = hotelSelectHTML;
		
		updateDates(hotels[0]);
		updateRoomTypes(hotels[0]);
		updateBording(hotels[0]);
		updateTrioSpecials(hotels[0]);
	} else {
		//location.href = '/booking/search.php';
		location.reload();
	}
}

function updateRoomTypes(hotel){ // update the list of room types
		var roomtypes = roomsTypeArray[hotel];
		var roomtypeSelectHTML = '<select name="roomtype" id="roomtype"><option value="-1">beliebig</option>';
		for(i=0;i<roomtypes.length;i++){
			roomtypeSelectHTML += '<option value="'+roomtypes[i]+'">'+roomtypes[i]+'</option>';
		}
		roomtypeSelectHTML  += '</select>';
		document.getElementById('roomtypeCell').innerHTML = roomtypeSelectHTML;
}

function updateBording(hotel){ // update the list of room types
		var bording = roomsBoardingArray[hotel];
		var bordingSelectHTML = '<select name="boarding" id="boarding"><option value="-1">beliebig</option>';
		for(i=0;i<bording.length;i++){
			bordingSelectHTML += '<option value="'+bording[i]+'">'+bording[i]+'</option>';
		}
		bordingSelectHTML  += '</select>';
		document.getElementById('boardingCell').innerHTML = bordingSelectHTML;
}

function updateTrioSpecials(hotel){ // update the list of room types
		var triospecials = triospecialArray[hotel];
		var triospecialsSelectHTML = '<select name="triospecials" id="triospecials"><option value="-1">beliebig</option>';
		if(triospecials[0]!=''){
			for(i=0;i<triospecials.length;i++){
				triospecialsSelectHTML += '<option value="'+triospecials[i]+'">'+triospecials[i]+'</option>';
			}
			document.getElementById('triospecials').disabled = '';
		} else {
			triospecialsSelectHTML = '<option value="-1">keine verf&uuml;gbar</option>';
			document.getElementById('triospecials').disabled = 'disabled';
		}
		triospecialsSelectHTML  += '</select>';
		document.getElementById('triospecialsCell').innerHTML = triospecialsSelectHTML;
}


function updateRegions(region){
	// update destination to show right region when only hotel was selected
	var selDest = document.getElementById('destination');
	for(i=0;i<selDest.options.length;i++){
		if(selDest.options[i].value == region){
			selDest.selectedIndex = i;
			break;
		}
	}
}

var now = new Date();

function updateDates(hotel){ // update date-parameter for given  hotel
	if(hotel!=-1){
		var minDate = openingArray[hotel][0];
		var maxDate = openingArray[hotel][1];
		document.getElementById('dateHint').innerHTML = 'Wir haben Angebote f&uuml;r Euch in diesem Reiseziel vom ' + convertDate(minDate,'.') + ' bis zum '+ convertDate(maxDate,'.') +'.';
	} else {
		document.getElementById('dateHint').innerHTML = 'Wir haben Angebote f&uuml;r Euch in diesem Reiseziel bis zum '+genOpeningEnd+'.';
	}
	var sdv = document.getElementById('startdate').value;
	if(string2Date(sdv) < string2Date(minDate)){ 
		sdv = convertDate(minDate,'.');
		if(string2Date(sdv) < string2Date(minDate)){ 
			sdv = convertDate(minDate,'.');
		}
	}
	
	updateRegions(hotelArray[hotel][1]);
	updateRoomTypes(hotel);
	updateBording(hotel);
	updateTrioSpecials(hotel);
}

function string2Date(dateString){
	dateObj = new Date();
	if(dateString.indexOf('-')!=-1){
		var tmp = dateString.split('-');
		dateObj = new Date(tmp[0],(tmp[1]-1),tmp[2],0,0,0);
	} else {
		var tmp = dateString.split('.');
		dateObj = new Date(tmp[2],(tmp[1]-1),tmp[0],0,0,0);
	}
	return dateObj;
}

function date2String(dateObject,sep){
	return dateObject.getDate() + sep + (dateObject.getMonth()+1) + sep + dateObject.getFullYear();
}

function convertDate(dateString,sep){
	var dateStr = '';
	if(dateString.indexOf('-')!=-1){
		var tmp = dateString.split('-');
		dateStr =  tmp[2] + sep + tmp[1] + sep + tmp[0];
	} else {
		var tmp = dateString.split('.');
		dateStr =  tmp[0] + sep + tmp[1] + sep + tmp[2];
	}
	return dateStr;
}

function endDate(datObj, offset){
	var theDate = new Date(datObj.getFullYear(),datObj.getMonth(),datObj.getDate(),0,0,0);
	return theDate.setTime(theDate.getTime() + (offset*24*60*60*1000));
}

function checkform(){
	/*var send = false;
	if(string2Date(document.getElementById('startdate').value) > endDate(now, defaultOffsetStart)){
		send = true;
	}
	return send;*/
	return true;
}

function checkDetailsForm(){
	var send = false;
	var CR = '\n';
	var err = '';
	var errTxtCol = '#f00';
	var stdTxtCol = '#f00';
	var irgendwas = false;
	
	var travelerSalutation = document.getElementsByName('travelerSalutation');
	anredeCheck = (travelerSalutation[0].checked || travelerSalutation[1].checked);
	if(!anredeCheck){
		document.getElementById('travelerSalutationCell').style.color = errTxtCol;
		err='Bitte selektiere eine Anrede';
	} else {
		document.getElementById('travelerSalutationCell').style.color = errTxtCol;
		irgendwas = true;
	}
	var travelerFirstname = document.getElementsByName('travelerFirstname')[0];
	if(travelerFirstname.value==''){
		document.getElementById('travelerFirstnameCell').style.color = errTxtCol;
		err+=((err!='')?CR:'')+'Du hast keinen Vornamen angegeben';
	} else {
		document.getElementById('travelerFirstnameCell').style.color = stdTxtCol;
				irgendwas = true;
	}
	var travelerLastame = document.getElementsByName('travelerLastame')[0];
	if(travelerLastame.value==''){
		document.getElementById('travelerLastameCell').style.color = errTxtCol;
		err+=((err!='')?CR:'')+'Du hast keinen Nachnamen angegeben';
	} else {
		document.getElementById('travelerLastameCell').style.color = stdTxtCol;
				irgendwas = true;
	}
	
	var travelerStreet = document.getElementsByName('travelerStreet')[0];
	if(travelerStreet.value == ''){
		document.getElementById('travelerStreetCell').style.color = errTxtCol;
		err += ((err!='')?CR:'')+'Gib bitte den Strassennamen an.';
	} else {
		document.getElementById('travelerStreetCell').style.color = stdTxtCol;
		irgendwas = true;
	}
	var travelerZip = document.getElementsByName('travelerZip')[0];
	if(travelerZip.value == ''){
		document.getElementById('travelerZipCell').style.color = errTxtCol;
		err += ((err!='')?CR:'')+'Gib bitte die Postleitzahl an.';
	} else {
		document.getElementById('travelerZipCell').style.color = stdTxtCol;
		irgendwas = true;
	}
	var travelerCity = document.getElementsByName('travelerCity')[0];
	if(travelerCity.value == ''){
		document.getElementById('travelerCityCell').style.color = errTxtCol;
		err += ((err!='')?CR:'')+'Gib bitte den Ortsnamen an.';
	} else {
		document.getElementById('travelerCityCell').style.color = stdTxtCol;
		irgendwas = true;
	}
	
	var travelerPhone = document.getElementsByName('travelerPhone')[0];
	if(travelerPhone.value == '') {
		document.getElementById('travelerPhoneCell').style.color = errTxtCol;
		err += ((err!='')?CR:'')+'Gib bitte Deine Telefonnummer an.';
	} else {
		document.getElementById('travelerPhoneCell').style.color = stdTxtCol;
		irgendwas = true;
	}
	
	var travelerEmail = document.getElementsByName('travelerEmail')[0];
	if(travelerEmail.value==''){
		document.getElementById('travelerEmailCell').style.color = errTxtCol;
		err+=((err!='')?CR:'')+'Du hast keine Email-Adresse angegeben';
	} else {
		document.getElementById('travelerEmailCell').style.color = stdTxtCol;
		irgendwas = true;
	}
	if(!irgendwas){
		err += CR + '---------------------------------\nDu hast eigentlich gar nichts angegeben!'
	}
	if(err!='') {
		location.href = '#top';
		alert(err);
	} else {
		send = true;
	}
	
	return send;
}
