
// Browserweiche
var is = {};
	is.ver = navigator.appVersion.substring(0,1);
	if (navigator.appName.toLowerCase().indexOf("microsoft") >= 0) is.ie = true;
	if (navigator.appName == "Netscape") is.ns = true;
	if (navigator.appName.toLowerCase().indexOf("opera") >= 0) is.ns = true;
// ---------------------------------------
	
// Währung festlegen
	var Currency 	= ' EUR';
// ---------------------------------------

	
// Resetfunktion für das Formular
function clearPrice()
{
	setContent('id','depPreisGesamt', null, 0 + Currency);
	setContent('id','depfareFree', null, 0);

	setContent('id','dstPreisGesamt', null, 0 + Currency);
	setContent('id','dstfareFree', null, 0);

	setContent('id','farePreis', null, 0 + Currency);
	setContent('id','fareChild', null, 0 + Currency);
	setContent('id','fareInfant', null, 0 + Currency);
}
// ---------------------------------------

// da alle Parameter in den "value" Werten der HTML-Tags enthalten sind,
// kann hier über Split alles berechnet werden
// als Ergebnis liefert diese Funktion ein Object
function SumElemente ()
{
	var depValue		= '';	var dstValue 		= '';
	var depfareFree		= 0.00;	var dstfareFree		= 0.00;
	var depfareChild	= 0.00;	var dstfareChild	= 0.00;
	var depfareInfant	= 0.00;	var dstfareInfant	= 0.00;
	var depPreisGesamt 	= 0.00;	var dstPreisGesamt 	= 0.00;
	
	var result = new Object();
		result['depfareFree'] 		= 0.00;
		result['depfareChild']		= 0.00;
		result['depfareInfant'] 	= 0.00;
		result['depPreisGesamt'] 	= 0.00;
		result['dstfareFree'] 		= 0.00;
		result['dstfareChild'] 		= 0.00;
		result['dstfareInfant'] 	= 0.00;
		result['dstPreisGesamt'] 	= 0.00;

	var anzElemente = document.flugliste.elements.length;

	for (var i=0; i < anzElemente; i++) {

		if (document.flugliste.elements[i].checked == true && document.flugliste.elements[i].name == 'hinflug') {

			depValue = document.flugliste.elements[i].value.split('~');

			if (depValue) {
				result['depfareFree'] 		= depValue[12];
				result['depfareChild']		= parseFloat(depValue[10]);
				result['depfareInfant'] 	= parseFloat(depValue[11]);
				result['depPreisGesamt'] 	= parseFloat(depValue[8]);
			}
		}
		if (document.flugliste.elements[i].checked == true && document.flugliste.elements[i].name == 'rueckflug') {

			dstValue = document.flugliste.elements[i].value.split('~');

			if (dstValue) {
				result['dstfareFree'] 		= dstValue[12];
				result['dstfareChild'] 		= parseFloat(dstValue[10]);
				result['dstfareInfant'] 	= parseFloat(dstValue[11]);
				result['dstPreisGesamt'] 	= parseFloat(dstValue[8]);
			}
		}
	} 

	return result;
}
// Berechnung des aktuellen Gesamtpreises
// Werte werden aus den Value eigenschaften der Input Button per Split extrahiert
function Calc(val) {
	// holen wir uns die aktuellen Werte
	var result = new Object();
	result = SumElemente();
	
	setContent('id','depPreisGesamt', null, vCurrency(Math.round(result['depPreisGesamt'] * 100) / 100) + Currency);
	setContent('id','depfareFree', null, result['depfareFree'] );

	setContent('id','dstPreisGesamt', null, vCurrency(Math.round(result['dstPreisGesamt'] * 100) / 100) + Currency);
	setContent('id','dstfareFree', null, result['dstfareFree']);

	setContent('id','farePreis', null, vCurrency(result['depPreisGesamt'] + result['dstPreisGesamt'] + 10) + Currency);
	setContent('id','fareChild', null, vCurrency(result['depfareChild'] + result['dstfareChild'] + 10) + Currency);
	setContent('id','fareInfant', null, vCurrency(result['depfareInfant'] + result['dstfareInfant']) + Currency);

}
// ---------------------------------------
	
