// Mauskoordinaten fuer INFO-Felder
var maus_x = 0;
var maus_y = 0;
var oToolTipTimer  = new Array();
var	opendates = new Array();

// Flag zur Pruefung ob Parameter geuendert wurden

var parChanged = true;
var oldRoomPlace = 0;

// Texte:
/*
var txt_Anreisedatum = "Arrival on";
var txt_Abreisedatum = "Departure on";
var txt_Zimmeranzahl = "No. of Rooms";
var txt_Erwachsene = "Adults";
var txt_Kinder1 = "Children 0-2";
var txt_Kinder2 = "Children 3-6";
var txt_Kinder3 = "Children 7-12";
var txt_Kinder4 = "Children 13-16";
var txt_Zeitraum_auswaehlen = "Bitte waehlen Sie einen Zeitraum aus.";
var txt_wird_geladen = "One moment please";
var txt_lade_angebote_aus_server = "Possible offers are now being loaded from our server ...";
var txt_kein_paket = "kein Paket ausgwaehlt";
var txt_bis = "bis";
var txt_Erwachsene = "Adults";
var txt_Erwachsener = "Adult";
var txt_Kind = "Child";
var txt_Kinder = "Children";
var txt_Vorname = "First Name";
var txt_Nachname = "Last Name";
var txt_Strasse = "Street Address";
var txt_PLZ = "Postal Code";
var txt_Ort = "City";
var txt_Land = "Country";
var txt_Zimmerabfrage = "Zimmerabfrage";
var txt_Tel = "Telephone Number";
var txt_email = "E-Mail";
var txt_agb = "General Terms & Conditions";
var txt_fehler_buchung = "Fehler bei Buchung";
var txt_weiter_ende = "Klicken Sie auf Fix Buchen oder Unverbindlich Anfragen um die Buchung zu vervollstaendigen";
var txt_fehler_datum_pre = "Geben sie bitte ein gueltiges Datum in das Feld";
var txt_fehler_datum_post = "ein (z.B. 28.02.2008)";
var txt_fehler_nummer_pre = "Geben sie bitte eine gueltige Zahl in das Feld";
var txt_fehler_nummer_post = "";
var txt_fehler_email_pre = "Ueberpruefen Sie ihre Email-Adresse. Feld:";
var txt_fehler_email_post = "";
var txt_fehler_leerzeichen_pre = "Es duerfen keine Leerzeichen in der Email-Adresse verwendet werden. Feld: ";
var txt_fehler_leerzeichen_post = "";
var txt_fehler_checkbox_pre = "Sie muessen die Checkbox";
var txt_fehler_checkbox_post = "aktivieren";
var txt_fehler_auswahl_pre = "Sie muessen eine Auswahl im Feld";
var txt_fehler_auswahl_post = "treffen.";
var txt_fehler_text_pre = "Das Feld";
var txt_fehler_text_post = "ist leer.";

*/

// Google Dummy if no ID is configured
 
var googleDummy = function(){
	this._trackPageview = function(){};
};
var pageTracker = new googleDummy();

