var debug = false;

// Wochentag bestimmen
function browser() {
  return(navigator.appName.lastIndexOf('scape') != -1 );
}
function isNavVersion4() {
  var majVers = parseInt(navigator.appVersion);
  return (browser() && majVers == 4);
}
var wochentage = new Array("So.","Mo.","Di.","Mi.","Do.","Fr.","Sa.");
var heuteWD = new Date();
function writeWochentag(daySelect, monthSelect, yearSelect, intoDiv) {
  if (isNavVersion4()) return;
  var dayVal   = parseInt(document.getElementById(daySelect).value,10);
  var monthVal = parseInt(document.getElementById(monthSelect).value,10);
  var yearVal  = parseInt(document.getElementById(yearSelect).value,10);
  var d = new Date(yearVal, monthVal-1, dayVal);
  if (d.getTime() < (heuteWD.getTime()-86400000)) {
    document.getElementById(intoDiv).innerHTML="<span style=\"color:#f10\;padding:8px 0 8px 0\"><br>Achtung: Termin liegt in der Vergangenheit!</span>";
  }
  else {
    document.getElementById(intoDiv).innerHTML=wochentage[d.getDay()];
  }
}
function writeWochentag(daySelect, monthSelect, intoDiv) {
  if (isNavVersion4()) return;
  var dayVal = parseInt(document.getElementById(daySelect).value,10);
  var myval = document.getElementById(monthSelect).value;
  var monthVal = parseInt(myval.substring(0,2),10);
  var yearVal  = parseInt(myval.substring(3),10);
  //var monthVal = parseInt("1" + myval.substring(0,2),10) - 100;
  //var yearVal = parseInt(myval.substring(3),10);
  var d = new Date(yearVal, monthVal-1, dayVal);
  if (d.getTime() < (heuteWD.getTime()-86400000)) {
    document.getElementById(intoDiv).innerHTML="<span style=\"color:#f10\;padding:8px 0 8px 0\">n/a</span>";
  } else {
    document.getElementById(intoDiv).innerHTML=wochentage[d.getDay()];
  }
}
function dispatchDatetc_hotel_suche() {
// -----------------------------------------------------------------------
// Hier kann der Vorlauf für die Flugmaske eingestellte werden
// -----------------------------------------------------------------------
	var vorlaufAbflug    = 2;
	var vorlaufRueckflug = vorlaufAbflug + 1;
// -----------------------------------------------------------------------
// Hier wird die Anzahl an Monaten eingestellt, die ausgewählt werden können
// -----------------------------------------------------------------------
	var anzahlMonate    = 12;
// -----------------------------------------------------------------------
	var tagAbflugSelect          = document.tc_hotel_suche.elements['departureDay'];
	var monatJahrAbflugSelect    = document.tc_hotel_suche.elements['departureMonthYear'];
	var tagRueckflugSelect       = document.tc_hotel_suche.elements['arrivalDay'];
	var monatJahrRueckflugSelect = document.tc_hotel_suche.elements['arrivalMonthYear'];
// -----------------------------------------------------------------------
// Schritt 1: setze das Abflugdatum
// -----------------------------------------------------------------------
	setTagMonatElementtc_hotel_suche(monatJahrAbflugSelect, anzahlMonate);
	setElementstc_hotel_suche(tagAbflugSelect, monatJahrAbflugSelect, vorlaufAbflug);
	writeWochentag('abflugTag','abflugMonatJahr','abflugWochentag');
// -----------------------------------------------------------------------
// Schritt 2: setze das Rückflugdatum
// -----------------------------------------------------------------------
	setTagMonatElementtc_hotel_suche(monatJahrRueckflugSelect, anzahlMonate);
	setElementstc_hotel_suche(tagRueckflugSelect, monatJahrRueckflugSelect, vorlaufRueckflug);
	writeWochentag('ankunftTag','ankunftMonatJahr','ankunftWochentag');
}
// Ende dispatchDatetc_hotel_suche
// -----------------------------------------------------------------------
// Hier wird das Formularelement für Monat/Jahr neu belegt.
// -----------------------------------------------------------------------
function setTagMonatElementtc_hotel_suche(monatJahrSelect, anzahl) {
	var monatsNamen = new Array("01.", "02.", "03.", "04.", "05.", "06.", "07.", "08.", "09.", "10.", "11.", "12.");
	var monatsIDs = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
	var TagJetzt = new Date();
	var currentMonth = TagJetzt.getMonth();
	var currentYear = TagJetzt.getFullYear();
	var optionText = "";
	var optionValue = "";
	// befindet sich in der Select-Box schon mindestens ein Eintrag,
	// dann weg damit.
	if (monatJahrSelect.length > 0) {
	//	alert(monatJahrSelect.length + " Option-Tags in '" + monatJahrSelect.name + "' entdeckt.\n\n Sie werden jetzt gelöscht!");
		while (monatJahrSelect.length > 0) {
			monatJahrSelect.options[monatJahrSelect.length - 1] = null;
		}
	}
	// jetzt wird die Select-Box neu gefüllt.
	for (i=0; i < anzahl; i++) {
		optionText = monatsNamen[currentMonth] + " " + currentYear;
		optionValue = monatsIDs[currentMonth] + "." + currentYear;
		monatJahrSelect.options[monatJahrSelect.length] = new Option(optionText, optionValue);
		currentMonth++;
		if (currentMonth == 12) {
			currentMonth = 0;
			currentYear++;
		}
	}
}
// -----------------------------------------------------------------------
// Hier werden die Formularelemente für Tag und Monat/Jahr voreingestellt.
// -----------------------------------------------------------------------
function setElementstc_hotel_suche(tagSelect, monatJahrSelect, vorlauf) {
	var TagJetzt = new Date();
// Abflugdatem um vorlauf Tage vorsetzen,
	var TagAbflug    = new Date();
	TagAbflug.setTime( TagJetzt.getTime() + vorlauf * 86400000);
	var monatJahr	 = (TagAbflug.getMonth() < 9 ? "0" : "");
	monatJahr	+= (TagAbflug.getMonth() + 1) + "." + TagAbflug.getFullYear();
//	alert("Vorlauf:\t\t '"+vorlauf+"' Tage\nTag:\t\t '"+TagAbflug.getDate()+"'\nMonat.Jahr\t: '" + monatJahr + "'");
	tagSelect.options[TagAbflug.getDate()-1].selected = true;
	var continueLoop = true;
	var i = 0;
	while ( (i < monatJahrSelect.length) && continueLoop) {
		continueLoop = (monatJahrSelect.options[i].value != monatJahr);
		if (!continueLoop) {
			monatJahrSelect.options[i].selected = true;
		}
		i++;
	}
}
function tcRemoteHotelSubmit() {
tc_hotel_sucheAbschicken();
// document.tc_hotel_suche.submit();
}
// Ende setElementstc_hotel_suche
// selectfelder vorbereiten
var sendBelegung = new Array ("r1","r2","r3");
var selElementTyp = new Array ("ctl00$Body$Room1","ctl00$Body$Room2","ctl00$Body$Room3");
var selElementAnzZimmer = new Array ("ctl00$Body$Room1Count","ctl00$Body$Room2Count","ctl00$Body$Room3Count");
var sendAltKinder = new Array ("222","222","222");
var sendAltKinderWert = new Array(
	new Array ("ctl00$Body$Room1Age","ctl00$Body$Room1Age2","ctl00$Body$Room1Age3"),
	new Array ("ctl00$Body$Room2Age","ctl00$Body$Room2Age2","ctl00$Body$Room2Age3"),
	new Array ("ctl00$Body$Room3Age","ctl00$Body$Room3Age2","ctl00$Body$Room3Age3")
);
var AnzKinder = "0";

