select_children_changed = function(ident) {
	var element		= document.getElementById(ident);
	var container	= document.getElementById('multisearch_form_age_of_children');
	var tempElement;
	
	for(var i=1; i<=4; i++) {
		tempElement = document.getElementById('id_age_child'+i);
		tempElement.style.visibility	= 'hidden';
		tempElement.style.display		= 'none';
	}
	container.style.visibility	= 'hidden';
	container.style.display		= 'none';
	
	if(element.value > 0 && element.value <= 4) {
		for(var i=1; i<=4; i++) {
			if(document.getElementById('id_age_child'+i)) {
				tempElement = document.getElementById('id_age_child'+i);
				if(i <= element.value) {
					tempElement.style.visibility	= 'visible';
					tempElement.style.display		= 'inline';
				} else {
					tempElement.style.visibility	= 'hidden';
					tempElement.style.display		= 'none';
				}
			}
		}
		container.style.visibility	= 'visible';
		container.style.display		= 'block';
	}
}


msForm_checkField = function(fieldname) {
	var element = document.getElementById(fieldname);
	var invalid_values = new Array();
	
	if(!arguments[1]) {
		invalid_values[invalid_values.length++] = '';	
	} else {
		for(var i=1; i<arguments.length; i++) {
			if((arguments[i] == 'VALID_DATE') || (arguments[i] == 'VALID_DATETODAY')) {
				// Datumsvergleiche
				var d = dateFromString(element.value,0);
				if(!d) {
					invalid_values[invalid_values.length++] = element.value;
				} else {
					var now = new Date();
					if ( (d.getTime() < now.getTime()-85000000) || (!(arguments[i] == 'VALID_DATETODAY') && (d.getTime() < now.getTime())) ) {		// Für Hotels ist eine gleichtägie Buchung föglich, für alle anderen Sucharten nicht.
						invalid_values[invalid_values.length++] = element.value;
					}
				}
			} else {
				invalid_values[invalid_values.length++] = arguments[i];	
			}
		}
	}
	
	
	for(var i=0; i<invalid_values.length; i++) {
		if(element.value == invalid_values[i]) {
			if(fieldname == 'origin') {
				element = document.getElementById('originAJAX');
			} else if(fieldname == 'destination') {
				element = document.getElementById('destinationAJAX');	
			}
			element.style.backgroundColor = '#ff7d7d';
			return false;	
		}	
	}
	
	element.style.backgroundColor = '#ffffff';
	return true;
}

