/* JavaScript Document
 Autor: Christian Wolff
 dieses Javascript fügt den Datepicker in die Flugsuche ein.

*/
var gMonthNames = ['Jan', 'Feb', 'M&auml;r', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
function addLeadingZero(input){
		input = String(input);
		if (input.length < 2){
			input = "0" + input;
		}
		return input
	}

$(document).ready(function(){
	/* Hinflug Datepicker */
	//var pickerDate = new Date(); /* Today */
	var monthpicker = '';
	var curMonth = new Date().getMonth();
	var curYear = new Date().getFullYear();
	
	

	
	for(i=0;i<12;i++){
		monthpicker += '<option value="'+ addLeadingZero(curMonth+1) +'-'+ curYear +'">'+ gMonthNames[curMonth] +' '+ curYear.toString().substr(2,4) +'</option>';
		if(curMonth == 11){
			curMonth = 0;
			curYear = new Date();
			curYear.setYear(curYear.getFullYear()+1);
			curYear = curYear.getFullYear();
		}else{
			curMonth = curMonth +1;
		}
	}
	var daypicker ="";
	for(i=1;i<32;i++){
		daypicker += '<option value="'+i+'">'+i+'</option>';
	}
	$('#month-year').html(monthpicker);
	$('#month-year2').html(monthpicker);
	$('#selday').html(daypicker);
	$('#selday2').html(daypicker);
	
	var opt = {		
				nextText:'<img src="fileadmin/Template/RL2008/img/flugsuche-next.gif" width="10" height="12" alt="vor" />',
				prevText:'<img src="fileadmin/Template/RL2008/img/flugsuche-prev.gif" width="10" height="12" alt="zur&uuml;ck" />',
				monthNames:gMonthNames,
				changeFirstDay:false,
				changeMonth:false,
				changeYear:false,
				hideIfNoPrevNext:true,
				mandatory: true,
				showOtherMonths: true,
				navigationAsDateFormat: true, 
				prevText: '< M', 
				nextText: 'M >',
				defaultDate: "+14d",
				minDate: "+0d",
				maxDate: "+12m",
				constrainInput: true,
				altField: "#altDate1", 
				altFormat: "dd.mm.yy",
				onSelect: function(dateText){
					var d = dateText.split(".");
					$("#Day").val(d[0]);
					$("#Month").val(d[1]);
					$("#von_jahr").val(d[2]);
					$("#month-year option,#selday option").removeAttr("selected");
					$("#selday option[value="+parseInt(d[0],10)+"]").attr("selected","selected");
					$("#month-year option[value="+ addLeadingZero(parseInt(d[1],10)) +"-"+parseInt(d[2],10)+"]").attr("selected","selected");
				}
			}
			
	$("#flysearch-date1").datepicker(opt);
	
	/*hidden felder mit startwerten setzten */
	var d = $("#flysearch-date1").datepicker("getDate");
	$("#Day").val(d.getDate());
	$("#Month").val(d.getMonth()+1);
	$("#von_jahr").val(d.getFullYear());
	
	/*Day und Month picker setzen */
	$("#selday option[value="+ d.getDate() +"]").attr("selected","selected");
	$("#month-year option[value="+ addLeadingZero(d.getMonth()+1) +"-"+d.getFullYear()+"]").attr("selected","selected");
	
	/* Rückflug Datepicker */
	opt.defaultDate = "+21d";
	opt.altField = "#altDate2";
	opt.onSelect = function(dateText){
						var d = dateText.split(".");
						$("#RetDay").val(d[0]);
						$("#RetMonth").val(d[1]);
						$("#bis_jahr").val(d[2]);
						$("#month-year2 option,#selday2 option").removeAttr("selected");
						$("#selday2 option[value="+parseInt(d[0],10)+"]").attr("selected","selected");
						$("#month-year2 option[value="+ addLeadingZero(parseInt(d[1],10)) +"-"+parseInt(d[2],10)+"]").attr("selected","selected");
					}
	
	$("#flysearch-date2").datepicker(opt);	
	
	/*hidden felder mit startwerten setzten */
	var d = $("#flysearch-date2").datepicker("getDate");
	$("#RetDay").val(d.getDate());
	$("#RetMonth").val(d.getMonth()+1);
	$("#bis_jahr").val(d.getFullYear());
	
	/*Day und Month picker setzen */
	$("#selday2 option[value="+ d.getDate() +"]").attr("selected","selected");
	$("#month-year2 option[value="+ addLeadingZero(d.getMonth()+1) +"-"+d.getFullYear()+"]").attr("selected","selected");
	
	$("#flysearch-extended-wrap").hide();
	$("#flysearch-extended-link").toggle(
			function(){$(this).html("Kinder und Kleinkinder &lt;&lt;");$("#flysearch-extended-wrap").show("fast");$("#tarif_klasse,#pax").hide();},
			function(){$(this).html("Kinder und Kleinkinder &gt;&gt;");$("#flysearch-extended-wrap").hide("fast");$("#tarif_klasse,#pax").show();});
	$("input[name=suchen]").click(function(){$("form#flysearch").submit();});
	
	$("#month-year, #selday").change(function(){setPickerDate("#flysearch-date1","#selday","#month-year","#Day","#Month","#von_jahr")});
	$("#month-year2, #selday2").change(function(){setPickerDate("#flysearch-date2","#selday2","#month-year2","#RetDay","#RetMonth","#bis_jahr")});
	
	if($.browser.msie && parseInt($.browser.version) < 7){ /* Fix für Seltsames Display von Selects "number" */
		$("#selday2").css({position:"absolute",top:"32px",left:"84px"});
		$("#month-year2").css({position:"absolute",top:"32px",left:"126px"});
		//$("#selday2,#month-year2").wrap('<div style="overflow:hidden;float:right;height:10px;width:10px;"></div>');
	}
	
});

var setPickerDate = function (id,day,monthYear,hiddenDay,hiddenMonth,hiddenYear){
	dayId = day;
	day = parseInt($(day).val(),10);
	monthYear = $(monthYear).val().split("-");
	month = monthYear[0];
	month = parseInt(month,10)-1;
	year = monthYear[1];
	year = parseInt(year,10);
	d = new Date(year,month,day,0,0,0,1);
	while(d.getMonth()>month){
		day--;
		d = new Date(year,month,day,0,0,0,1);
	}
	$(dayId + " option").removeAttr("selected");
	$(dayId + " option[value="+day+"]").attr("selected","selected");
	$(id).datepicker("setDate",d);
	$(id).datepicker({defaultDate:d});
	/* Felder setzen da sie der onSelect event nicht ausgelöst wird */
	$(hiddenDay).val(day);
	$(hiddenMonth).val(month+1);
	$(hiddenYear).val(year);
	
}