function tc_hotel_sucheAbschicken() {
	for (i=0; i < selElementTyp.length; i++){
		sendAltKinder[i] = "";
		for (j=0; j < selElementTyp.length; j++){
			sendAltKinder[i] =  sendAltKinder[i] + document.tc_hotel_suche.elements[sendAltKinderWert[i][j]].value;
		}
		if(debug)
		{
			// alert(sendKategorie);
			alert(sendAltKinder[i]);
		}
		if(document.tc_hotel_suche.elements[selElementTyp[i]].value== "TW21" || document.tc_hotel_suche.elements[selElementTyp[i]].value== "DR21") {
			AnzZimmer = document.tc_hotel_suche.elements[selElementAnzZimmer[i]].value;
			AnzKinder = AnzZimmer;
			// alte Version:
			// document.tc_hotel_suche.elements[sendBelegung[i]].value = AnzZimmer + AnzKinder + document.tc_hotel_suche.elements[selElementTyp[i]].value;
			// neue Version:
			document.tc_hotel_suche.elements[sendBelegung[i]].value = AnzZimmer + document.tc_hotel_suche.elements[selElementTyp[i]].value + sendAltKinder[i];
			if(debug)
			{
				alert([sendBelegung[i]]+"="+document.tc_hotel_suche.elements[sendBelegung[i]].value);
			}
			AnzKinder = "0";
		}
		else {
			AnzZimmer = document.tc_hotel_suche.elements[selElementAnzZimmer[i]].value;
			// alte Version:
			//document.tc_hotel_suche.elements[sendBelegung[i]].value = AnzZimmer + AnzKinder + document.tc_hotel_suche.elements[selElementTyp[i]].value;
			// neue Version:
			document.tc_hotel_suche.elements[sendBelegung[i]].value = AnzZimmer + document.tc_hotel_suche.elements[selElementTyp[i]].value+ sendAltKinder[i];
			// alert([sendBelegung[i]]+"="+document.tc_hotel_suche.elements[sendBelegung[i]].value);
		}
	}
	var myMonthYear;
	// alert(document.tc_hotel_suche.elements['departureMonthYear'].value);
	myMonthYear = document.tc_hotel_suche.elements['departureMonthYear'].value;
	// alert(myMonthYear);
	document.tc_hotel_suche.elements['checkin'].value = ""+document.tc_hotel_suche.elements['departureDay'].value+"."+myMonthYear;

	myMonthYear = document.tc_hotel_suche.elements['arrivalMonthYear'].value;
	document.tc_hotel_suche.elements['checkout'].value = ""+document.tc_hotel_suche.elements['arrivalDay'].value+"."+myMonthYear;
	// alert("checkin: '"+document.tc_hotel_suche.elements['checkin'].value+"'\ncheckout: '"+document.tc_hotel_suche.elements['checkout'].value);
	// alert(document.tc_hotel_suche.action);
	var formurl = "";
	formurl = 	document.tc_hotel_suche.action+"?cin="+document.tc_hotel_suche.elements['checkin'].value+
			"&cout="+document.tc_hotel_suche.elements['checkout'].value+
			"&"+sendBelegung[0]+"="+document.tc_hotel_suche.elements[sendBelegung[0]].value+
			"&"+sendBelegung[1]+"="+document.tc_hotel_suche.elements[sendBelegung[1]].value+
			"&"+sendBelegung[2]+"="+document.tc_hotel_suche.elements[sendBelegung[2]].value+
			"&_clid="+document.tc_hotel_suche.elements['_clid'].value+
			//"&name="+document.tc_hotel_suche.elements['name'].value+
			"&_u="+document.tc_hotel_suche.elements['_u'].value+
			"&_a="+document.tc_hotel_suche.elements['_a'].value+
			"&_as="+document.tc_hotel_suche.elements['_as'].value+"&_dl="+document.tc_hotel_suche.elements['_dl'].value+
			"&destination="+document.tc_hotel_suche.elements['destination'].value+
			"&cat="+document.tc_hotel_suche.cat.options[document.tc_hotel_suche.cat.selectedIndex].value;
	// formurl = encodeURIComponent(formurl);
	if(debug)
	{
		alert(formurl);
	}
	parent.location.href=formurl;
}

