$(document).ready(function(){

	
	$("select#country_select").change(function() {
		var cid = $(this).val();
		$.get("ajax_search_cities.php", { cid: cid },
  			function(data){
    		$("select#city_select").html("");
			$("select#city_select").html(data);
  		});
	});
	
	$("#search_submit").click(function() {
		$(".preloader").addClass("preloader2");
	});

	function updateArrDates(date) {
		var sdate = date.split('-');

		$('#ar_month').val(sdate[1]); 
		$('#ar_day').val(sdate[2]); 
		$('#ar_year').val(sdate[0]);
		
		changeDays('ar',sdate[0],sdate[2]);
		changeAr();
		setDep();
		
		var newDepDay = $('#dep_year').val()+'-'+$('#dep_month').val()+'-'+$('#dep_day').val();
		$("#dep_input").val(newDepDay);
		$("#dep_input").datepicker( "option", "minDate", new Date($('#ar_year').val(), parseInt($('#ar_month').val())-1,parseInt($('#ar_day').val())+1) );
		
	}
	
	function updateDepDates(date) {
		var sdate = date.split('-');
		
//		changeDays('dep',sdate[0],1);
		$('#dep_month').val(sdate[1]); 
		$('#dep_day').val(sdate[2]); 
		$('#dep_year').val(sdate[0]);
		changeDp();
		$('#dep_day').val(sdate[2]);

	}

	$("#arr_input").datepicker({
		dateFormat: 'yy-m-d',
		minDate: new Date(),
		maxDate: '+2Y',
		onSelect: updateArrDates,
		showOn: 'button', buttonImage: 'http://www.rezerwuje.com.pl/templates/images/icons/calendar.png', buttonImageOnly: true
	});
	
	$("#dep_input").datepicker({
		dateFormat: 'yy-m-d',
		minDate: '+1D',
		maxDate: '+2Y',
		onSelect: updateDepDates,
		showOn: 'button', buttonImage: 'http://www.rezerwuje.com.pl/templates/images/icons/calendar.png', buttonImageOnly: true
	});
	
	$("select#ar_day").change(function(){
		changeAr();
		setDep();
		updateArCal();
		updateDepCal();
	});

	$("select#ar_month").change(function(){
		changeAr();
		setDep();
		updateArCal();
		updateDepCal();
	});
	
	$("select#ar_year").change(function(){
		changeAr();
		setDep();
		updateArCal();
		updateDepCal();
	});
	
	$("select#dep_day").change(function(){
		updateDepCal();
	});
	
	$("select#dep_month").change(function(){
		changeDp();
		updateDepCal();
	});
	
	$("select#dep_year").change(function(){
		changeDp();
		updateDepCal();
	});
	
	function updateDepCal() {
		var updateCal = $('#dep_year').val()+'-'+$('#dep_month').val()+'-'+$('#dep_day').val();
		$("#dep_input").datepicker( "option", "minDate", new Date($('#ar_year').val(), $('#ar_month').val()-1,$('#ar_day').val()) );
		$("#dep_input").val(updateCal);
	}
	
	function updateArCal() {
		var updateCal = $('#ar_year').val()+'-'+$('#ar_month').val()+'-'+$('#ar_day').val();
		$("#arr_input").val(updateCal);
	}
		
	function changeAr() {
		var ard = $('#ar_day').val();
		var arm = $('#ar_month').val();
		var ary = $('#ar_year').val();
		var d = new Date();
		var today = d.getDate();
		var cm = d.getMonth();	// current month
		var cy = d.getFullYear();	// current year
		var i = 1;
		cm = cm + 1;	// months in js 0-11 not 1-12
		
		if(ary != cy) {
			$("select#ar_month").find('option').attr("disabled", false); 
		} else {
			$("select#ar_month option").each(function(i){
   				 if($(this).val() < cm) {
					$(this).attr("disabled", true);
				 }
			});
			if ($("select#ar_month option:selected").val() < cm) {
				$("select#ar_month option[value='"+cm+"']").attr('selected', 'selected');
			}
		}

		if(arm <= cm && ary == cy) {
			i = today;
		}
		
		changeDays('ar',ary,i);
		$('#ar_day').val(ard);
	
	}
	
	function changeDp() {
		var ard = $('#ar_day').val();
		var arm = $('#ar_month').val();
		var ary = $('#ar_year').val();
		
		var dpd = $('#dep_day').val();
		var dpm = $('#dep_month').val();
		var dpy = $('#dep_year').val();
		
		var i;

		if(ary == dpy) {
			$("select#dep_month option").each(function(i){
				 if($(this).val() < parseInt(arm)) {
					$(this).attr("disabled", true);
				 } else {
					 $(this).attr("disabled", false);
				 }
			});
		} else {
			$("select#dep_month").find('option').attr("disabled", false);
		}
		
		$("select#dep_year option").each(function(i){
			 if($(this).val() < parseInt(ary)) {
				$(this).attr("disabled", true);
			 } else {
				 $(this).attr("disabled", false);
			 }
		});
		
		// set dpd to ard + 1
		if( $("select#ar_day").val() == $("select#ar_day option:last").val() && $("select#ar_month").val() != 12 ) {
			i = 1;
			$('#dep_month').val(parseInt(arm)+1);
			dpd = 1;
		} else if ($("select#ar_day").val() == $("select#ar_day option:last").val() && $("select#ar_month").val() == 12) {
			i = 1;
		} else {
			i = parseInt(ard)+1;	
		}
		
		if(parseInt(dpm) > parseInt(arm)) i = 1;
		if(parseInt(dpy) > parseInt(ary)) i = 1;
	//	alert('DPM: '+dpm+' , ARM: '+arm+' , Dni od: '+i);
	
		changeDays('dep',dpy,i);
		$('#dep_day').val(dpd);

		if(dpy > ary) $("select#dep_month").find('option').attr("disabled", false);
				
	}
	
	function changeDays(f,y,i) { // ar,dep + year + start day
		var field = f+'_day';
		var m = $("select#"+f+"_month").val();
		
		$("select#"+f+"_day").find('option').remove().end();
		
		if(m == 2) {
			var year = y-2000;
			if (Math.floor(year/4)==year/4) days=29; else days=28;
			for(i;i<=days;i++) {
				$("select#"+f+"_day").append('<option value="'+i+'">'+i+'</option>');
			}
		} else if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) {
			for (i ; i<=31 ; i++){
				$("select#"+f+"_day").append('<option value="'+i+'">'+i+'</option>');
			}
		} else {
			for (i ; i<=30 ; i++){
				$("select#"+f+"_day").append('<option value="'+i+'">'+i+'</option>');
			}	
		}	
	}
	
	function setDep() {
		var ard = $('#ar_day').val();
		var arm = $('#ar_month').val();
		var ary = $('#ar_year').val();
		
		$('#dep_month').val(arm);
		$('#dep_year').val(ary);

		changeDp();

		// Happy new year addon
		if(ard == 31 && arm == 12) {
			ary = parseInt(ary)+1;
			$("#dep_day").val(1);
			$("#dep_month").val(1);
			$("#dep_year").val(ary);
			$("select#dep_month").find('option').attr("disabled", false);
		}
	}
	
	
	$(".search_button :image").click(function(){
		$("input").hide();
		$("select").hide();
		
		var arr = $("select#ar_day option:selected").text() +'-'+ $("select#ar_month option:selected").text() +'-'+ $("select#ar_year option:selected").text();
		var dep = $("select#dep_day option:selected").text() +'-'+ $("select#dep_month option:selected").text() +'-'+ $("select#dep_year option:selected").text();
									
		// $('.preloader').height($(document).height());		
		$('.preloader').show();
		$("#preloader_arrdate").html(arr);
		$("#preloader_depdate").html(dep);
		$("#preloader_city").html($("select#citySelect option:selected").text());
		$("#preloader_roomtype").html($("select#roomType option:selected").text());
		$("#preloader_numofrooms").html($("select#numOfRooms option:selected").text());
	});

});