// Formular mit Variablen füllen und abschicken
function submitForm() {
 
// holen wir uns die aktuellen Werte
	var result = new Object(); var errstring = ''; var error = false;
	var agbcheck = document.getElementById('agbcheck').checked;
	result = SumElemente();
 
  document.flugliste.Einzelpreis_Erwachsene.value = vCurrency(result['depPreisGesamt'] + result['dstPreisGesamt'] + 10) + Currency; 
  document.flugliste.Einzelpreis_Kinder.value = vCurrency(result['depfareChild'] + result['dstfareChild'] + 10) + Currency; 
  document.flugliste.Einzelpreis_Babys.value = vCurrency(result['depfareInfant'] + result['dstfareInfant']) + Currency; 

	if (result['depPreisGesamt']+result['dstPreisGesamt'] == 0) {
		errstring += '\nEs wurde kein Flug ausgewählt';
		error = true;
	}     
 
	if (!agbcheck) {
		errstring += '\nAGB Bestätigung fehlt';
		error = true;
	}     
 
	if (document.flugliste.Name1.value == '') {
		errstring += '\nSie müssen mindestens einen Namen angeben';
		error = true;
	}
	
	if (document.flugliste.Telefon.value == '' && document.flugliste.Email.value == '') {
		errstring += '\nSie müssen mindestens eine Telefonnumer, oder Email-Adresse angeben';
		error = true;
	}
 
	if(error == true) {
		alert('FEHLENDE ANGABEN\n' + errstring);
	} else {
		document.flugliste.submit();
	}
 
}
// ---------------------------------------

// Lettercode und Flugdatum übergeben, damit die Ergebnisreduktion klappt
function submitDepReduce(lettercode) {
	document.route.reduce_dep.value = lettercode; 
	dep_cal.sendForm('myform','depdate');
	dst_cal.sendForm('myform','dstdate');
	document.route.submit();

}
// ---------------------------------------

// Lettercode und Flugdatum übergeben, damit die Ergebnisreduktion klappt
function submitDstReduce(lettercode) {

	document.route.reduce_dst.value = lettercode; 
	dep_cal.sendForm('myform','depdate');
	dst_cal.sendForm('myform','dstdate');
	document.route.submit();

}
// ---------------------------------------

// ####### markiere die gewählten Tabellenzeilen #######

// die checkid ist zusammengesetzt aus Gruppenname(hinflug/rueckflug) + radio + (M/Y) + Nummer
// Beispiel: hinflugradioM1, hinflugradioY1, hinflugradioM2, ...
// und wird in den Radiobuttons über die so gesetzte id identifiziert

// die rowid identifiziert die id der Tabellenzeile (<tr id="rowname">) wobei rowname zusammengesetzt
// wird aus Gruppenname(hinflug/rueckflug) + Nummmer
// Beispiel: hinflug1, hinflug2, hinflug3, ...

// count gibt die aktuelle Anzahl an Tabellenzeilen in der jeweiligen Tabell mit an und wird vorher durch
// das PHP-Script in die Radiobutton als Parameter mit eingeschrieben, wenn die Tabelle fertig erzeugt wurde

function rowclickedradio(checkid, rowid, count)
{
	// delay ist notwendig, weil der Eventhandler ausgelöst wird, bevor die Checkbox umgeschaltet wird...
	window.setTimeout("colorizeRowRadio('"+checkid+"','"+rowid+"','" + count + "')",5);
	return true;
}
// ---------------------------------------

// CSS id umbenennen
function colorizeRowRadio(idcheckcommon, idrowcommon, count)
{
	for (i = 1; i <= count; i++)
	{
		idrow = "" + idrowcommon + i;
		idcheck = "" + idcheckcommon + i;
		document.getElementById(idrow).className = ((document.getElementById(idcheck).checked) ? "checked" : "unchecked");
	}
}
// ---------------------------------------

// zuvor gesetzte Tabellenzeilen wieder zurücksetzen
function clearRows() {
	// einmal für die Hinflüge
	var tabledep = document.getElementById('departure'); 
	var rowsdep = tabledep.getElementsByTagName('tr'); 
	var deplength = rowsdep.length;
	for(i = 0; i < deplength; i++)
	{
	  	rowsdep[i].className = 'unchecked';
	}

	// und einmal für die Rückflüge
	var tabledst = document.getElementById('destination'); 
	var rowsdst = tabledst.getElementsByTagName('tr'); 
	var dstlength = rowsdst.length;
	for(i = 0; i < dstlength; i++)
	{
	  	rowsdst[i].className = 'unchecked';
	}
}
// ---------------------------------------
function vCurrency(vValue) {
   aDigits = vValue.toFixed(2).split(".");
   aDigits[0] = aDigits[0].split("").reverse().join("").replace(/(\d{3})(?=\d)/g, "$1.").split("").reverse().join("");
   return aDigits.join(",");
}
// ---------------------------------------