function createCookie(name,value,days,domain) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	
	if (domain) {
		path = "; path="+domain;
	} else {
		path = '';
	}
	document.cookie = name+"="+value+expires+path;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function decode64(input) {
   var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

$(document).ready( function () { 

	$("#booking-form > ul li a").each( function () {
		var classNames = $(this).attr("class").split(' ');
		var currentURL = false;
		for (var i = 0; i < classNames.length; i++) {
			if (classNames[i].substring(0,9)=='ajaxLink_') {
				currentURL = decode64(classNames[i].substring(9).replace(/\./g, '+').replace(/_/g, '/').replace(/-/g, '='));
				break;
			}
		}

		$(this).attr('href', currentURL );
	});
	
	// loading calendar first used on the first tab
	calendar.setSettings();
	airlineForm.registerToggle();
	flightCities.setSettings();
	$('#input_origin').focus();
		// case if car sharing standalone 
	if ($('#mietwagen-form')) {
		self.setTimeout('mietwagen.iniAllExtern()',1000);
	}

	var bookingForm = $("#booking-form > ul");
	bookingForm.tabs({
		spinner : aoe_labels['form.loading']
		, cache : true
	});

	bookingForm.bind('tabsselect', function (event, ui) {
		$('.qtip').qtip("hide");
		resetValidationError({target:currentErrorTip});
		currentErrorTip = null;
	});
	
	bookingForm.bind('tabsshow', function (event, ui) {
		$('.cal').datepicker("destroy");
		var t = $(ui.tab).attr('href');
		if (tObj = $(t)) {
			tObj.attr("id",t+'_temp_non_existent');
			location.hash = t;
			tObj.attr("id",t.substring(1));
		} else {
			location.hash = $(ui.tab).attr('href');
		}
		airlineForm.registerToggle();
		flightCities.setSettings();
		calendar.setSettings();
		if ($(ui.tab).attr('href') == '#MIETWAGEN' || $(ui.tab).attr('href') == '#RENTAL_CARS') {
			self.setTimeout('mietwagen.iniAllExtern()',1000);
		}

		t = $('#input_origin, #nach, #von2, #nach2');
		t.each(function(i) {
			if (t[i].id) {
				value = readCookie(t[i].id);
				if(value != null){
					t[i].value = value;	
				}
			}
		});	
		
		var currentForm = $('div#booking-form div.ui-tabs-panel:visible div.ui-tabs-panel form');

		addQTipsToForm(currentForm);
		
		processSubmitButtonStates('div#booking-form div.ui-tabs-panel:visible div.ui-tabs-panel form');
		
		currentForm.find('input, select, button').focus(resetValidationError);

		currentForm.submit(function () {
				//updateHiddenTerminFields(this);
			t = $('#input_origin, #nach, #von2, #nach2');
			t.each(function(i) {
				if (t[i].id)
					createCookie(t[i].id,t[i].value,0,null);
			});		
			return validateFields(this);
		});
		
		
	});

	t = $('#input_origin, #nach, #von2, #nach2');
	t.each(function(i) {
		if (t[i].id) {
			value = readCookie(t[i].id);
			if(value != null){
				t[i].value = value;	
			}
		}
	});	

	var resetValidationError = function(event) {
		if (event.target!=null) {
			if ($(event.target).hasClass('validationError')) {
				$(event.target).removeClass('validationError').qtip('hide');
			} else {
				$(event.target).siblings('.validationError').removeClass('validationError').qtip('hide');
			}
		}
	};
	
	var currentErrorTip = null;
	
	var validateFields = function(currentForm) {
		var erwachseneField = $(currentForm).find('select[name=adultCount]');
		resetValidationError({target:erwachseneField});
		var noError = true;
		if (erwachseneField.val()==0 && $('#j2_12').val()>0) {
			currentErrorTip = erwachseneField;
			erwachseneField.qtip({
				content: erwachseneField.siblings('.validationErrorTooltip.noAdultsError'),
				prerender: true,
				position: {
					corner: {
						target: 'topMiddle',
						tooltip: 'bottomMiddle'
					}
				},
				style: { 
					name: 'blue',
					tip: {
						corner: 'bottomMiddle',
						size: {
							x: 20,
							y :10 
						}
					},
					border: {
						radius: 5, 
						color: '#142b59'
					},
					fontSize: '11px',
					lineHeight: '14px',
					color: '#fff',
					backgroundColor: '#314979'
				},
				show: false,
				hide: false 
			});
			erwachseneField.addClass('validationError').qtip('show');
			noError = false;
		} 
		if (erwachseneField.val()==10) {
			currentErrorTip = erwachseneField;
			erwachseneField.qtip({
				content: erwachseneField.siblings('.validationErrorTooltip.groupError'),
				prerender: true,
				position: {
					corner: {
						target: 'topMiddle',
						tooltip: 'bottomMiddle'
					}
				},
				style: { 
					name: 'blue',
					tip: {
						corner: 'bottomMiddle',
						size: {
							x: 20,
							y :10 
						}
					},
					border: {
						radius: 5, 
						color: '#142b59'
					},
					fontSize: '11px',
					lineHeight: '14px',
					color: '#fff',
					backgroundColor: '#314979'
				},
				show: false,
				hide: false 
			});	
			erwachseneField.addClass('validationError').qtip('show');
			noError = false;
		}
		
		return noError;
	}
	
	var addQTipsToForm = function(currentForm) {
		currentForm.find('.tooltip').each(function () {
			$(this).prev().qtip({
				content: $(this),
				position: {
					corner: {
						target: 'leftTop',
						tooltip: 'rightTop'
					},
					adjust: {
						x: -2,
						y: 10
					}
				},
				style: { 
					name: 'light',
					tip: {
						corner: 'rightTop',
						size: {
							x: 10,
							y :10 
						}
					},
					border: {
						radius: 5, 
						color: '#142b59'
					},
					fontSize: '11px',
					lineHeight: '14px',
					color: '#fff',
					backgroundColor: '#314979'
				},
				hide: {
					fixed: true
				}
			});
		});			
	}
	
	var currentForm = $('div#booking-form form');

	addQTipsToForm(currentForm);
	currentForm.find('input, select, button').focus(resetValidationError);

	currentForm.submit(function () {
			//updateHiddenTerminFields(this);
		t = $('#input_origin, #nach, #von2, #nach2');
		t.each(function(i) {
			if (t[i].id)
				createCookie(t[i].id,t[i].value,0,null);
		});			
		return validateFields(this);
	});
	
	processSubmitButtonStates('div#booking-form form');
});

function processSubmitButtonStates(formCSSSelector) {
	inputs = $(".submitbuttons input");
	if (inputs.length==0) {
		setTimeout("processSubmitButtonStates('"+formCSSSelector+"')", 100);
	} 

	inputs.each( function () {
		if ($(this).attr('processed')!=1) {
			$(this).attr('processed', 1);
			var classNames = $(this).attr("class").split(' ');
			var currentURL = false;
			var cache = [];
			$(this).attr('custom_onclick', 0);
			/*
			 * extract state images and
			 * add them to the preloader
			 */
			for (var i = 0; i < classNames.length; i++) {
				if (classNames[i].substring(0,6)=='hover_') {
					state_img = decode64(classNames[i].substring(6).replace(/\./g, '+').replace(/_/g, '/').replace(/-/g, '='));
					$(this).attr('hover_state', state_img);
					cacheImage = document.createElement('img');
					cacheImage.src = state_img;
					cache.push(cacheImage);
				}
				if (classNames[i].substring(0,5)=='down_') {
					state_img = decode64(classNames[i].substring(5).replace(/\./g, '+').replace(/_/g, '/').replace(/-/g, '='));
					$(this).attr('down_state', state_img);
					cacheImage = document.createElement('img');
					cacheImage.src = state_img;
					cache.push(cacheImage);
				}
				if (classNames[i].substring(0,5)=='wait_') {
					state_img = decode64(classNames[i].substring(5).replace(/\./g, '+').replace(/_/g, '/').replace(/-/g, '='));
					$(this).attr('wait_state', state_img);
					cacheImage = document.createElement('img');
					cacheImage.src = state_img;
					cache.push(cacheImage);
				}
				if (classNames[i]=='custom_onclick') {
					$(this).attr('custom_onclick', 1);
				}
			}
			
			$(this).attr('normal_state', $(this).attr('src'));
			$(this).attr('clicked', 0);
			/*
			 * mouse down state
			 */
			if ($(this).attr('down_state')) {
				$(this).bind("mousedown", function() {
					if ($(this).attr('clicked')!=1)
						$(this).attr('src', $(this).attr('down_state'));
				});
			}
			/*
			 * mouse over state
			 */
			if ($(this).attr('hover_state')) {
				$(this).bind("mouseenter", function() {
					if ($(this).attr('clicked')!=1)
						$(this).attr('src', $(this).attr('hover_state'));
				});
			}
			/*
			 * mouse leave state
			 */
			$(this).bind("mouseleave", function() {
				if ($(this).attr('clicked')!=1)
					$(this).attr('src', $(this).attr('normal_state'));
			});
			/*
			 * click state
			 */
			if ($(this).attr('wait_state') && $(this).attr('custom_onclick')==0) {
				form1 = 'div#booking-form form';
				form2 = 'div#booking-form div.ui-tabs-panel:visible div.ui-tabs-panel form'
	
				$(this).bind("click", function() {
					$(this).attr('clicked', 1);
					$(this).attr('src', $(this).attr('wait_state'));
						//marking which form should be submitted
					$('form').attr('submitted', 0);
					$(this).parents('form:first').attr('submitted', 1);
						//delaying submition for 100ms
					setTimeout('$(\'form[submitted=1]\').submit();', 100);
					return false;
				});
			}
		}
	});	
}

function registerSubmit() {

	var currentForm = $('div#booking-form div.ui-tabs-panel:visible div.ui-tabs-panel form');
	currentForm.submit(function () {
		updateHiddenTerminFields(this);
		
	var data = $("input[name='termin']", this).attr('value') + " - " + $("input[name='ruecktermin']", this).attr('value');

	//alert(data);
	});
}
		var airlineForm = {
			registerToggle: function() {
				$("#show-adv").click(function() { 
					 $("#advanced_form").fadeIn("slow");
					 $("#show-adv").hide();
				});

				$("#show-adv0").click(function() { 
					 $("#advanced_form0").fadeIn("slow");
					 $("#show-adv0").hide();
				});

				$("#show-advZ").click(function() { 
					 $("#advanced_formZ").fadeIn("slow");
					 $("#show-advZ").hide();
				});

				$("#show-adv_2").click(function() { 
					 $("#adv_2").fadeIn("slow");
					$("#show-adv_2").hide();
				});

                if ($('#fluggesellschaft').val() == '') {
					$("#show-adv_3").click(function() { 
						$('.qtip').qtip("hide");
						$("#adv_3").fadeIn("slow");
						$("#show-adv_3").hide();
					});
                } else {
						$("#adv_3").show();
						$("#show-adv_3").hide();
                }

				$("#hinflug").click(function() { 
					if(this.checked){
						 $("#adv_ruckf").fadeOut(1000);
						 $("#adv_part").fadeOut(1000);	
						 $("#sp1f").hide();
						 $("#sp2f").hide();
						}
				});	

				$("#hin_ruck").click(function() { 
					if(this.checked){
						 $("#adv_ruckf").fadeIn(1000);
						 $("#adv_part").fadeOut(1000);
						 $("#sp1f").hide();
						 $("#sp2f").hide();
						}
				});

				$("#gabelflug").click(function() { 
					if(this.checked) {
						$("#adv_part").fadeIn(1000);
						$('#sp1f').show();
						$('#sp2f').show();
						$("#adv_ruckf").fadeOut(1000);
					}
				});	
			}
		}

		var calendar = {
			setSettings: function () {

				var myDate = new Date();

				$.datepicker.setDefaults( {
						monthNames: [aoe_labels['month.full.january'], aoe_labels['month.full.february'], aoe_labels['month.full.march'], aoe_labels['month.full.april'], aoe_labels['month.full.may'], aoe_labels['month.full.june'], aoe_labels['month.full.july'], aoe_labels['month.full.august'], aoe_labels['month.full.september'], aoe_labels['month.full.october'], aoe_labels['month.full.november'], aoe_labels['month.full.december']],
						monthNamesShort: [aoe_labels['month.short.january'], aoe_labels['month.short.february'], aoe_labels['month.short.march'], aoe_labels['month.short.april'], aoe_labels['month.short.may'], aoe_labels['month.short.june'], aoe_labels['month.short.july'], aoe_labels['month.short.august'], aoe_labels['month.short.september'], aoe_labels['month.short.october'], aoe_labels['month.short.november'], aoe_labels['month.short.december']],
						dayNames: [aoe_labels['day.full.sunday'],aoe_labels['day.full.monday'],aoe_labels['day.full.tuesday'],aoe_labels['day.full.wednesday'],aoe_labels['day.full.thursday'],aoe_labels['day.full.friday'],aoe_labels['day.full.saturday']],
						dayNamesMin: [aoe_labels['day.short.sunday'],aoe_labels['day.short.monday'],aoe_labels['day.short.tuesday'],aoe_labels['day.short.wednesday'],aoe_labels['day.short.thursday'],aoe_labels['day.short.friday'],aoe_labels['day.short.saturday']],
						numberOfMonths: 2,
						dateFormat: aoe_labels['date.format'],
						firstDay: 1, 
						changeFirstDay: false, 
						minDate: "+1d",
						defaultDate: +7,
						changeMonth: false,
						changeYear: false,
						showStatus: false,
						statusForDate: describeDate,
						initStatus: this.title,
						onSelect: function(){
							reDefineDatePickers(this.id,this.value);
							setHiddenDateFields(this.id, this.value);
						},
						beforeShow: function(){
							document.getElementById("ui-datepicker-div").title=this.title;
							self.setTimeout('changeDatePickerHeader()',100);
							setHiddenDateFields(this.id, this.value);
						},
						onChangeMonthYear: function() { 
							self.setTimeout('changeDatePickerHeader()',100);
							setHiddenDateFields(this.id, this.value);
						}
					}); 

				if ( $.browser.msie && ($.browser.version < 7) ) {
					$(".cal").datepicker({
						'showAnim': 'show',
						'duration'   : ''
					});
				} else {
					$(".cal").datepicker();
				}

			}
		}
		
		var flightCities = {
			setSettings: function(){
					$("#input_origin,#nach,#von2,#nach2").focus(function() {
						this.select();
					});
				
					$("#input_origin,#nach,#von2,#nach2").autocomplete (
						"airport-data.js?type=xml", 
						{
							minChars:3,
							delay: 150,
							width: 260,
							max:    40,
							cacheLength: 1,
							matchContains: 1,
							selectFirst: false,
							onShow: fadeInSuggestion,
							onHide: fadeOutSuggestion
						}
					); 
				}
			}

		var fadeInSuggestion = function(suggestionBox, suggestionIframe) {
		 	$(suggestionBox).fadeTo(300,0.95);
		};
		var fadeOutSuggestion = function(suggestionBox, suggestionIframe) {
		 	$(suggestionBox).fadeTo(300,0);
		};

		var mietwagen = {
			iniAllExtern: function(){
				var isel=0;
				var lastiso='';
				if(document.Stations){
					emptyDD(document.Stations.Country);
					for(var i=0;i<land.length;i++) {
							if (land[i][1]!=lastiso){
								addOptDD(document.Stations.Country, land[i][0], land[i][1]);
								lastiso=land[i][1];
							}
						}
				 		if (document.Stations.setCountry){
							if (document.Stations.setCountry.value!=''){
								selIt(document.Stations.Country, document.Stations.setCountry.value, 'v');
								getOrteExtern();
							}
						}
						disabledOrt();
				}
			}
		}

  function describeDate(){
	var calTitle=document.getElementById("ui-datepicker-div").title;
	return calTitle;
}

	function reDefineDatePickers(v1,v2){

		var dateParts=v2.split('.');
		var mydate = dateParts[1] + '/' + dateParts[0] + '/' + dateParts[2];
		mydate = DateAdd(mydate, "D", 1);
		var curDate=new Date(mydate);

		if(v1.indexOf('von')!=-1) {
            // prepare data to compare the both dates wich are depends on each other
            var localv1 = v1;
            var firstDate    = $('#'+localv1).val().split('.');
            var secondDate   = $('#'+localv1.replace(/von/gi, 'nach')).val();
            if (secondDate != '') {
                secondDate = secondDate.split('.');
                    // get timestamp
                var firstDateMS  = Date.UTC(firstDate[2],firstDate[1],firstDate[0],0,0,0);
                var secondDateMS = Date.UTC(secondDate[2],secondDate[1],secondDate[0],0,0,0);
            } else { // data to compare if second field is empty
                firstDateMS = 1;
                secondDateMS = 0;
            }

			$("#" + v1.replace(/von/gi,'nach')).datepicker("destroy")
			$("#" + v1.replace(/von/gi,'nach')).datepicker({
				 minDate: $("#"+v1).datepicker("getDate")
			})
            // used for the second return flight date field on first tab "flights"
			$("#" + v1.replace(/von/gi,'nach2')).datepicker("destroy")	
			$("#" + v1.replace(/von/gi,'nach2')).datepicker({
				 minDate: $("#"+v1).datepicker("getDate")
			})

                // update second date field only if the first date higher or equals to the second one
            if (firstDateMS >= secondDateMS) {
                $("#" + v1.replace(/von/gi,'nach')).val(twoNum(curDate.getDate()) + '.' + twoNum(eval(1+curDate.getMonth())) + '.' + curDate.getFullYear());
                    // used for the second return flight date field on first tab "flights"
                $("#" + v1.replace(/von/gi,'nach2')).val(twoNum(curDate.getDate()) + '.' + twoNum(eval(1+curDate.getMonth())) + '.' + curDate.getFullYear());
            }
		}
	}

	function setHiddenDateFields(id, val) {

		if (id.substr(0,9) == 'datefrom_') {
			var dateArray = val.split('.');
			if (dateArray.length == 3) {

                // tabs flight 
                if (id == 'datefrom_von') {
                    $('#'+id+'2').val(val);
                    $('#datefrom_von_day').val(dateArray[0])
                    $('#datefrom_von_monthyear').val(dateArray[1]+'-'+dateArray[2]);
                    // depends return flight field
                    var datefrom_nachDateArray = $('#datefrom_nach').val().split('.');
                    $('#datefrom_nach2').val($('#datefrom_nach').val());
                    $('#datefrom_nach2_day').val(datefrom_nachDateArray[0]);
                    $('#datefrom_nach2_monthyear').val(datefrom_nachDateArray[1]+'-'+datefrom_nachDateArray[2]);
                    $('#datefrom_nach_day').val(datefrom_nachDateArray[0]);
                    $('#datefrom_nach_monthyear').val(datefrom_nachDateArray[1]+'-'+datefrom_nachDateArray[2]);
                } if (id == 'datefrom_nach' || id == 'datefrom_nach2') { // return date
                    var datefrom_nachDateArray = $('#'+id).val().split('.');
                    $('#datefrom_nach_day').val(datefrom_nachDateArray[0]);
                    $('#datefrom_nach_monthyear').val(datefrom_nachDateArray[1]+'-'+datefrom_nachDateArray[2]);
                }

                // tabs package tours
                if (id == 'datefrom_vonZ2') {
                    $('#'+id+'2').val(val);
                    $('#datefrom_vonZ2_day').val(dateArray[0])
                    $('#datefrom_vonZ2_monthyear').val(dateArray[1]+'.'+dateArray[2]);
                    // depends return flight field
                    var datefrom_vonZ2_nachDateArray = $('#datefrom_nachZ2').val().split('.');
                    $('#datefrom_nachZ2_day').val(datefrom_vonZ2_nachDateArray[0])
                    $('#datefrom_nachZ2_monthyear').val(datefrom_vonZ2_nachDateArray[1]+'.'+datefrom_vonZ2_nachDateArray[2]);
                } if (id == 'datefrom_nachZ2') { // return date
                    var datefrom_vonZ2_nachDateArray = $('#datefrom_nachZ2').val().split('.');
                    $('#datefrom_nachZ2_day').val(datefrom_vonZ2_nachDateArray[0])
                    $('#datefrom_nachZ2_monthyear').val(datefrom_vonZ2_nachDateArray[1]+'.'+datefrom_vonZ2_nachDateArray[2]);
                }

                // tabs last minute
                if (id == 'datefrom_res_von') {
                    $('#'+id+'2').val(val);
                    $('#datefrom_res_von_day').val(dateArray[0])
                    $('#datefrom_res_von_monthyear').val(dateArray[1]+'.'+dateArray[2]);
                    // depends return flight field
                    var datefrom_res_nachDateArray = $('#datefrom_res_nach').val().split('.');
                    $('#datefrom_res_nach_day').val(datefrom_res_nachDateArray[0])
                    $('#datefrom_res_nach_monthyear').val(datefrom_res_nachDateArray[1]+'.'+datefrom_res_nachDateArray[2]);
                } if (id == 'datefrom_res_nach') { // return date
                    var datefrom_res_nachDateArray = $('#datefrom_res_nach').val().split('.');
                    $('#datefrom_res_nach_day').val(datefrom_res_nachDateArray[0])
                    $('#datefrom_res_nach_monthyear').val(datefrom_res_nachDateArray[1]+'.'+datefrom_res_nachDateArray[2]);
                }

                // tabs hotels
                if (id == 'datefrom_res1_von') {
                    $('#'+id+'2').val(val);
                    $('#datefrom_res1_von_day').val(dateArray[0])
                    if ($('#datefrom_res1_von_monthyear'))
                    	$('#datefrom_res1_von_monthyear').val(dateArray[1]+'.'+dateArray[2]);
                    if ($('#datefrom_res1_von_yearmonth'))
                    	$('#datefrom_res1_von_yearmonth').val(dateArray[2]+'-'+dateArray[1]);
                    // depends return flight field
                    var datefrom_res1_nachDateArray = $('#datefrom_res1_nach').val().split('.');
                    $('#datefrom_res1_nach_day').val(datefrom_res1_nachDateArray[0])
                    if ($('#datefrom_res1_nach_monthyear'))
                    	$('#datefrom_res1_nach_monthyear').val(datefrom_res1_nachDateArray[1]+'.'+datefrom_res1_nachDateArray[2]);
                    if ($('#datefrom_res1_nach_yearmonth'))
                    	$('#datefrom_res1_nach_yearmonth').val(datefrom_res1_nachDateArray[2]+'-'+datefrom_res1_nachDateArray[1]);
                } if (id == 'datefrom_res1_nach') { // return date
                    var datefrom_res1_nachDateArray = $('#datefrom_res1_nach').val().split('.');
                    $('#datefrom_res1_nach_day').val(datefrom_res1_nachDateArray[0])
                    if ($('#datefrom_res1_nach_monthyear'))
                    	$('#datefrom_res1_nach_monthyear').val(datefrom_res1_nachDateArray[1]+'.'+datefrom_res1_nachDateArray[2]);
                    if ($('#datefrom_res1_nach_yearmonth'))
                    	$('#datefrom_res1_nach_yearmonth').val(datefrom_res1_nachDateArray[2]+'-'+datefrom_res1_nachDateArray[1]);
                }

                // tabs hire car
                if (id == 'datefrom_m_von') {
                    $('#'+id+'2').val(val);
                    $('#datefrom_m_von_day').val(dateArray[0])
                    $('#datefrom_m_von_monthyear').val(dateArray[2]+'-'+dateArray[1]);
                    // depends return flight field
                    var datefrom_m_nachDateArray = $('#datefrom_m_nach').val().split('.');
                    $('#datefrom_m_nach_day').val(datefrom_m_nachDateArray[0])
                    $('#datefrom_m_nach_monthyear').val(datefrom_m_nachDateArray[2]+'-'+datefrom_m_nachDateArray[1]);
                } if (id == 'datefrom_m_nach') { // return date
                    var datefrom_m_nachDateArray = $('#datefrom_m_nach').val().split('.');
                    $('#datefrom_m_nach_day').val(datefrom_m_nachDateArray[0])
                    $('#datefrom_m_nach_monthyear').val(datefrom_m_nachDateArray[2]+'-'+datefrom_m_nachDateArray[1]);
                }
			}
		}
	}


	function twoNum(val){
        return (val < 10)? '0' + val : val;
    }

	function selectItem(li) {
		if (li.extra) {
			alert("That's '" + li.extra[0] + "' you picked.")
		}
	}
	function formatAItem(row) {
		return row[0] + "<br><i>" + row[1] + "</i>";
	}
	function changeDatePickerHeader(){
		$('#ui-datepicker-div > div:first').html('<p>' + $("#ui-datepicker-div").attr('title') + '</p>'+'<p style="position: absolute; width:370px !important; text-align:right; right: 5px; top:-3px !important;font-weight:bold;font-size:11px;white-space: nowrap;"><a style="color: #555555;text-decoration:underline;" onclick="jQuery.datepicker._hideDatepicker();">'+aoe_labels['form.close']+'</a> &#187;</p>');
		//$('#ui-datepicker-div > div:first').html('<p>' + $("#ui-datepicker-div").attr('title') + '</p><p style="position: absolute; left: 273px;_left: 266px;*left:266px;font-weight:bold;font-size:11px;white-space: nowrap;"><a style="color: #555555;text-decoration:underline;" onclick="jQuery.datepicker._hideDatepicker();">'+aoe_labels['form.close']+'</a> &#187;</p>');
	}
	function aoeRemoveBadDiv() {
		if (aoeRemoveStaticDiv != '') {
			$("#"+aoeRemoveStaticDiv).remove();
			aoeRemoveStaticDiv = '';
		}
	}
	var formContentToSet;
	function aoeSetContentForIE(targetElement) {
		var repeatSetContent = "aoeSetContentForIE(\'" + targetElement + "\')";

		if ($(targetElement).html() == '') {
			$(targetElement).html(formContentToSet);
				airlineForm.registerToggle();
				flightCities.setSettings();
				calendar.setSettings();
		} else {
			setTimeout(
				repeatSetContent,
				100
			);
		}
	}

function updateHiddenTerminFields(currentForm) {
  
 var fieldVon = $('input.cal[id*="von"]', currentForm);
 var fieldNach = $('input.cal[id*="nach"]', currentForm);

 if (fieldVon.attr('id').indexOf('von') != -1) {
  $("input[name='termin']", currentForm).attr('value', fieldVon.attr('value'));
 } 

 if ( fieldNach.attr('id').indexOf('nach') != -1) {
  $("input[name='ruecktermin']", currentForm).attr('value', fieldNach.attr('value'));
 }
}