function anfrage()
{
	// Ueberpruefen ob alle Eingaben richtig gesetzt wurden:
    ueberpruefarray = new Array("arrdate$" + txt_Anreisedatum + "$datum", "depdate$" + txt_Abreisedatum + "$datum", "number$" + txt_Zimmeranzahl + "$nummer", "adult$" + txt_Erwachsene + "$nummer", "children$" + txt_Kinder + "$nummer", "age1$" + txt_AlterKinder + "$nummerChildren", "age2$" + txt_AlterKinder + "$nummerChildren", "age3$" + txt_AlterKinder + "$nummerChildren","age4$" + txt_AlterKinder + "$nummerChildren");

	var target = 'zimmerabfrageergebnis';		
	
	section_show(target);
	$("[name='"+ target +"']").get(0).innerHTML = txt_Zeitraum_auswaehlen;
			
	if(check_formular(ueberpruefarray))
	{
		var url = '?PHPSESSID=' + document.getElementById("PHPSESSID").value;
		var jsonPars = '';
		var iNumberChildren = 0;
		
		// Abfrage fuer jedes Zimmer starten und ausgeben
		
		$("[name='"+ target +"']").each(function (i) 
		{
			// Loading Grafik setzen
		
			var loadMsg = "<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_wird_geladen + "' /><br><br>" + txt_lade_angebote_aus_server + "<br><br></center>";
			if($(".section span.roomnr").length)
			{
				// Zimmermehrfachabfrage aktiviert
				$(this).html("<table width='100%' cellspacing='0' cellpadding='0'><tr><td class='links linie background3'><b>" + txt_Zimmer + " <span class='roomnr'>" +(i+1) +"</span> :</b></td></tr></table>" +
				loadMsg);
			}
			else
			{
				// Keine Mehrfachabfrage
				$(this).html(loadMsg);
			}
			jsonPars = createGetString('ratequery',false,false,i+1);			
			
			$(this).load(url, jsonPars, function()
			{
				// Display Room Number
				// $(this).find("span.roomnr").text(i+1);
			}			
			);
		});
		
		paketpreis = 0;
		clear_packagepreis();
		paket_loeschen();

		request_packageinfo(false,document.getElementById("accountId").value);

		if(document.getElementById("accountId").value == 0)
		{
			refresh_packages(0);
		}
		// infolayer_aktualisieren(); erfolgt breits bei paket_loeschen
		
		parChanged = false;
	}
	
}
function createGetString(todo,newArrdate,newDepdate,iRoomNr)
{
		var sArrdate = (newArrdate)?newArrdate:document.getElementById("arrdate").value;
		var sDepdate = (newDepdate)?newDepdate:document.getElementById("depdate").value;

		if($("[name='adult']").length == 1)
		{
			// Variante ohne Mehrfachabfrage (Eine Abfrage fuer alle Zimmer)
			var iNumber = document.getElementById("number").value;
		}
		else
		{
			// Variante mit Mehrfachabfrage (Abfrage fuer jedes Zimmer)
			var iNumber = 1;
		}
		
		// Wenn eine Anfrage fuer Zimmer Nummer 2 oder mehr gemacht wird dann diese
		// Abfrageparameter einsetzen
		
		var iAdult 		= $("[name='adult']").get(iRoomNr-1).value;
		var iChildren 	= $("[name='children']").get(iRoomNr-1).value;
		
		var iChildrenTotal = getChildrenNumber();

		age = getChildrenAge(iRoomNr);
		
		var sessionid = document.getElementById("PHPSESSID").value;
		var sprachen_id = document.getElementById("language_id").value;
		var pars = 'todo: "'+ todo+ '", sprachen_id:' + sprachen_id + ',arrdate: "' + sArrdate + '",depdate: "' + sDepdate + '",number:' + iNumber + ',adult:' + iAdult + ',children:' + iChildren + ',childrenTotal:' + iChildrenTotal + ',age: "' + age['0'] + ',' + age['1'] + ',' + age['2'] + ',' + age['3'] +'",roomNr:"' + iRoomNr +'",PHPSESSID:"' + sessionid + '",rand:"' + Math.random()+'"';
		
		// Ist einen Member ID angegeben ?
		
		if(document.getElementById("member"))
			pars += ',member: "' + document.getElementById("member").value + '"';

		// Ist einen mpehotel ID angegeben ?
		
		if(document.getElementById("mpehotel"))		
			pars += ',mpehotel: "' + document.getElementById("mpehotel").value + '"';

		// Ist ein Profil angegeben ?
		
		if(document.getElementById("sProfile"))		
			pars += ',sProfile: "' + document.getElementById("sProfile").value + '"';
						
		if(sectionIsVisible('search'))
		{
			// Ist eine Hotel Location angegeben ?
			
			if(document.getElementById("hotloc"))
				pars += ',hotloc: "' + document.getElementById("hotloc").value + '"';

			// Ist eine Hotel Typ angegeben ?
			
			if(document.getElementById("hottyp"))
				pars += ',hottyp: "' + document.getElementById("hottyp").value + '"';

			// Ist eine Zimmertype ?
			
			if(document.getElementById("roomtype"))
				pars += ',roomtype: "' + document.getElementById("roomtype").value + '"';
		
		}			
		// Ist ein spezielles Konto angegeben

		if(document.getElementById("accountId"))
		{
			pars = 'accountId:'+ document.getElementById("accountId").value + ',' + pars;
		}
		
		// Ist ein spezieller Adapter angegeben
		
		if(document.getElementById("sAdapterId") && document.getElementById("sAdapterId").value)
		{
			pars = "sAdapterId: '"+ document.getElementById("sAdapterId").value + "'," + pars;
		}
		else
		{
			pars = "sAdapterId: '0'," + pars;
		}

		return eval('({' + pars + '})');
}
function getChildrenAge(iRoomNr)
{
	// Pruefen zur Sicherheit
	if(iRoomNr > $("[name='adult']").length)
		iRoomIndex = 0;
	else
		iRoomIndex = iRoomNr-1;

	return new Array((($("[name='age1']").get(iRoomIndex).value)?$("[name='age1']").get(iRoomIndex).value:0),
			(($("[name='age2']").get(iRoomIndex).value)?$("[name='age2']").get(iRoomIndex).value:0),
			(($("[name='age3']").get(iRoomIndex).value)?$("[name='age3']").get(iRoomIndex).value:0),
			(($("[name='age4']").get(iRoomIndex).value)?$("[name='age4']").get(iRoomIndex).value:0));
}
function setChildren(oEle)
{
	age = getChildrenAge($('[name='+oEle.name+']').index(oEle)+1);
	$("[name='children']").eq($('[name='+oEle.name+']').index(oEle)).val(((age['0'])?1:0)+((age['1'])?1:0)+((age['2'])?1:0)+((age['3'])?1:0));
}
function info_extern(id,url)
{
	var target  = '#'+id;
	$(target).html("<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_info_laden + "' /><br><br>" + txt_info_laden + "<br><br></center>");
	$(target).load(url);
}

function eventdatum_uebernehmen()
{
	for(i=0; i < document.getElementById("eventauswahl").length; i++)
	{
		if(document.getElementById("eventauswahl").options[i].selected == true)
		{
			inhalt = document.getElementById("eventauswahl").options[i].value;
			datum = inhalt.split("-");
			document.getElementById("arrdate").value = datum[0];
			document.getElementById("depdate").value = datum[1];
		}
	}
}

function changeAccount(iAccountId)
{
	document.location.href="index.php"+
		((iAccountId)?("?accountId="+iAccountId):"")+
		"&arrdate_formatted="+document.getElementById("arrdate").value+
		"&depdate_formatted="+document.getElementById("depdate").value+
		((document.getElementById("bAccountSelection").value)?"&bAccountSelection=true":"")+
		((document.getElementById("sProfile").value)?"&sProfile="+document.getElementById("sProfile").value:"")+
		'&PHPSESSID='+ document.getElementById("PHPSESSID").value;
}

function section_hide_all()
{
	document.getElementById("zeitraumauswahl").style.display = "none";
	document.getElementById("zimmerabfrageergebnis").style.display = "none";
	document.getElementById("zimmerwuensche").style.display = "none";
	document.getElementById("persoenlichedaten").style.display = "none";
	document.getElementById("zusatzangebote").style.display = "none";
}

function section_hide(divID)
{
	if(document.getElementById(divID) != null)
		document.getElementById(divID).style.display = "none";
}

function section_show(divID)
{
	if(document.getElementById(divID) != null)
		document.getElementById(divID).style.display = "block";
}
function sectionIsHidden(divID)
{
	if(document.getElementById(divID) != null)
	{
		return(document.getElementById(divID).style.display != "block");
	}
	else
		return true;
}
function sectionIsVisible(divID)
{
	if(document.getElementById(divID) != null)
	{
		return(document.getElementById(divID).style.display != "none");
	}
	else
		return false;
}

function info_klick(divID,url)
{
	if(document.getElementById(divID) != null &&
	document.getElementById(divID).innerHTML.substring(0, 7) == "http://")
	{
		window.open(document.getElementById(divID).innerHTML);
	}
}

function tooltip_show_xy(divID,x,y)
{
	if(arguments.length==1)
	{
		x=0;
		y=0;
	}
	if(document.getElementById(divID) != null &&
	document.getElementById(divID).innerHTML != "" &&
	document.getElementById(divID).innerHTML.substring(0, 7) != "http://")
	{	// info_extern(divID);
		document.getElementById(divID).style.top = maus_y + y + "px";
		document.getElementById(divID).style.left = maus_x + x + "px";
		document.getElementById(divID).style.display = "block";
	}
}
function tooltip_show(divID)
{
	tooltip_show_xy(divID,-140,25);
}
function tooltip_show_element(divID,oInfoElement)
{
	if(document.getElementById(divID) != null &&
	document.getElementById(divID).innerHTML != "" &&
	document.getElementById(divID).innerHTML.substring(0, 7) != "http://")
	{	// info_extern(divID);
		infoOffset = ($(oInfoElement).offset().left >= 140)?140:0;
		document.getElementById(divID).style.top = $(oInfoElement).offset().top + $(oInfoElement).height() + "px";
		document.getElementById(divID).style.left = $(oInfoElement).offset().left + $(oInfoElement).width() - infoOffset + "px";
		document.getElementById(divID).style.display = "block";
	}
}
function tooltip_hide(divID)
{
	if(document.getElementById(divID) != null)
	{
		document.getElementById(divID).style.display = "none";
	}
}
function info_hide(divID)
{
	oToolTipTimer[divID] = setTimeout("tooltip_hide('" + divID + "')",900);
}
function info_clear(divID)
{
	clearTimeout(oToolTipTimer[divID]);
}
function mausposition(e) {
	try{
		maus_x = (document.all) ? window.event.x + document.documentElement.scrollLeft : e.pageX;
		maus_y = (document.all) ? window.event.y + document.documentElement.scrollTop : e.pageY;
		maus_x += 15;
		maus_y -= 10;
	}
	catch(e)
	{
		// es tritt ein Fehler auf wenn die Maus bewegt wird
		// bevor die Seite vollstaendig geladen wurde
		// Internet Explorer 7.0
	}
}
document.onmousemove = mausposition;

/**
* Kalkulations-funktionen
*/

// alt var paketname = txt_kein_paket;
// alt var paketbeschreibung = "";
// alt var paketpreis = "0";
// alt var zimmerbezeichnung = "";
// alt var zimmerkurzbezeichnung = "";
var packages;
var mpeHotel = new Array();

function paket_auswaehlen(aktives_paket,hotelId)
{
	// alt paketname = document.getElementById(hotelId + "_hotelname")?document.getElementById(hotelId + "_hotelname").value+"<br>":"";
	// alt paketname += document.getElementById(aktives_paket + "_paketname").value;
	// alt paketbeschreibung = document.getElementById(aktives_paket + "_paketbeschreibung").value;	
	// alt paketpreis = document.getElementById(aktives_paket + "_paketpreis").value;	
	// alt zimmerbezeichnung = document.getElementById(aktives_paket + "_zimmerbezeichnung").value;	
	// alt zimmerkurzbezeichnung = document.getElementById(aktives_paket + "_zimmerkurzbezeichnung").value;
	// alt mpeHotel = 	hotelId;
	infolayer_aktualisieren();
}
function hide_nextStep()
{
	document.getElementById("header_zusatzangebote").style.display = "none";
	document.getElementById("header_zimmerwuensche").style.display = "none";
	document.getElementById("header_persoenlichedaten").style.display = "none";
}
function show_nextStep()
{
	document.getElementById("header_zusatzangebote").style.display = "block";
	document.getElementById("header_zimmerwuensche").style.display = "block";
	document.getElementById("header_persoenlichedaten").style.display = "block";
}
function paket_loeschen()
{
	// alt paketname = txt_kein_paket;
	// alt paketbeschreibung = "";	
	// alt paketpreis = "0,00";	
	// alt zimmerbezeichnung = "";	
	// alt zimmerkurzbezeichnung = "";
	infolayer_aktualisieren();
	//showSelectedPakageInfo($("#infoNavi span:first"));
}

function rt_auswaehlen(buchungsinfo,roomNr)
{
	$("[name='zimmerabfrageergebnis']:eq("+(roomNr-1)+") #hidden_rt_radio").val(buchungsinfo);
	openDetail(roomNr-1);
}
function komma_anhaengen(ausgabe)
{
	return number_format(ausgabe, 2, ",", ".");
}

function number_format( /* in: float   */ number,
                        /* in: integer */ laenge,
                        /* in: String  */ sep,
                        /* in: String  */ th_sep )
{

  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
  str_number = number+"";
  arr_int = str_number.split(".");
  if(!arr_int[0]) arr_int[0] = "0";
  if(!arr_int[1]) arr_int[1] = "";
  if(arr_int[1].length < laenge){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += "0";  }
    arr_int[1] = nachkomma;
  }
  if(th_sep != "" && arr_int[0].length > 3){
    Begriff = arr_int[0];
    arr_int[0] = "";
    for(j = 3; j < Begriff.length ; j+=3){
      Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
      arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
  }
  return arr_int[0]+sep+arr_int[1];
}
function getPrice(val)
{
	val = val.replace(/\./,"");
	val = val.replace(/,/,".");
	return(val);
}



function berechne_package(package)
{
	// Ausgabe in der Auswahl
	
	ausgabe = document.getElementById("anzahl_package_" + package).value * document.getElementById("preis_package_" + package).value;
	ausgabe= komma_anhaengen(ausgabe);
	document.getElementById("gesamt_package_" + package).value = ausgabe;

	// Paketpreise:
	
	packagespreis = 0;
	
	for(i = 1; i < 1000; i++)
	{
		if(document.getElementById("anzahl_package_" + i) == null)
			break;

		if(document.getElementById("anzahl_package_" + i).value > 0)
		{
			packagespreis += document.getElementById("anzahl_package_" + i).value * document.getElementById("preis_package_" + i).value;
		}
	}
	
	// Hidden Value fuer Bestellung
	
	document.getElementById("packagespreis").value = komma_anhaengen(packagespreis);
	
	infolayer_aktualisieren()
}
function getChildrenNumber()
{
	number = 0;

	$("[name='children']").each(function () 
	{
		if($(this).get(0).value != 0 && !isNaN($(this).get(0).value))
			number += parseInt($(this).get(0).value);				
	});
			
	return number;
}
function getAdultNumber()
{
	number = 0;

	$("[name='adult']").each(function () 
	{
		if($(this).get(0).value != 0 && !isNaN($(this).get(0).value))
			number += parseInt($(this).get(0).value);				
	});
			
	return number;
}
function infolayer_aktualisieren()
{
	var zimmerpreis = 0;
	mpeHotel = new Array();
	
	// alt document.getElementById("info_paketname").innerHTML = paketname;

	$("[name='zimmerabfrageergebnis']").each(function (s)
	{
		if($(this).find("[type='radio']:checked").length)
		{
			var pakageId = $(this).find("[type='radio']:checked").val();
			var hotelId  = $(this).find("[type='radio']:checked").attr("id");
			    hotelId  = hotelId.substring(hotelId.lastIndexOf("_")+1);
			    
				mpeHotel.push(hotelId);
			    
			var hotelname = document.getElementById(hotelId + "_hotelname")?document.getElementById(hotelId + "_hotelname").value+"<br>":"";
			var paketname = $(this).find("#"+pakageId+"_paketname").val();
			
			var paketbeschreibung = $(this).find("#"+pakageId+"_paketbeschreibung").val();	
			var paketpreis        = $(this).find("#"+pakageId+"_paketpreis").val();	
			
				zimmerpreis += parseFloat(getPrice(paketpreis));
				
			var zimmerbezeichnung     = $(this).find("#"+pakageId+"_zimmerbezeichnung").val();	
			var zimmerkurzbezeichnung = $(this).find("#"+pakageId+"_zimmerkurzbezeichnung").val();

			$('div[name="roomInfo"]').eq(s).html(hotelname + paketname + " <span title='" + zimmerbezeichnung + "'>(" + zimmerkurzbezeichnung + ")</span>");
		}
		else
		{
			$('div[name="roomInfo"]').eq(s).html(txt_kein_paket);
		}					
	});
	
	anreise=Date.UTC(document.getElementById("arrdate").value.substr(6,4),
                     document.getElementById("arrdate").value.substr(3,2),
                     document.getElementById("arrdate").value.substr(0,2));
    abreise=Date.UTC(document.getElementById("depdate").value.substr(6,4),
                     document.getElementById("depdate").value.substr(3,2),
                     document.getElementById("depdate").value.substr(0,2));
    naechte=(abreise-anreise)/24/60/60/1000;
    document.getElementById("naechte").value = naechte;

	document.getElementById("info_anabreise").innerHTML = document.getElementById("arrdate").value + " <span>" + txt_bis + "</span> " + document.getElementById("depdate").value;

	var iAdult 		= getAdultNumber();

	// Erwachsene
	if(iAdult  > 1)
		document.getElementById("info_erwachsene").innerHTML = iAdult  + " " + txt_Erwachsene;
	else
		document.getElementById("info_erwachsene").innerHTML = iAdult  + " " + txt_Erwachsener;		

	// Kinder
	
	var iChildren = getChildrenNumber();
	
	if(iChildren == 1)
		document.getElementById("info_kinder").innerHTML = iChildren + " " + txt_Kind;	
	else
		document.getElementById("info_kinder").innerHTML = iChildren + " " + txt_Kinder;

	// Zimmerpreis

	document.getElementById("info_zimmerpreis").innerHTML =	komma_anhaengen(zimmerpreis);

	// Warenkorb
	
	document.getElementById("info_paketpreis").innerHTML = document.getElementById("packagespreis").value;
		
	// Gesamtpreis:
	total = Number(getPrice(document.getElementById("packagespreis").value)) + zimmerpreis; 
	document.getElementById("info_gesamtpreis").innerHTML = komma_anhaengen(total);
	document.getElementById("gesamtpreis").value = komma_anhaengen(total);
}
function clear_packagepreis()
{
	document.getElementById("packagespreis").value = "0,00";
	document.getElementById("info_paketpreis").innerHTML = "0,00";
}

function buchung(todo)
{
	ueberpruefarray = new Array("arrdate$" + txt_Anreisedatum + "$datum", "depdate$" + txt_Abreisedatum + "$datum", "number$" + txt_Zimmeranzahl + "$nummer", "adult$" + txt_Erwachsene + "$nummer", "children$" + txt_AnzahlKinder + "$nummer", "age1$" + txt_AlterKinder + "$nummerChildren", "age2$" + txt_AlterKinder + "$nummerChildren", "age3$" + txt_AlterKinder + "$nummerChildren","age4$" + txt_AlterKinder + "$nummerChildren", "firstname$" + txt_Vorname + "$text", "name$" + txt_Nachname + "$text", "street1$" + txt_Strasse + "$text", "zip$" + txt_PLZ + "$text", "city$" + txt_Ort + "$text", "country$" + txt_Land + "$auswahl", "phone$" + txt_Tel + "$text", "email$" + txt_email + "$email", "agb$" + txt_agb + "$checkbox","adult_firstname1$" + 'Mitreisender Vorname' + "$text");

	if(todo != "formular")
	{
		// Wenn keine Formularanfrage (z.B.: Protelausfall) dann folgende Datenfelder noch dazu
		
		ueberpruefarray.push("rt_radio$" + txt_Zimmerabfrage + "$text");			
	}
	var nrAdult = document.getElementById("number").value * document.getElementById("adult").value;
	var nrChildren = document.getElementById("number").value * document.getElementById("children").value;
	
	// Pruefung der Mitreisenden Datenfelder eintragen
	if($("#bGuestnamesRequered").val())
	{
		for(i = 1; i < nrAdult;i++)
		{
			ueberpruefarray.push("adult_firstname" + i + "$" + txt_fehler_mitreisender_vorname + "$text","adult_lastname" + i + "$" + txt_fehler_mitreisender_nachname + "$text","adult_birthday" + i + "$" + txt_fehler_mitreisender_gebdat + "$datum");
		}
	
		for(i = 1; i <= nrChildren;i++)
		{
			ueberpruefarray.push("children_firstname" + i + "$" + txt_fehler_kinder_vorname + "$text","children_lastname" + i + "$" + txt_fehler_kinder_nachname + "$text","children_birthday" + i + "$" + txt_fehler_kinder_gebdat + "$datum");
		}
	}
	
	// Formularfeld welches im Fehlerfall aktiviert werden soll
	
	aktiv_formular = "persoenlichedaten";
	
	if(check_formular(ueberpruefarray))
	{
		parameter = "";
		/* alt
		for(i = 0; i < 500; i++)
		{
			// Pruefen ob Feld definiert ist
			
			if(document.getElementsByTagName("input")[i] == undefined)
			{	
				break;
			}
			
			if(document.getElementsByTagName("input")[i].name != "")
			{
				if(document.getElementsByTagName("input")[i].type == "checkbox")
				{
					if(document.getElementsByTagName("input")[i].checked == true)
					{
						parameter += ', "'+document.getElementsByTagName("input")[i].name + '": "'+document.getElementsByTagName("input")[i].value+'"';
					}
				}			
				else
				{
					// Bei Mischbetrieb das Konto des gebuchten Angebotes uebernehmen
					
					if(document.getElementsByTagName("input")[i].name == "accountId")
					{
						if (getAccountId() > 0)
						{
							parameter += ', "'+document.getElementsByTagName("input")[i].name + '": "' + getAccountId() + '"';
						}
						else if (todo != "formular")
						{
							alert(txt_fehler_keinzimmer);
							return false;
						}					
					}
					else				
						parameter += ', "'+document.getElementsByTagName("input")[i].name + '": "' + document.getElementsByTagName("input")[i].value + '"';
				}
			}
		} 		
		for(i = 0; i < 500; i++)
		{
			if(document.getElementsByTagName("select")[i] == undefined)
			{	
				break;
			}
			if(document.getElementsByTagName("select")[i].name != "" && document.getElementsByTagName("select")[i].name != "rt" && document.getElementsByTagName("select")[i].value != "auswahl")
				parameter += ', "' + document.getElementsByTagName("select")[i].name + '" : "' + document.getElementsByTagName("select")[i].value +'"';
		}
		
		if(document.getElementById("remark").value)
			parameter += ', "' + document.getElementById("remark").name + '" :"' + document.getElementById("remark").value + '"';

		parameter += ',"sprachen_id" : ' + document.getElementById("language_id").value;

		// MPE Hotel ID uebergeben bei MPE Version Buchung
		 
		if(document.getElementById("mpehotel") && mpeHotel)
		{
			parameter += ',"hotelno" : ' + mpeHotel;
		}

		// Profil mit uebergeben
		 
		if(document.getElementById("sProfile") && document.getElementById("sProfile").value)
		{
			parameter += ',"sProfile" : "' + document.getElementById("sProfile").value + '"';;
		} alert(parameter);	return(false);	 		

		*/
		
		// Pruefen ob wichtige Abfrageparameter geuendert wurden
		
		if(parChanged && (todo != "formular"))
		{
			section_show("zeitraumauswahl");
			alert(txt_fehler_changed_par);
			return;
		}

		// Neue Version
		
		// Alle Input Felder
		
		$("input[name]").each(function ()
		{
			// Bei Mischbetrieb das Konto des gebuchten Angebotes uebernehmen
			
			if($(this).attr("name") == "accountId")
			{
				if (getAccountId() > 0)
				{
					parameter += ', "'+ $(this).attr("name") + '": "' + getAccountId() + '"';
				}
				else if (todo != "formular")
				{
					alert(txt_fehler_keinzimmer);
					return false;
				}					
			}
			else if($(this).attr("type") != "radio")
			{
				// Keine Radioboxwerte mit uebernehmen
				
				if($(this).attr("type") == "checkbox")
				{
					// Checkbox Datenfelder
					if($(this).get(0).checked == true)
					{
						oField = $("input[name='"+$(this).attr("name")+"']");
						parameter += ', "'+ $(this).attr("name") + ((oField.length > 1)?"[" +oField.index(this) +"]":"") + '": "' + $(this).val() + '"';
					}
				}
				else
				{
					// Restliche Datenfelder mit Beruecksichtigung wenn es ein Array (Mehrfachbuchung) ist
					
					oField = $("input[name='"+$(this).attr("name")+"']");
					
					/*
					var pos  = $(this).attr("name").indexOf("[");

					if(pos != -1)
					{
						// Wenn Array dann [] zwischen Name und Klammer setzen 
						var name = $(this).attr("name").substr(0, pos) + ((oField.length > 1)?"[" +oField.index(this) +"]":"") + $(this).attr("name").substr(pos);
					}
					else
					{
						var name = $(this).attr("name") + ((oField.length > 1)?"[" +oField.index(this) +"]":"");
					}*/
											
					parameter += ', "'+ $(this).attr("name") + ((oField.length > 1)?"[" +oField.index(this) +"]":"") + '": "' + $(this).val() + '"';
				}
			}
		});

		// Alle Select Felder
		
		$("select[name]").each(function ()
		{
			// mit Beruecksichtigung wenn es ein Array (Mehrfachbuchung) ist
			oField = $("select[name='"+$(this).attr("name")+"']");
			parameter += ', "'+ $(this).attr("name") + ((oField.length > 1)?"[" +oField.index(this) +"]":"") + '": "' + $(this).val() + '"';
		});

		// Sonderdatenfelder

		if(document.getElementById("remark").value)
			parameter += ', "' + document.getElementById("remark").name + '" :"' + document.getElementById("remark").value + '"';

		parameter += ',"sprachen_id" : ' + document.getElementById("language_id").value;

		var age1=age2=age3=age4=0;
		
		$(".section select[name='age1']").each(function (e)
		{
			age1 = $(".section select[name='age1']:eq("+e+")").val();
			age2 = $(".section select[name='age2']:eq("+e+")").val();
			age3 = $(".section select[name='age3']:eq("+e+")").val();
			age4 = $(".section select[name='age4']:eq("+e+")").val();
			
			// mit Beruecksichtigung wenn es ein Array (Mehrfachbuchung) ist
			
			oField = $("select[name='"+$(this).attr("name")+"']");
			
			parameter += ', "age' + ((oField.length > 1)?"[" +oField.index(this) +"]":"") + '": "' + 
						(age1?age1:0) + ',' + (age2?age2:0) + ',' + (age3 = age3?age3:0) + ',' + (age4?age4:0) + '"';
		});


		// Gesamtanzahl der Kinder mit geben (alle Zimmer)
		
		parameter += ',"childrenTotal" : "' + getChildrenNumber() + '"';
		
		// MPE Hotel ID uebergeben bei MPE Version Buchung
		 
		if(document.getElementById("mpehotel") && mpeHotel.length)
		{
			if(mpeHotel.length == 1)
				parameter += ',"hotelno" : ' + mpeHotel[0];
			else
			  $.each(mpeHotel, function(e) {
			  		parameter += ',"hotelno['+e+']" : ' + mpeHotel[e];
			    });
		}
		
		parameter += ',"PHPSESSID" : "' + document.getElementById("PHPSESSID").value + '"';

		//alert(parameter);
		//return(false);
	
		$("#laden").show();
		$("#laden_hintergrund").show();
		
		/* TODO: Neu
		var url = '';
		switch(todo)
		{
			case 'buchung':
				url = '?todo=submit&cc=x'; // CC=X -> Protel zeigt Buchung als Fix an
				break;
			case 'anfrage':
				url = '?todo=submit&xsetupresstat=res_other'; // ohne CC -> Protel zeigt Buchung als Anfrage an
				break;
			case 'angebot':
				break;
				url = '?todo=angebot';
			case 'bestaetigung':
				url = '?todo=bestaetigung';
				break;
			case 'formular':
				url = '/kalkulator/index.php?todo=formular';
				break;
			default:
				break;				
		}
		if(url)
		{
			var pars = 'rand: "' + Math.random() + '"' +parameter;
			pageTracker._trackPageview("/funnel_G1/step6.html");
		}
		*/
		
		var pars = 'rand: "' + Math.random() + '"' +parameter;	
		var jsonPars = eval('({' + pars + '})');
		
		if(todo == "buchung")
		{
			var url = '?todo=submit&cc=x'; // CC=X -> Protel zeigt Buchung als Fix an
			$.post(url,jsonPars,function (data)
			{
				$("#rueckgabe").html(data);
				buchung_fertig();
			});
		}
		if(todo == "anfrage")
		{
			var url = '?todo=submit&xsetupresstat=res_other'; // ohne CC -> Protel zeigt Buchung als Anfrage an
			$.post(url,jsonPars,function (data)
			{
				$("#rueckgabe").html(data);
				anfrage_fertig();
			});
		}
		if(todo == "angebot") // Textausgabe
		{
			var url = '?todo=angebot';
			$.post(url,jsonPars,function(data) {
				hide_laden();
				$("#seite").html(data);				
			});
			pageTracker._trackPageview("/funnel_G1/step6.html");
		}
		if(todo == "bestaetigung") // Textausgabe
		{
			var url = '?todo=bestaetigung';
			$.post(url,jsonPars,function(data) {
				hide_laden();
				$("#seite").html(data);				
			});
			pageTracker._trackPageview("/funnel_G1/step6.html"); 
		}		
		if(todo == "formular")
		{
			var url = '/kalkulator/index.php?todo=formular';
			$.post(url,jsonPars,function(data) {
				hide_laden();
				$("#seite").html(data);				
			});
			pageTracker._trackPageview("/funnel_G1/step6.html");
		}				
	}
	else
	{
		if(sectionIsHidden(aktiv_formular))
		{
			section_hide_all(); section_show(aktiv_formular);
		}
	}
}

function checked()
{
	alert(document.getElementById("roomfeature_3").checked);
	alert(document.getElementById("number").checked);
}
function buchung_fertig()
{
	if(document.getElementById("buchung_fehler"))
	{
		if(document.getElementById("buchung_fehler").value == "false")
		{	
			buchung("bestaetigung");
		}
		else
		{
			alert (txt_fehler_buchung + ": " + document.getElementById("buchung_fehlertext").value);
			closeLoading();
		}
	}
	else
	{
		alert (txt_fehler_buchung + " Fehler Rueckgabe: " + $("#rueckgabe").text());
		closeLoading();
	}
}
function anfrage_fertig()
{
	if(document.getElementById("buchung_fehler"))
	{
		if(document.getElementById("buchung_fehler").value == "false")
		{	
			buchung("angebot");
		}
		else
		{
			alert (txt_fehler_buchung + ": " + document.getElementById("buchung_fehlertext").value);
			closeLoading();
		}
	}
	else
	{
		alert (txt_fehler_buchung + " Fehler Rueckgabe: " + $("#rueckgabe").text());
		closeLoading();
	}		
}
function hide_laden()
{
	$("#infolayer").hide();
	closeLoading();		
	window.scrollTo(0, 0);
}
function closeLoading()
{
	$("#laden").hide();
	$("#laden_hintergrund").hide();
}

function weiter_ende()
{
	if(($("#bookingButton").length && !$("#bookingButton:hidden").length) & ($("#inquiryButton").length && !$("#inquiryButton:hidden").length))
	{
		alert(txt_weiter_ende);	
	}
	else if(($("#bookingButton").length && !$("#bookingButton:hidden").length))
	{
		alert(txt_weiter_ende_buchen);
	}
	else
	{
		alert(txt_weiter_ende_anfrage);
	}
}

function check_formular(felder)
{
	
	for(i = 0; i < felder.length; i++)
	{
		// Einlesen der Parameter, je nach Anzahl Standardwerte verwenden.
		temp = felder[i].split("$");
		if(temp.length == 1)
		{
			feldname = temp[0];
			feldbezeichnung = temp[0];
			datenformat = "text";
		}
		if(temp.length == 2)
		{
			feldname = temp[0];
			feldbezeichnung = temp[1];
			datenformat = "text";
		}	
		if(temp.length >= 3)
		{
			feldname = temp[0];
			feldbezeichnung = temp[1];
			datenformat = temp[2];
		}
		if(feldname=='rt_radio')
		{	
			a_rt_checked = new Array($("[name='"+feldname+"']").length);
			
			// Fuer jedes Zimmerergebnis (bei Mehrfachabfrage) 
			// Pruefen

			$("[name='"+feldname+"']").each(function (j) 
			{
				a_rt_checked[j] = false;
				if(document.getElementsByName('rt_'+(j+1)).length)
				{
					for (var e=0; e<document.getElementsByName('rt_'+(j+1)).length; e++)  
					{
						if (document.getElementsByName('rt_'+(j+1))[e].checked)			  
							a_rt_checked[j] = true;
					}
				}				 		
			});
			
			for (var a = 0; a < a_rt_checked.length; a++)
			{	
				if(!a_rt_checked[a])
				{
					aktiv_formular = "zimmerabfrageergebnis";
					alert(txt_fehler_keinzimmer + "\n" + txt_Zimmer + ":" + (a+1));
					return false;
				}
			}
		}
						
		// Ueberpruefen ob das Formularfeld ueberhaupt vorhanden ist.. sonst uebergehen
		if(document.getElementById(feldname) != null)
		{
			
			// Pruefen ob es das Eingabefeld mit gleichem Namen mehrmals gibt 
			// (Zum Beispiel Zimmerabfrage Anzahl Erwachsene)
			
			if($("[name='"+feldname+"']").length>1)
			{
				ok = true;
				$("[name='"+feldname+"']").each(function () 
				{
					if(check_formular_field($(this).get(0),datenformat,feldbezeichnung) == false)
						ok = false;					
				})
				if(ok != true)
				{
					return false;
				}
			}
			else
				if(check_formular_field(document.getElementById(feldname),datenformat,feldbezeichnung) == false)
					return false;
		}
	}
	return true;
}
function check_formular_field(oField,datenformat,feldbezeichnung)
{
	// Eingabefelder Rot markieren, wenn sie falsch sind: (Doppelte zuweisung vermeiden)	
	
	klasse = oField.className;
	oField.className = klasse.replace(/ eingabefehler/, "");
	oField.className += " eingabefehler";
	var ok = false;
	switch(datenformat){
	case "datum":
		Ergebnis = oField.value.match(/\d\d\.\d\d\.\d\d\d\d/);
		if(Ergebnis == null)
			alert(txt_fehler_datum_pre + " '" + feldbezeichnung + "' " + txt_fehler_datum_post);
		else
		{
			if(isDate(oField.value))
				ok = true;
		}
	break;

	case "nummerChildren":
		{					
			Ergebnis = oField.value.match(/\d+/);
			
			if(isNaN(oField.value))
				alert(txt_fehler_nummer_pre + " '" + feldbezeichnung + "' " + txt_fehler_nummer_post);
			else
			{
				ok = true;
			}				
		}
	break;
	
	case "nummer": 
		// wenn nichts eingegeben wurde auf 0 setzen.
		
		if(oField.value.length == 0)
			oField.value = 0;
						
		Ergebnis = oField.value.match(/\d+/);
		
		if(isNaN(oField.value))
			alert(txt_fehler_nummer_pre + " '" + feldbezeichnung + "' " + txt_fehler_nummer_post);
		else
			ok = true;				
	break;
	
	case "email":
		Ergebnis = oField.value.match(/\s/);
		if(Ergebnis == null)
		{
			Ergebnis = oField.value.match(/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/);
			if(Ergebnis == null)
			{
				alert(txt_fehler_email_pre + " '" + feldbezeichnung + "' " + txt_fehler_email_post);
			}
			else
			{
				ok = true;				
			}
		}
		else
		{
			alert(txt_fehler_leerzeichen_pre + " '" + feldbezeichnung + "'" + txt_fehler_leerzeichen_post);
		}									
	break;

	case "checkbox":
		if(oField.checked == true)
			ok = true;
		else
			alert(txt_fehler_checkbox_pre + " '" + feldbezeichnung + "' " + txt_fehler_checkbox_post);
	break;
	
	case "auswahl":
		if(oField.value == "auswahl")
			alert(txt_fehler_auswahl_pre + " '" + feldbezeichnung + "' " + txt_fehler_auswahl_post);	
		else
			ok = true;
	break;
	
	default:
	case "text":
		if(oField.value.length > 0)			
			ok = true;	
		else
			alert(txt_fehler_text_pre +" '" + feldbezeichnung + "' " + txt_fehler_text_post);
	}
	
	// Wenn ein Fehler aufgetreten ist:
	if(ok != true)
	{
		return false;
	}
	else
	{
		// Wenn kein Fehler die Markierung wieder aufheben.
		klasse = oField.className;
		oField.className = klasse.replace(/ eingabefehler/, "");
		return true;
	}	
}
function checkMemberLogin()
{
	if(document.getElementById("memberguest").value != '')
	{
		// Nur wenn es bereits eine eindeutig Auswahl des Betriebes gibt 
		if(getAccountId()!=0)
		{
			var url = '?todo=login&accountId='+ getAccountId() + '&PHPSESSID=' + document.getElementById("PHPSESSID").value;
			var target = "#loginMessage";
			
			$(target).html('<img src="/kalkulator/img/loader.gif" alt="' + txt_info_laden + '" />');
			
			var pars = {
					member: document.getElementById("memberguest").value,
					password: document.getElementById("password").value 
				};
		
			$.post(url, pars, function(data) {
				$(target).html(data);
				getMemberValues();
			});
		}
		else
		{
			alert(txt_fehler_keinzimmer);
			return false;		
		}		
	}
}
function getMemberValues()
{
	if(document.getElementById("account"))
		if(document.getElementById("account").value != '')
		{
			document.getElementById("salutation").value = document.getElementById("memberSalutation").value;
			document.getElementById("firstname").value = document.getElementById("memberFirstName").value;
			document.getElementById("name").value = document.getElementById("memberName").value;
			document.getElementById("street1").value = document.getElementById("memberStreet1").value;
			document.getElementById("zip").value = document.getElementById("memberZIP").value;
			document.getElementById("city").value = document.getElementById("memberCity").value;
			document.getElementById("phone").value = document.getElementById("memberPhone").value;
			document.getElementById("fax").value = document.getElementById("memberFax").value;
			document.getElementById("email").value = document.getElementById("memberEmail").value;
			
			for(i=0; i < document.getElementById("country").length; i++)
			{
				if(document.getElementById("country").options[i].value == document.getElementById("memberCountry").value)
				{
					document.getElementById("country").options[i].selected = true;
				}				
			}
			if ( $("#country").hasClass("readonly") )
			{
				var sCountry = $("#country option:selected").html();
				$("#country")
					.children()
					.remove()
					.end()
					.append('<option value="'+document.getElementById("memberCountry").value+'">'+sCountry+'</option>');
			}					
		}	
}
// Additional for children

function refresh_guests()
{
	target = "guests";
	var iAccountId = getAccountId();
	var url = '?todo=guests&accountId='+ iAccountId + '&PHPSESSID=' + document.getElementById("PHPSESSID").value;

	$(target).html('');
	ownNameSet = false;

	$("[name='"+ target +"']").each(function (g) 
	{
		// Nur Laden wenn es die Eingabefelder noch nicht gibt
		
		var jsonPars = {
				number_children: Number($("[name='children']").get(g).value),
				adult: 		 	 Number($("[name='adult']").get(g).value),
				number: 		 Number(document.getElementById("number").value),
				roomNr: 		 Number(g+1)
			};

		$(this).load(url, jsonPars, function()
		{
			// Load familytypes from hotel
			
			var sTarget = 'familytypes';
			var urlFamilyType = '?todo=' + sTarget + '&accountId='+ iAccountId + '&PHPSESSID=' + document.getElementById("PHPSESSID").value;

			// Display Options for Children or Adults are configured in stylesheet
			
			$(this).find("select."+sTarget).load(urlFamilyType);
			
			// Load First Bed with own Name
			
			if($("input#account").length && !ownNameSet && (Number(document.getElementById("number").value)>1) && ($("[name='adult']").length > 1))
			{
				$(this).find("input#adult_firstname1").val(document.getElementById("firstname").value).attr("readonly","readonly").addClass("readonly");
				$(this).find("input#adult_lastname1").val(document.getElementById("name").value).attr("readonly","readonly").addClass("readonly");
				$(this).find("input#adult_birthday1").val($("#memberBirthday").val()).attr("readonly","readonly").addClass("readonly");				
				ownNameSet = true;
				oldRoomPlace = g;
				$("#stayRoom").val(g+1);
			}						
		});	
	});
}
function changeRoom()
{
	var tempRoomNr		= $("#stayRoom").val()-1;	// New Room Number
	
	if($("[name='guests']:eq("+ tempRoomNr + ") input#adult_firstname1").length)
	{
		// Get Old Destination Person Value
		
		var tempFirstName 	= $("[name='guests']:eq("+ tempRoomNr + ") input#adult_firstname1").val();
		var tempLastName 	= $("[name='guests']:eq("+ tempRoomNr + ") input#adult_lastname1").val();
		var tempBirtday 	= $("[name='guests']:eq("+ tempRoomNr + ") input#adult_birthday1").val();

		// Store New Member Values
		
		$("[name='guests']:eq("+ tempRoomNr + ") input#adult_firstname1").val($("[name='guests']:eq("+ oldRoomPlace + ") input#adult_firstname1").val()).attr("readonly","readonly").addClass("readonly");
		$("[name='guests']:eq("+ tempRoomNr + ") input#adult_lastname1").val($("[name='guests']:eq("+ oldRoomPlace + ") input#adult_lastname1").val()).attr("readonly","readonly").addClass("readonly");;
		$("[name='guests']:eq("+ tempRoomNr + ") input#adult_birthday1").val($("[name='guests']:eq("+ oldRoomPlace + ") input#adult_birthday1").val()).attr("readonly","readonly").addClass("readonly");;
		
		// Store Old Values
	
		$("[name='guests']:eq("+ oldRoomPlace + ") input#adult_firstname1").val(tempFirstName).removeAttr("readonly").removeClass("readonly");
		$("[name='guests']:eq("+ oldRoomPlace + ") input#adult_lastname1").val(tempLastName).removeAttr("readonly").removeClass("readonly");
		$("[name='guests']:eq("+ oldRoomPlace + ") input#adult_birthday1").val(tempBirtday).removeAttr("readonly").removeClass("readonly");	
		
		oldRoomPlace = tempRoomNr;
	}
	else
	{
		$("#stayRoom").val(1);
	}
}
function initField(oField)
{
	if(oField.value == 'dd.mm.yyyy')
		oField.value = '';
}
function checkChildrenArray()
{
	aFieldString = new Array();
	for(i=1;i<20;i++)
	{
		if(document.getElementById('children_firstname'+i))
		{
			// check 
			
			aFieldString[aFieldString.length] = 'children_firstname'+i+'$Vorname'+i+'$text';
			aFieldString[aFieldString.length] = 'children_lastname'+i+'$Nachname'+i+'$text';
			aFieldString[aFieldString.length] = 'children_birthday'+i+'$Geburtsdatum'+i+'$datum';
		}
		else
			break;
	}
	return aFieldString;
}
function checkLoginParameter()
{
	if(document.getElementById("memberguest").value != '')
	{
		if(document.getElementById("account"))
		{
			if(document.getElementById("account").value == '')
			{
				alert('Login Daten nicht korrekt oder Fehler beim Login!');
				return false;
			}
		}
		else
		{
			alert('Login Daten nicht korrekt oder Fehler beim Login!');
			return false;
		}
	}
	return true;
}
/*
/* Functions for Additional Informations									
/*                                         */

function refresh_packages(aktives_paket)
{
	target = "zusatzangebote";
	var url = '?todo=packages&accountId='+ getAccountId()+ '&PHPSESSID=' + document.getElementById("PHPSESSID").value;
	
	// Abfrage ob ein Paketfilter vorhanden ist
	
	if(document.getElementById(aktives_paket+"_splitpackage") != null)
		url += "&splitpackage="+document.getElementById(aktives_paket+"_splitpackage").value;

	// Ist ein Profil angegeben
	if(document.getElementById("sProfile"))		
		url += "&sProfile="+document.getElementById("sProfile").value;
		
	document.getElementById(target).innerHTML = "<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_wird_geladen + "' /><br><br>" + txt_lade_angebote_aus_server + "<br><br></center>";
		
	var jsonPars = {
			arrdate: document.getElementById("arrdate").value,
			depdate: document.getElementById("depdate").value
		};
		
	$("#"+target).load(url, jsonPars);
}
function refresh_features()
{
	target = "zimmerwuensche";
			
	// document.getElementById(target).innerHTML = "<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_wird_geladen + "' /><br><br>" + txt_lade_angebote_aus_server + "<br><br></center>";

	$("[name='"+ target +"']").each(function (z) 
	{

		var url = '?todo=features&accountId='+ getAccountId()+ '&PHPSESSID=' + document.getElementById("PHPSESSID").value;
		
		// Ist ein Benutzer angemeldet ?
			
		if(document.getElementById("account"))
			url += '&account='+document.getElementById("account").value; 
		
		// Ist ein Profil angegeben
		if(document.getElementById("sProfile"))		
			url += "&sProfile="+document.getElementById("sProfile").value;

		// Zimmer Nummer mitgeben
		url += "&roomNr="+(z+1);

		// Loading Grafik setzen
	
		var loadMsg = "<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_wird_geladen + "' /><br><br>" + txt_lade_angebote_aus_server + "<br><br></center>";
		if($(".section span.roomnr").length)
		{
			// Zimmermehrfachabfrage aktiviert
			$(this).html("<table width='100%' cellspacing='0' cellpadding='0'><tr><td class='links linie background3'><b>" + txt_Zimmer + " <span class='roomnr'>" +(z+1) +"</span> :</b></td></tr></table>" +
			loadMsg);
		}
		else
		{
			// Keine Mehrfachabfrage
			$(this).html(loadMsg);
		}
	
		$(this).load(url);
	});
}
function refresh_module(sModule,iAccountId,fPar)
{
	if(document.getElementById(sModule))
	{
		target = sModule;
		var url = '?todo=' + sModule + '&accountId='+ iAccountId + '&PHPSESSID=' + document.getElementById("PHPSESSID").value;
	
		// Ist ein Profil angegeben
		if(document.getElementById("sProfile"))		
			url += "&sProfile="+document.getElementById("sProfile").value;

		document.getElementById(target).innerHTML = "<center><br><img src='/kalkulator/img/ladegrafik.gif' alt='" + txt_wird_geladen + "' /><br><br>" + txt_wird_geladen + "<br><br></center>";
		
		if(arguments.length==3)
			$("#"+target).load(url,{},fPar);
		else
			$("#"+target).load(url);
	}
}

/* eof */

function account_auswaehlen(aktives_paket,iAccountId)
{
	// Fix Buchen Button in der rechten Seite ein oder ausblenden
	
	if(document.getElementById("fixBooking_"+iAccountId) != null)
	{
		$("img#bookingButton").show();
	}
	else
	{
		$("img#bookingButton").hide();
	}	
	
	// Wenn Alle Konten ausgewaehlt sind dann Kontoinfos bei der Auswahl laden
	// Ansonsten sind diese ja bereits beim Seitenaufruf geladen
	
	if((document.getElementById("packageAccountId").value != iAccountId) &&
	    document.getElementById("accountId").value == 0) 
	{
		loadAccountValues(iAccountId);
	}
	// Zusatzangebote laden
		
	request_packageinfo(aktives_paket,iAccountId);
}
function request_packageinfo(aktives_paket,iAccountId)
{
	// Wenn ein neues Package aus einem anderen Account gewuehlt wurde
	// oder wenn es eine MPE ist
	if((document.getElementById("packageAccountId").value != iAccountId)
		||
	    (document.getElementById("mpehotel") != null)
	    ||
	    aktives_paket == false)
	{
		// Wenn die Konto ID gleich ist brauchen in der MPE
		// die Zimnmerfeatures nicht mehr neu geladen werden
		// außer es hat sich in der Abfrage etwas geaendert
		
		if((document.getElementById("packageAccountId").value != iAccountId)
		||parChanged  
		)
		{
			refresh_features();
		}
	
		// Nur wenn es ein Angebot eines anderen Betriebes ist dann neu laden
		document.getElementById("packageAccountId").value = iAccountId;
		clear_packagepreis();
		refresh_packages(aktives_paket);
				
		// Nur wenn in der Abfrage etwas geaendert wurde 
		// Eingabe fuer Mitreisende und Kinder neu laden
		
		if(parChanged)
			refresh_guests();
	}
}
function getAccountId()
{
	if(document.getElementById("packageAccountId").value > 0)
	{
		return document.getElementById("packageAccountId").value
	}
	else
		return document.getElementById("accountId").value;
}
function initAccountValues()
{
	if(getAccountId()>0)
	{
		loadAccountValues(getAccountId())
	}
}
function loadAccountValues(iAccountId)
{
	refresh_module('countrycodes',iAccountId, function() { getMemberValues() });
	refresh_module('pickupcodes',iAccountId);		
	refresh_module('payment',iAccountId);
	refresh_module('hearreasons',iAccountId);
	refresh_module('comereasons',iAccountId);				
}
function loadSearch()
{
	if(document.getElementById("searchdetails") == null)
		refresh_module('search',getAccountId()); 
	section_show('search');
	section_hide('detaillink');
}
function closeSearch()
{
	section_hide('search');
	section_show('detaillink');
}
function changeMPE(mpeId)
{
	if(mpeId == '0')
	{
		if(sectionIsHidden('search'))
				loadSearch();
	}
	else
	{
		if(sectionIsVisible('search'))
			closeSearch()
	}
		
}
function setRoomParameterPanel()
{
	var iRoomDiff = $('#number').val() - $('.roomParameter').length;

	if(iRoomDiff>0)
	{
		var iLastNr = $('div.roomParameter:last span').text()
		for(var i=1;i<=iRoomDiff;i++)
		{
			// Abfragepanel erweitern
			
			$('div.roomParameter:first').clone(true).insertAfter('div.roomParameter:last');
			$('div.roomParameter:last span').text(++iLastNr);
			$('select[name="adult"]:last').val('2');
			
			// Ergebnisliste erweitern
			
			$('div[name="zimmerabfrageergebnis"]:last').after('<div name="zimmerabfrageergebnis"></div>');
			$('div[name="zimmerwuensche"]:last').after('<div name="zimmerwuensche"></div>');
			$('div[name="guests"]:last').after('<div name="guests"></div>');

			// Infopanel Navi erweitern

			if(($('#infoNavi div:last-child div').length%6)==0)
			{
				// Eine neue Infoseite hinzfuegen
				
				$('#infoNavi > div:last-child').after('<div class="info_page"></div>');
				$('#infoNavi > div:last-child').attr('id','info_page'+ ($('#infoNavi > div').length-1));
				$('#infoNavi > div:first div:first').clone(true).appendTo('#infoNavi > div:last-child');
			}
			else
				$('#infoNavi > div:first div:first').clone(true).insertAfter('#infoNavi > div:last-child div:last');
			
			$('#infoNavi > div:last-child div:last').text(txt_Zimmer + " " + iLastNr + " ");
			$('#infoNavi > div:last-child div:last').attr('id','info_header'+(iLastNr-1));
			$('#infoNavi > div:last-child div:last').attr('class','info_header');
			
			// Alt
			//$('#infoNavi span:first').clone(true).insertAfter('#infoNavi span:last');
			//$('#infoNavi span:last').text(txt_Zimmer + " " + iLastNr + " ");
			
			// Infopanel Paketname und Beschreibung erweitern
			
			$('#infoNavi > div:first div[name="roomInfo"]:first').clone(true).insertAfter('#infoNavi > div:last-child div:last');
			
			$('#infoNavi > div:last-child div:last').text(txt_kein_paket);
			$('#infoNavi > div:last-child div:last').attr('id','info_detail'+(iLastNr-1)).attr('class','info_detail');
			$('#infoNavi > div:last-child div:last').hide();
			
			// Alt
			//$('div#info_paketname div[name="roomInfo"]:last').after('<div name="roomInfo">' + txt_kein_paket + '</div>');
			//$('div#info_paketname div[name="roomInfo"]:last').hide();
			
			// Eigene Zimmerauswahl Optionbox erweitern
			
			$('#stayRoom').append($("<option></option>").attr("value",iLastNr).text(txt_Zimmer + " " + iLastNr));
		}			
	}
	if(iRoomDiff<0)
	{
		iRoomDiff = iRoomDiff*-1;
		for(var i=1;i<=iRoomDiff;i++)
		{
			$('div.roomParameter:last').remove();
			$('div[name="zimmerabfrageergebnis"]:last').remove();
			$('div[name="zimmerwuensche"]:last').remove();
			$('div[name="guests"]:last').remove();

			$('#infoNavi > div:last-child div:last').remove();
			$('#infoNavi > div:last-child div:last').remove();

			// Wenn Letzte Seite leer ist dann auch entfernen
			
			if($('#infoNavi > div:last-child:empty').length)
			{
				// Letzte Infoseite entfernen
				
				$('#infoNavi > div:last-child:empty').remove();
				
				// Immer erste seite aktivieren
				
				move(1);				
			}
			
			// Alt
			//$('#infoNavi span:last').remove();
			//$('div#info_paketname div[name="roomInfo"]:last').remove();

			$('#stayRoom option:last').remove();
		}
		
		// ? Pruefen
		
		if($('#infoNavi > div').length>1)
			$('#infoNavi > div:last-child div:first').attr('class','info_headerA');

		$('#infoNavi > div:last-child div.info_detailsA').hide();
		$('#infoNavi > div:last-child div.info_detailsA').attr('class','info_details');	
		$('#infoNavi > div:last-child div.info_details:first').show();			
	}

	// Naviblock zum Blaettern aktualisieren
		
	chtxt();

	if($('#number').val()>1)
	{
		$("#changeRoomPanel").show();
	}
	else
	{
		$("#stayRoom").val(1);
		$("#changeRoomPanel").hide();
		oldRoomPlace = 0;
	}
}
function forwardBooking(sActionLink)
{
	document.getElementById("forwardBookingForm").action = sActionLink;
	document.forwardBookingForm.submit();
}
function weiter_zusatz(iAccountId)
{
	if(document.getElementById("hidden_rt_radio").value &&
	   (document.getElementById("packageAccountId").value == iAccountId))
	{
		pageTracker._trackPageview('/funnel_G1/step3.html'); 
		section_hide('zeitraumauswahl'); 
		section_hide('zimmerabfrageergebnis'); 
		section_show('zusatzangebote');
	}
	else
	{
		alert(txt_fehler_keinzimmer);
	}
}
$(document).ready(function() {
	initAccountValues();
	$("#changeRoomPanel").hide();
	if(document.getElementById("mpehotel") != null)
		if($('#mpehotel').val()==0)
			loadSearch();
	$("#mpehotel").change(function(){
		parChanged = true;
	});
	$("#arrdate,#depdate,#number,#adult,#age1,#age2,#age3,#age4").change(function(){
		parChanged = true;
	});	
});