msForm_submit = function(contentIdent) {
	var returnVar = true;
	switch (contentIdent) {
		case 1:
			if(!msForm_checkField('originAJAX'))									{ document.getElementById('originAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(!msForm_checkField('origin'))										{ document.getElementById('originAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(document.getElementById('originOK').value != '1') 					{ document.getElementById('originAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(!msForm_checkField('destinationAJAX'))								{ document.getElementById('destinationAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(!msForm_checkField('destination')) 									{ document.getElementById('destinationAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(document.getElementById('destinationOK').value != '1') 				{ document.getElementById('destinationAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			
			if(document.getElementById('multisearch1_form_radio1').checked && document.getElementById('destination').value == document.getElementById('origin').value) {
				document.getElementById('destinationAJAX').style.backgroundColor = '#ff7d7d';
				returnVar = false;
			}
			
			if(!msForm_checkField('multisearch_content_input_outward_flight_date','VALID_DATE'))	{ returnVar = false; }
			
			if(document.getElementById('multisearch1_form_radio1').checked && msForm_checkField('multisearch_content_input_return_flight_date','VALID_DATE') != true)	{ returnVar = false; }
			
			if(document.getElementById('multisearch1_form_radio1').checked) {
				var d1 = dateFromString(document.getElementById('multisearch_content_input_outward_flight_date').value,0);
				var d2 = dateFromString(document.getElementById('multisearch_content_input_return_flight_date').value,0);
				
				if(d1 && d2) {
					if(d2.getTime() < d1.getTime()) {
						returnVar = false;
						document.getElementById('multisearch_content_input_return_flight_date').style.backgroundColor = '#ff7d7d';
					}
				}
			}
			break;
		case 2:
			if(!msForm_checkField('multisearch_content_input_destination'))						{ returnVar = false; }
			if(!msForm_checkField('multisearch_content_input_arrival_on','VALID_DATETODAY'))			{ returnVar = false; }
			if(!msForm_checkField('multisearch_content_input_departure_on','VALID_DATE'))		{ returnVar = false; }
			
			
			var d1 = dateFromString(document.getElementById('multisearch_content_input_arrival_on').value,0);
			var d2 = dateFromString(document.getElementById('multisearch_content_input_departure_on').value,0);
			
			if(d1 && d2) {
				if(d2.getTime() <= d1.getTime()) {
					returnVar = false;
					document.getElementById('multisearch_content_input_departure_on').style.backgroundColor = '#ff7d7d';
				}
			}
			
			break;
		case 3:
			if(!msForm_checkField('originAJAX'))													{ returnVar = false; }
			if(document.getElementById('originOK').value != '1') 					{ document.getElementById('originAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			if(!msForm_checkField('multisearch_content_input_date_rehire','VALID_DATE'))			{ returnVar = false; }
			if(!msForm_checkField('multisearch_content_input_date_return','VALID_DATE'))			{ returnVar = false; }
			if(!msForm_checkField('destinationAJAX'))												{ returnVar = false; }
			if(document.getElementById('destinationOK').value != '1') 				{ document.getElementById('destinationAJAX').style.backgroundColor = '#ff7d7d'; returnVar = false; }
			
			//if(document.getElementById('destination').value == document.getElementById('origin').value) {
			//	document.getElementById('destination').style.backgroundColor = '#ff7d7d';
			//	returnVar = false;
			//}
			
			var d1 = dateFromString(document.getElementById('multisearch_content_input_date_rehire').value,0);
			var d2 = dateFromString(document.getElementById('multisearch_content_input_date_return').value,0);
			
			if(d1 && d2) {
				if(d2.getTime() <= d1.getTime()) {
					returnVar = false;
					document.getElementById('multisearch_content_input_date_return').style.backgroundColor = '#ff7d7d';
				}
			}
			
			break;
		case 4:
			if(!msForm_checkField('multisearch_content_input_outward_flight_date','VALID_DATE'))	{ returnVar = false; }
			if(!msForm_checkField('multisearch_content_input_return_flight_date','VALID_DATE'))		{ returnVar = false; }
			
			var d1 = dateFromString(document.getElementById('multisearch_content_input_outward_flight_date').value,0);
			var d2 = dateFromString(document.getElementById('multisearch_content_input_return_flight_date').value,0);
			
			if(d1 && d2) {
				if(d2.getTime() <= d1.getTime()) {
					returnVar = false;
					document.getElementById('multisearch_content_input_return_flight_date').style.backgroundColor = '#ff7d7d';
				}
			}
			
			break;
		default:
			return false;
	}
	
	if(returnVar) {
		document.getElementById('multisearch_form').submit();
	}
}


// MultiSearch AJAX Handling

var contentArray 	= new Array();
contentArray[1]		= new Array();
contentArray[2]		= new Array();
contentArray[3]		= new Array();
contentArray[4]		= new Array();

Bild1 = new Image();
Bild1.src = "images/ajax/loading.gif";


var XMLHTTP = null;
var contentID = null;

if (window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
} else if (window.ActiveXObject) {
	try {
		XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (ex) {
		try {
			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (ex) {
		}
	}
}

saveValues = function() {
	// Zwischenspeicherung
	if(document.getElementById('multisearch_form')) {
		var tempArray = new Array();
		var multisearch_form = document.getElementById("multisearch_form");
		
		for(var i=1; i<=multisearch_form.length; i++) {
			if(typeof(multisearch_form.elements[i]) == 'object') {
				if(multisearch_form.elements[i].type == "radio") {
					if(multisearch_form.elements[i].checked) {
						contentArray[document.getElementById('contentNum').value][multisearch_form.elements[i].name] = multisearch_form.elements[i].value;
					}
				} else if(multisearch_form.elements[i].type == "checkbox") {
					if(multisearch_form.elements[i].checked) {
						contentArray[document.getElementById('contentNum').value][multisearch_form.elements[i].name] = multisearch_form.elements[i].value;
					} else {
						contentArray[document.getElementById('contentNum').value][multisearch_form.elements[i].name] = null;
					}
				} else {
					contentArray[document.getElementById('contentNum').value][multisearch_form.elements[i].name] = multisearch_form.elements[i].value;
				}
			}
		}
	}
}

recallValues = function() {
	// Zwischengespeicherte Formulardaten wieder einfügen
	if(document.getElementById('contentNum')) {
		var contentN = document.getElementById('contentNum').value;
		var multisearch_form = document.getElementById("multisearch_form");
		
		for(var i=1; i<=multisearch_form.length; i++) {
			if(typeof(multisearch_form.elements[i]) == 'object' && contentArray[contentN] != null && contentArray[contentN][multisearch_form.elements[i].name] != null) {
				switch (multisearch_form.elements[i].type) {
					case "text":
							multisearch_form.elements[i].value = contentArray[contentN][multisearch_form.elements[i].name];
						break;
					case "hidden":
							multisearch_form.elements[i].value = contentArray[contentN][multisearch_form.elements[i].name];
						break;
					case "select-one":
						for(var s=0; s<multisearch_form.elements[i].options.length; s++) {
							if(multisearch_form.elements[i].options[s].value == contentArray[contentN][multisearch_form.elements[i].name]) {
								multisearch_form.elements[i].options[s].selected = true;	
							}
						}
						break;
					case "radio":
						if(multisearch_form.elements[i].value == contentArray[contentN][multisearch_form.elements[i].name]) {
							multisearch_form.elements[i].checked = true;
						}
						break;
					case "checkbox":
						if(multisearch_form.elements[i].value != '') {
							multisearch_form.elements[i].checked = true;
						}
						break;
				}
			}
		}
		
		if(contentN == 1 || contentN == 4) {
			select_children_changed('multisearch_content_select_children');
			
			if(contentN == 1) {
				if(document.getElementById('multisearch1_form_radio2').checked == true) {
					document.getElementById('multisearch_content_input_return_flight_date').disabled = true;
					document.getElementById('calendarLink2').onclick = function() { return false; };
					document.getElementById('multisearch_content_input_return_flight_date').style.backgroundColor = '#e0dfe3';
					document.getElementById('multisearch_content_input_return_flight_date').style.color = '#636563';
				}
			} else {
				if(document.getElementById('multisearch_content_checkbox_flexible').checked) {
					document.getElementById('multisearch_content_select_duration').disabled = false;
				} else {
					document.getElementById('multisearch_content_select_duration').disabled = true;
				}
			}
		}
	}
}

function handleAJAXData() {
	if (XMLHTTP.readyState == 4) {
		var layer = document.getElementById("multisearch_body");
		layer.innerHTML = XMLHTTP.responseText;
		initCalendarScript();
		recallValues();
	}
}

AlterTabStyle = function(contentNum, active) {
	var tempElement;
	tempElement = document.getElementById("multisearch_tab_"+contentNum+"_borderimage_left");
	tempElement.src = 'images/multisearch/tabs/'+(active ? '' : 'in')+'active/border_left.gif';
	
	tempElement = document.getElementById("multisearch_tab_"+contentNum+"_borderimage_right");
	tempElement.src = 'images/multisearch/tabs/'+(active ? '' : 'in')+'active/border_right.gif';
	
	tempElement = document.getElementById("multisearch_register_"+contentNum+"_text");
	tempElement.style.backgroundImage = 'url(images/multisearch/tabs/'+(active ? '' : 'in')+'active/background_center.gif)';
	
	tempElement = document.getElementById("multisearch_register_"+contentNum+"_text");
	tempElement.setAttribute("class", "multisearch_register_text multisearch_register_text_"+(active ? "" : "in")+"active");
	tempElement.setAttribute("className", "multisearch_register_text multisearch_register_text_"+(active ? "" : "in")+"active");
	
	tempElement = document.getElementById("multisearch_register_"+contentNum);
	if(active) {
		tempElement.onclick = null;
	} else {
		tempElement.onclick = function() {
			MSAJAX(contentNum);
		}
	}
}

myReset = function(field_id, val) {
	var tempElement;
	if(document.getElementById(field_id)) {
		tempElement = document.getElementById(field_id);
		tempElement.value = val;
		return true;
	} else {
		return false;
	}
}

resetDynFields = function() {
		myReset('originOK','0');
		myReset('origin','');
		myReset('destination','');
		myReset('destinationOK','0');
		myReset('airporttype','');
}


MSAJAX = function(contentNum) {
	if(document.getElementById("calendar")) {
		var calendarelement = document.getElementById("calendar");
		calendarelement.style.visibility	= 'hidden';
		calendarelement.style.left			= '-5000px';
		calendarelement.style.top			= '-5000px';
	}
	if(contentID == null) {
		contentID = 1;
	}

	// ändern
	if(document.getElementById('content_right_row')) {
		msFocused(contentNum);
	}
	
	saveValues();
	resetDynFields();
	AlterTabStyle('1',false);
	AlterTabStyle('2',false);
	AlterTabStyle('3',false);
	AlterTabStyle('4',false);
	contentID = contentNum;
	AlterTabStyle(contentID,true);
	var layer = document.getElementById("multisearch_content");
	layer.innerHTML = '<div class="multisearch_loading_div"><img src="images/ajax/loading.gif" width="110" height="25" alt="loading"/></div>';
	XMLHTTP.open("GET", "includes/AJAX/multisearch_ajax.php?render="+contentNum);
	XMLHTTP.onreadystatechange = handleAJAXData;
	XMLHTTP.send(null);
	
	return true;
}

msRightRowContent = function(step) {
	if(step == '1') {
		__var = '<table width="335px" id="mtop"><div style="font-size: 11px; margin-top: 0px; padding: 4px;"><br><br><div style="height: 24px; padding:2px; border:1px #94AAC6 solid; background-color:#CEE7F7"><div id="png_2"></div><img id="img_2" src="images/headerTabs/aircraft.png" alt="" style="vertical-align:middle; padding-right: 5px; float:left"><div style="color:black; vertical-align:middle; padding-top:5px" id="mtop"><b>G&uuml;nstige Fl&uuml;ge - Vergleiche die besten Anbieter</b></div></div><br><div style="margin:5px">Finde mit travelchefs MultiSearch die g&uuml;nstigsten Flugangebote. Einfach Deine Reisedaten in die Felder links eingeben und Suche starten. Vergleiche die vorgeschlagenen Fluganbieter mit einem Klick und lass Dir so die g&uuml;nstigsten Preis anzeigen.<br><br><span style="font-weight:bold; color:#0075AD"><img src="images/hint.gif" alt="" style="vertical-align:middle; padding-right: 5px"/>Wertvolle Tipps f&uuml;r eine erfolgreiche Suche:</span><ul><li>Die Eingabe Deiner Flugh&auml;fen erfolgt am einfachsten durch Eintippen der ersten 3 Buchstaben, damit sich die Auswahlliste öffnet. Auch IATA-Codes sind möglich.</li><li>Klicke mindestens 3 der von unseren Experten vorgeschlagenen Fluganbieter an und vergleiche deren Preise und Leistungen.</li><li>Folge dem Stern<img src="images/enjoy_star.gif" width="16" height="16" alt="" style="vertical-align:bottom">! F&uuml;r eine Flugbuchung bei einem ENJOY-Partner bekommst Du Reisepunkte auf Deinem Konto gutgeschrieben. ENJOY-Partner erkennst Du an dem Stern. <a href="enjoy.php">Mehr erfahren&gt;&gt;</a></b></li></ul>Hinweis: Die Buchung Deines Flugtickets f&uuml;hrst Du immer auf der Seite des jeweiligen Anbieters durch.</div></div></table>';
		return __var;
	} else if(step == '2') {
		__var = '<table width="335px" id="mtop"><div style="font-size: 11px; margin-top: 0px; padding: 4px;"><br><br><div style="height: 24px; padding:2px; border:1px #94AAC6 solid; background-color:#CEE7F7;"><div id="png_3"></div><img id="img_3" src="images/headerTabs/bed.png" alt="" style="vertical-align:middle; padding-right: 5px; float:left"><div style="color:black; vertical-align:middle; padding-top:5px" id="mtop"><b>G&uuml;nstige Hotels - Vergleiche die besten Anbieter</b></div></div><br><div style="margin:5px">Finde mit travelchefs MultiSearch die g&uuml;nstigsten Hotelangebote. Einfach Deine Reisedaten in die Felder links eingeben und Suche starten. Vergleiche die vorgeschlagenen Hotelanbieter mit einem Klick und lass Dir so die g&uuml;nstigsten Preise anzeigen.<br><br><span style="font-weight:bold; color:#0075AD"><img src="images/hint.gif" alt="" style="vertical-align:middle; padding-right: 5px"/>Wertvolle Tipps f&uuml;r eine erfolgreiche Suche:</span><ul><li>Mit der Eingabe eines Hotelnamens kannst Du Preis und Verf&uuml;gbarkeit eines bestimmten Hotels oder einer Hotelkette bei mehreren Anbietern vergleichen.</li><li>Klicke mindestens 3 der von unseren Experten vorgeschlagenen Hotelanbieter an und vergleiche deren Preise und Leistungen.</li><li>Folge dem Stern<img src="images/enjoy_star.gif" width="16" height="16" alt="" style="vertical-align:bottom">! F&uuml;r eine Hotelbuchung bei einem ENJOY-Partner bekommst Du Reisepunkte auf Deinem Konto gutgeschrieben. ENJOY-Partner erkennst Du an dem Stern. <a href="enjoy.php">Mehr erfahren&gt;&gt;</a></b></li></ul>Hinweis: Die Buchung Deiner Hotel&uuml;bernachtung f&uuml;hrst Du immer auf der Seite des jeweiligen Anbieters durch.</div></div>';
		return __var;
	} else if(step == '3') {
		__var = '<table width="335px" id="mtop"><div style="font-size: 11px; margin-top: 0px; padding: 4px;"><br><br><div style="height: 24px; padding:2px; border:1px #94AAC6 solid; background-color:#CEE7F7;"><div id="png_4"></div><img id="img_4"  src="images/headerTabs/auto.png" alt="" style="vertical-align:middle; padding-right: 1px; float:left"/><div style="vertical-align:middle; color:black; padding-top:5px"><b>G&uuml;nstige Mietautos - Vergleiche die besten Anbieter</b></div></div><br><div style="margin:5px">Finde mit travelchefs MultiSearch die g&uuml;nstigsten Angebote f&uuml;r Mietwagen. Einfach Deine Reisedaten in die Felder links eingeben und Suche starten. Vergleiche die vorgeschlagenen Anbieter mit einem Klick und lass Dir so die g&uuml;nstigsten Preis anzeigen.<br><br><span style="font-weight:bold; color:#0075AD"><img src="images/hint.gif" alt="" style="vertical-align:middle; padding-right: 5px"/>Wertvolle Tipps f&uuml;r eine erfolgreiche Suche:</span><ul><li>Die Eingabe Deiner Anmiet- und Abgabestation erfolgt am einfachsten durch Eintippen der ersten 3 Buchstaben, damit sich die Auswahlliste öffnet. Auch IATA-Codes f&uuml;r Stationen an Flugh&auml;fen sind möglich.</li><li>Klicke mindestens 3 der von unseren Experten vorgeschlagenen Mietwagenanbieter an und vergleiche deren Preise und Leistungen.</li><li>Folge dem Stern<img src="images/enjoy_star.gif" width="16" height="16" alt="" style="vertical-align:bottom">! F&uuml;r eine Mietwagenbuchung bei einem ENJOY-Partner bekommst Du Reisepunkte auf Deinem Konto gutgeschrieben. ENJOY-Partner erkennst Du an dem Stern. <a href="enjoy.php">Mehr erfahren&gt;&gt;</a></b></li></ul>Hinweis: Die Buchung Deines Mietwagens f&uuml;hrst Du immer auf der Seite des jeweiligen Anbieters durch.</div></div>';
		return __var;
	
	} else if(step == '4') {
		__var = '<table width="335px" id="mtop"><div style="font-size: 11px; margin-top: 0px; padding: 4px;"><br><br><div style="height: 24px; padding:2px; border:1px #94AAC6 solid; background-color:#CEE7F7;"><div id="png_5"></div><img id="img_5" src="images/headerTabs/suitcase.png" alt="" style="vertical-align:middle; padding-right: 5px; float:left"/><div style="vertical-align:middle; color:black; padding-top:5px"><b>G&uuml;nstige Reisen - Vergleiche die besten Anbieter</b></div></div><br><div style="margin:5px">Finde mit travelchefs MultiSearch die g&uuml;nstigsten Angebote f&uuml;r Last Minute-, Pauschal- oder St&auml;dtereisen. Einfach Deine Reisedaten in die Felder links eingeben und Suche starten. Vergleiche die vorgeschlagenen Anbieter mit einem Klick und lass Dir so die g&uuml;nstigsten Preis anzeigen.<br><br><span style="font-weight:bold; color:#0075AD"><img src="images/hint.gif" alt="" style="vertical-align:middle; padding-right: 5px"/>Wertvolle Tipps f&uuml;r eine erfolgreiche Suche:</span><ul><li>Wenn Du flexibel bei Deinen An- und Abreiseterminen bist, dann setzte den Haken entsprechend und w&auml;hle Deine Daten f&uuml;r eine fr&uuml;hstmögliche An- und sp&auml;testmögliche Abreise aus. Mit der Liste "Reisedauer" kannst Du die L&auml;nge Deines Urlaubs f&uuml;r die Suche festlegen.</li><li>Klicke mindestens 3 der von unseren Experten vorgeschlagenen Reiseanbieter an und vergleiche deren Preise und Leistungen.</li><li>Folge dem Stern<img src="images/enjoy_star.gif" width="16" height="16" alt="" style="vertical-align:bottom">! F&uuml;r eine Reisebuchung bei einem ENJOY-Partner bekommst Du Reisepunkte auf Deinem Konto gutgeschrieben. ENJOY-Partner erkennst Du an dem Stern. <a href="enjoy.php">Mehr erfahren&gt;&gt;</a></b></li></ul>Hinweis: Die Buchung Deines Hotels mit Flug f&uuml;hrst Du immer auf der Seite des jeweiligen Anbieters durch.</div></div>';
		return __var;
	}
	return true;
}

msFocused = function(activeStep) {
	if(document.getElementById('content_msr')) {
		if(document.getElementById('content_right_row')) {
			if(!activeStep && document.getElementById('contentNum')) {
					activeStep = document.getElementById('contentNum').value;
			}
	
			document.getElementById('content_right_row').innerHTML = msRightRowContent(activeStep);
		}
		
		return true;
	}
	return false;
}

if (document.addEventListener) {
  document.addEventListener("DOMContentLoaded", msr_init, false);
} else {
	window.onload = msr_init;
}

function msr_init() {
	if(document.getElementById('msr_general_content')) {
		setTimeout('ms_search_timeout()',3500);
	}
}

function ms_search_timeout() {
	if(document.getElementById('msr_searching_img')) {
		document.getElementById('msr_searching_img').style.display = 'none';
		document.getElementById('msr_general_content').style.display = 'block';
	}
}

