
	$(function() {
	
		$("#search-date-earliest").datepicker({beforeShow: function(){
    		$('#ui-datepicker').css('z-index', 2005);
 		}}); 
 		
 	

		$('.wizard-content').dialog({
			autoOpen: false,
			modal: true,
			resizable: false,
			closeText: 'close',
			width: 920,
			minHeight: 1,
			minWidth: 1,
			buttons: { "Auswahl aktualisieren": function() 
			{ 
			    $(this).dialog("close"); 
			    if ($(this).attr("id") == "content-reiseziel")
			    {
			        if(typeof destinationSelected == 'function') { 
						destinationSelected(GetDestinationCodes()); 
					}			        
			    }
			    if ($(this).attr("id") == "content-reisethema")
			    {
			        if(typeof anwendungSelected == 'function') { 
						anwendungSelected(GetAnwendungCodes());
					}
			    }
			    if ($(this).attr("id") == "content-ausstattung")
			    {
			        if(typeof attributeSelected == 'function') { 
						attributeSelected(GetAttributeCodes()); 
					}
			    }
			} },
			open: function(event,ui) { 
				$(this).addClass('sjard' + $(this).attr('rel'));
				//$(this).dialog( "option" , "width" , $(this).attr('rel') );
				// $(this).width($(this).width());
				//$(event.target).dialog('option', 'width', ($(event.target)[0].scrollWidth + 50) + 'px'); 
			}
		});
	
	
	//closes the dialog window if the user clicks outside of the window.
	$(".ui-widget-overlay").live("click", function() { $(".wizard-content").dialog("close"); } );
 		
 		$('.wizard-dialog .wizard-headline span').click(function() {
			var id = $(this).attr('id');
		
			var x = $(this).position().left;
	    	var y = $(this).position().top - jQuery(document).scrollTop();
			var height = $(this).height();
			
			$('#content-'+id).dialog( "option", "position", [x,y + height] );
			
			$('#content-'+id).dialog( "option", "width", parseFloat($('#content-'+id).attr('rel')) );
	
			$('#content-'+id).dialog( "option", "close", function(event, ui) { 
					
					
					$('#content-' + id + ' input:checked').each(function() {
	                    var checkbox_id = $(this).attr('id');
	                    var checkbox_class = $(this).attr('class');
	                    	
	                    if ( $('li[rel="' + checkbox_id + '"]').is(':hidden') ) {
		                	
		                	if($(this).hasClass('wizard-checkbox-deutschland')) {
		                		
		                		if (!($('.wizard-checkbox-deutschland-headline').attr('checked'))) {
		                			$('li[rel="' + checkbox_id + '"]').show('blind');
		                			}
		                		
		                	} else {
			                	$('li[rel="' + checkbox_id + '"]').show('blind');
		                	}
			
						}
						
						if ( $('li[rel="' + checkbox_id + '"]').is(':visible') ) {
							if($(this).hasClass('wizard-checkbox-deutschland')) {
		                		
		                		if ($('.wizard-checkbox-deutschland-headline').attr('checked')) {
		                			$('li[rel="' + checkbox_id + '"]').hide('blind');
		                		}
		                	}
						}
						
	                    
					});
					
					$('#content-' + id + ' input:not(:checked)').each(function() {
	                    var checkbox_id = $(this).attr('id');
	                    var checkbox_class = $(this).attr('class');
	                    if ( $('li[rel="' + checkbox_id + '"]').is(':visible') ) {
							 $('li[rel="' + checkbox_id + '"]').hide('blind');
						}
					});
				});
			$('#content-' + id).dialog('open');
			
			return false;
		});
		
		$('.wizard-dialog-zeitraum .wizard-headline span').click(function() {
			var id = $(this).attr('id');
		
			var x = $(this).position().left;
	    	var y = $(this).position().top - jQuery(document).scrollTop();
			var height = $(this).height();
			
			$('#content-'+id).dialog( "option", "position", [x,y + height] );
			$('#content-'+id).dialog( "option", "width", parseFloat($('#content-'+id).attr('rel')) );
	
			$('#content-'+id).dialog( "option", "close", function(event, ui) { 
					var dauerMin = $("#duration-slider").slider("values",0);
					var dauerMax = $("#duration-slider").slider("values",1);
					var dauerFrom = $("#datepicker-from").datepicker( "getDate" ).getDate();
					dauerFrom = dauerFrom + '.' + ($("#datepicker-from").datepicker( "getDate" ).getMonth()+1);
					dauerFrom = dauerFrom + '.' + $("#datepicker-from").datepicker( "getDate" ).getFullYear();
					var dauerUntil = $("#datepicker-until").datepicker( "getDate" ).getDate();
					dauerUntil = dauerUntil + '.' + ($("#datepicker-until").datepicker( "getDate" ).getMonth()+1);
					dauerUntil = dauerUntil + '.' + $("#datepicker-until").datepicker( "getDate" ).getFullYear();
					$("#wizard-value-duration .value-zeitraum").html(duration(dauerMin, dauerMax));			
					$("#wizard-value-from .value-from").text(dauerFrom);
					
					$("#wizard-value-until .value-until").text(dauerUntil);
					if ( $("#wizard-value-duration").is(':hidden') ) {
						$("#wizard-value-duration").show('blind');
						$("#wizard-value-from").show('blind');
						$("#wizard-value-until").show('blind');
					
					
					};
					
				});
			$('#content-' + id).dialog('open');
			
			return false;
		});

		
		$('.uncheck-checkbox').live("click", function() {
			var id = $(this).parent().attr('rel');
			$('#' + id).attr('checked', false);
			//$(this).parent().hide('blind');
			if (id=="wizard-checkbox-reiseziel-1") { 
				$('.wizard-checkbox-deutschland').attr('checked',false);
			}
			
		});
		
		$('.uncheck-zeitraum').live("click", function() {
			var id = $(this).parent().attr('rel');
			$('#' + id).attr('checked', false);
			$(this).parent().hide('blind');
			$("#duration-slider").slider("values",0,1);
			$("#duration-slider").slider("values",1,29);
		});
		
		//closes the dialog window if the user clicks outside of the window.
		$(".ui-widget-overlay").live("click", function() { $(".wizard-content").dialog("close"); } );
		
		$("#datepicker-from").datepicker({ 
				dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
				monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
				firstDay: 1,
				minDate: +1,
				dateFormat: 'dd.mm.yy',
				showOn: 'both',
				//buttonImage: '/img/datepicker.gif',
				showAnim: 'fadeIn',
				onSelect: function(event, ui) {
					FITMoveDateTo();
				}
		});
		$("#datepicker-until").datepicker({ 
				dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
				monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
				firstDay: 1,
				minDate: +2,
				defaultDate: '+22',
				dateFormat: 'dd.mm.yy',
				showOn: 'focus',
				//buttonImage: '/img/datepicker.gif',
				showAnim: 'fadeIn'
		});
		
		$("#duration-slider").slider({
			range: true,
			min: 1,
			max: 29,
			step: 1,
			values: [1, 29],
			slide: function(event, ui) {
				$("#duration-value").html(duration(ui.values[0], ui.values[1]));
			},
			change: function(event, ui) {
				FITMoveDateTo();
			}
		});
		
		$("#duration-value").html(duration($("#duration-slider").slider( "values" , 0 ), $("#duration-slider").slider( "values" , 1 )));
		
		function duration(valueMin, valueMax) {

			var duration = '';
			
			if(valueMin == 1 && valueMax == 29) {
				duration = 'mindestens 1 Nacht';
			} else if(valueMin == 1 && valueMax == 1) {
				duration = valueMax + ' Nacht';
			} else if(valueMin == 29 && valueMax == 29) {
				duration = 'mindestens 28 N&auml;chte';
			} else if(valueMin > 1 && valueMax == 29) {
				duration = 'mindestens ' + valueMin + ' N&auml;chte';
			} else {
				duration = valueMin + ' bis ' + valueMax + ' N&auml;chte';
			}
			
			return duration;
		}
		
		//dauer und dates
		function FITMoveDateTo() {
		    var minDateNumber = 2;
		    
		    minDurationNumber = GetMinDuration();
		    
		    var fromDate = $("#datepicker-from").datepicker("getDate");
		    var toDate = $("#datepicker-until").datepicker("getDate");
			var oneDay = 1000*60*60*24;
		    var difference = Math.ceil((toDate.getTime() - fromDate.getTime()) / oneDay)
		    //alert( minDateNumber );
		    
		    //if(minDurationNumber > difference) {
		    	
		    	var minDurationMilliSec = minDurationNumber * oneDay;
		    	
		    	var newDate = fromDate.getTime() + minDurationMilliSec;
		    	
		    	var newDay = new Date();
				newDay = new Date(newDate);

		    	
		    	
		    	//alert(newDay);
		    	
		    	var newToDate = fromDate.getTime() + (minDateNumber * oneDay);// + parseInt(difference);

		    	$( "#datepicker-until" ).datepicker( "option", "minDate", newDay );
		   // }
		    
		   /* $("#datepicker-until").datepicker("option" , "minDate", minDateNumber);
		    var toUpdatedDate = $("#datepicker-until").datepicker("getDate");
		    if (toCurrentDateValue != "" && toUpdatedDate == null)
		    {
		        $("#datepicker-until").datepicker("setDate",  $("#datepicker-until").datepicker("option", "minDate"));
		    }*/
		}
		 
		function GetMinDuration()
		{
		    var minDuration = 0;
		    minDuration = $("#duration-slider").slider( "values" , 0 );
		    return minDuration;
		}
		
	});



