jQuery(document).ready(function() {
	 initDateCombos("#departureMonth", "#departureDay");
	 initDateCombos("#returnMonth", "#returnDay");
	 jQuery("#returnMonth").attr("disabled", "disabled");
         jQuery("#returnDay").attr("disabled", "disabled");
	 toggleRadio();
		d = new Date();
		$('.date-pick').datePicker().val(new Date().addDays(1).asString()).trigger('change');
		$('#departure_date').dpSetStartDate(d.addDays(1).asString());
		$('#return_date').dpSetStartDate(d.asString());
		$('#departure_date') 
			.bind(
					'dateSelected',
					function()
					{
						manageDepartureDate();
					}
				);
		$('#return_date') 
		.bind(
				'dateSelected',
				function()
				{
					manageReturnDate();
				}
			);
		manageDepartureDate();
		manageReturnDate();
});

function manageDepartureDate() {
	var departureDate = jQuery('#departure_date').val();
	var day = departureDate.substring(0,2);
	var month = departureDate.substring(3,5);
	if (departureDate.substring(3,4) == "0") {
		month = departureDate.substring(4,5);
	}
	month = parseInt(month,10) - 1
	jQuery("#departureDay").val(parseInt(day,10));
	jQuery("#departureMonth").val(month);
}

function manageReturnDate() {
	var returnDate = jQuery('#return_date').val();
	var day = returnDate.substring(0,2);
	var month = returnDate.substring(3,5);
	if (returnDate.substring(3,4) == "0") {
		month = returnDate.substring(4,5);
	}
	month = parseInt(month,10) - 1
	jQuery("#returnDay").val(parseInt(day,10));
	jQuery("#returnMonth").val(month);
}


function initDateCombos(monthBox, dayBox) {
	var months = ['Ian', 'Feb','Mar','Apr','Mai','Iun','Iul','Aug','Sep','Oct','Noi','Dec'];
	jQuery(monthBox).empty();
	var departureM = jQuery(monthBox);
	for (var it = 0; it < months.length; it++) {
		 departureM.append("<option value=\"" + it + "\">" + months[it] + "</option>");
	}
	jQuery(dayBox).empty();
    var departureD = jQuery(dayBox);
    for (var it = 1; it <= 31; it++) {
		 departureD.append("<option value=\"" + it + "\">" + it + "</option>");
	} 
}

function changeMonthDays(monthBox, dayBox){
	 var m = jQuery(monthBox).val();
	 var month = parseInt(m) + 1;
	 if (month == 2 || month == 4 || month == 6 || month == 9 || month == 11) {
		 if( jQuery(dayBox).containsOption("31") ) { 
			 jQuery(dayBox).removeOption("31"); 
		 } 
		 if (month ==2 && jQuery(dayBox).containsOption("30") ) {
			 jQuery(dayBox).removeOption("30"); 
		 }
		 else {
			 if (!jQuery(dayBox).containsOption("30")) {
				 jQuery(dayBox).append("<option value=\"30\">30</option>");
			 }
		 }
	 }
	 else { //31 days month
		 if (!jQuery(dayBox).containsOption("30")) {
			 jQuery(dayBox).append("<option value=\"30\">30</option>");

		 }
		 if (!jQuery(dayBox).containsOption("31")) {
			 jQuery(dayBox).append("<option value=\"31\">31</option>");

		 }
	 }
	 
}


function refreshSearchForm() {
	
	var departureCountryName = jQuery("#departureCountry").val();
	var departureCityName = jQuery("#departureCity").val();
	
	var arrivalCountryName = jQuery("#arrivalCountry").val();
	var arrivalCityName = jQuery("#arrivalCity").val();
	
	jQuery.post(CONTEXT_PATH + "/view/journey/search/form", 
			{
				departureCountryName : departureCountryName,
				departureCityName : departureCityName,
				arrivalCountryName : arrivalCountryName,
				arrivalCityName : arrivalCityName
				
			},function(content) {
				jQuery("#search_holder").empty();
				jQuery("#search_holder").append(content);
			});
}

function searchJourneys() {
	var type = "yes";
	if (document.getElementById("noReturn").checked) { type = "no;"}
	var departure = jQuery("#departureCity").val();
	var arrival = jQuery("#arrivalCity").val();
	var departureCountry = jQuery("#departureCountry").val();
	var arrivalCountry = jQuery("#arrivalCountry").val();
	var departureMonth = jQuery("#departureMonth").val();
	var departureDay = jQuery("#departureDay").val();
	var returnMonth = jQuery("#returnMonth").val();
	var returnDay = jQuery("#returnDay").val();
	var adults = jQuery("#adults").val();
	var children = jQuery("#children").val();
	var elders = jQuery("#elders").val();
	var total = parseInt(adults) + parseInt(children) + parseInt(elders);
	if (total > 0) {
		jQuery.post(CONTEXT_PATH + "/view/journey/search", 
				{
					departure : departure,
					arrival : arrival,
					departureCountry : departureCountry,
					arrivalCountry : arrivalCountry,
					departureMonth : departureMonth,
					departureDay : departureDay,
					returnMonth : returnMonth,
					returnDay : returnDay,
					adults : adults,
					children : children,
					elders : elders,
					hasReturn : type,
					alreadyVisited : "no"
					
				},function(content) {
					jQuery("#content_holder").empty();
					jQuery("#content_holder").append(content);
				});
	}
}


function toggleRadio() {
	jQuery("#noReturn").click(function() {
		if (this.checked) {
			jQuery("#returnMonth").attr("disabled", "disabled");
			jQuery("#returnDay").attr("disabled", "disabled");
		} else {
			jQuery("#returnMonth").removeAttr("disabled");
			jQuery("#returnDay").removeAttr("disabled");
		}
	});
	jQuery("#withReturn").click(function() {
		if (this.checked) {
			jQuery("#returnMonth").removeAttr("disabled");
			jQuery("#returnDay").removeAttr("disabled");
		} else {
			jQuery("#returnMonth").attr("disabled", "disabled");
			jQuery("#returnDay").attr("disabled", "disabled");
		}
	});
};