function showLayer(obj) {
	var el = document.getElementById(obj);
	el.style.visibility = 'visible';
}

function hideLayer(obj) {
	var el = document.getElementById(obj);
	el.style.visibility = 'hidden';
}
function switchAge(sender, count, layer) {
	var c = count.value;

	hideLayer(layer + '_1');
	hideLayer(layer + '_2');
	hideLayer(layer + '_3');

	if(sender.value.substr(sender.value.length - 1, 1) == '0')
	{
		if(c > 0)
		{
			hideLayer(layer + '_1');
			setCotsSelect(layer,0);
	    }
		if(c > 1)
		{
			hideLayer(layer + '_2');
			setCotsSelect(layer,0);
		}
		if(c > 2)
		{
			hideLayer(layer + '_3');
			setCotsSelect(layer,0);
		}
	}
	else
	{
	    if(c == 0)
	    {
	        setCotsSelect(layer,0);
	    }
	    if(c > 0)
		{
			showLayer(layer + '_1');
			setCotsSelect(layer,1);
		}
		if(c > 1)
		{
			showLayer(layer + '_2');
			setCotsSelect(layer,2);
		}
		if(c > 2)
		{
			showLayer(layer + '_3');
			setCotsSelect(layer,3);
		}
	}
	setAllHeaders();
}

function setAllHeaders() {
    setHeaderVisibility('1','text_kind1_1');
	setHeaderVisibility('2','text_kind1_2');
	setHeaderVisibility('3','text_kind1_3');
}

function setHeaderVisibility(row,label) {
    var visibilityFlag = 0;
    var el1 = document.getElementById('kind1_'+row);
    var el2 = document.getElementById('kind2_'+row);
    var el3 = document.getElementById('kind3_'+row);

    if(el1.style.visibility=='visible' || el2.style.visibility=='visible' || el3.style.visibility=='visible' )
    {
        showLayer(label);
    }
    else hideLayer(label);
}

function setCotsSelect(idName,optionNum) {
    if(idName=='kind1') idName = getRoom1Cots();
    if(idName=='kind2') idName = getRoom2Cots();
    if(idName=='kind3') idName = getRoom3Cots();

    var chosenSelect = document.getElementById(idName);
    var selectedOption = chosenSelect.selectedIndex;
    chosenSelect.length = 0;
    for(var i=0; i<=optionNum; i++)
    {
        chosenSelect[i] = new Option(i,i);
        if(selectedOption == i) chosenSelect[i].selected = true;
    }
}