function _updateActivities(searchActivities,searchRegions,searchDestinations) {
	var activityId = $("#"+searchActivities).val();
	var regionId = $("#"+searchRegions).val();
	var destinationId = $("#"+searchDestinations).val();
	var activities = $.ajax({
			url: acmsPath+"modules/ke_trips/client/ajax.php",
			async: false,
			data: "action=updateSearchActivities&regionId="+regionId+"&destinationId="+destinationId+"&acmsPath="+acmsPath
	}).responseText.split("|");
	var activitiesHTML = '<option value="">All activities</option>';
	for(var i=0; i<activities.length; i+=2) {
		activitiesHTML += '<option value="'+activities[i]+'">'+activities[i+1]+'</option>';
	}
	$("#"+searchActivities).html(activitiesHTML);
	if(activityId != "") { $("#"+searchActivities+" option[value='"+activityId+"']").attr("selected","true"); }
}

function _updateRegions(searchActivities,searchRegions,searchDestinations) {
	var regionId = $("#"+searchRegions).val();
	var activityId = $("#"+searchActivities).val();
	var destinationId = $("#"+searchDestinations).val();
	if(regionId == "") { $("#"+searchRegions+" option:first").html("Loading..."); }
	var regions = $.ajax({
			url: acmsPath+"modules/ke_trips/client/ajax.php",
			async: false,
			data: "action=updateSearchRegions&activityId="+activityId+"&destinationId="+destinationId+"&acmsPath="+acmsPath
	}).responseText.split("|");
	var regionsHTML = '<option value="">All regions</option>';
	for(var i=0; i<regions.length; i+=2) {
		regionsHTML += '<option value="'+regions[i]+'">'+regions[i+1]+'</option>';
	}
	$("#"+searchRegions).html(regionsHTML);
	if(regionId != "") { $("#"+searchRegions+" option[value='"+regionId+"']").attr("selected","true"); }
}

function _updateDestinations(searchActivities,searchRegions,searchDestinations) {
	var destinationId = $("#"+searchDestinations).val();
	var regionId = $("#"+searchRegions).val();
	var activityId = $("#"+searchActivities).val();
	if(destinationId == "") { $("#"+searchDestinations+" option:first").html("Loading..."); }
	var destinations = $.ajax({
			url: acmsPath+"modules/ke_trips/client/ajax.php",
			async: false,
			data: "action=updateSearchDestinations&regionId="+regionId+"&activityId="+activityId+"&acmsPath="+acmsPath
	}).responseText.split("|");
	var destinationsHTML = '<option value="">All destinations</option>';
	for(var i=0; i<destinations.length; i+=2) {
		destinationsHTML += '<option value="'+destinations[i]+'">'+destinations[i+1]+'</option>';
	}
	$("#"+searchDestinations).html(destinationsHTML);
	if(destinationId != "") { $("#"+searchDestinations+" option[value='"+destinationId+"']").attr("selected","true"); }
}

function resetSearchForm() {
	$("#sidebarSearchForm input").each(function(){
		$(this).val("");
	});
	$("#sidebarSearchForm select").each(function(){
		$(this).val("");
	});
	_updateRegions('searchActivities','searchRegions','searchDestinations');
	_updateDestinations('searchActivities','searchRegions','searchDestinations');
	_updateActivities('searchActivities','searchRegions','searchDestinations');
}

function _updateTripListPagesSearchResults() {
	if($("#searchDestinations").val()) { var destinationId = $("#searchDestinations").val().join(","); }
	else { var destinationId = ''; }
	if($("#searchRegions").val()) { var regionId = $("#searchRegions").val().join(","); }
	else { var regionId = ''; }
	if($("#searchActivities").val()) { var activityId = $("#searchActivities").val().join(","); }
	else { var activityId = ''; }
	if($("#searchNewTrip").is(':checked')) { newTrip = 1; }
	else { newTrip = 0; }
	var kword = $("#searchKeyword").val();
	var budget = $("#searchBudget").val();
	var duration = $("#searchDuration").val();
	var departing_date = $("#searchDepartDate").val();
	var departing_month = $("#searchDepartMonth").val();
	var departing_year = $("#searchDepartYear").val();
	var returning_date = $("#searchReturnDate").val();
	var returning_month = $("#searchReturnMonth").val();
	var returning_year = $("#searchReturnYear").val();
	if($("#kwords").val()) { var kwords = $("#kwords").val().join(",").replace(/\s/g,""); }
	else { var kwords = ''; }
	var trip_status = $("#tripStatus").val();
	var listing_layout = $("#listingLayout").val();
	var parameters = "destinationId="+escape(destinationId)+"&regionId="+escape(regionId)+"&activityId="+escape(activityId)+"&kword="+escape(kword)+"&newTrip="+newTrip+"&budget="+budget+"&duration="+duration+"&departing_date="+departing_date+"&departing_month="+departing_month+"&departing_year="+departing_year+"&depart_before_date="+returning_date+"&depart_before_month="+returning_month+"&depart_before_year="+returning_year+"&kwords="+kwords+"&status="+trip_status+"&layout="+listing_layout;
	var url = "modules/ke_trips/client/ajax.php?action=updateTripListPagesSearchResults&"+parameters+"&acmsPath="+acmsPath;
	$("#loadingMsg").html('<img src="/images/ajax_loader_large.gif"/><br /><br />...loading search results...');
	$("#tripListSearchResults iframe").attr("src",url);
	$("#tripListSearchParameters").val(parameters);
}

function _updateOtherOptionsRegionCount(regionId,activityId) {
	$.ajax({
		url: acmsPath+"modules/ke_trips/client/ajax.php",
		data: "action=updateOtherOptionsRegionCount&activityId="+activityId+"&regionId="+regionId+"&acmsPath="+acmsPath,
		success: function(num){
			$("#numRegionTrips_"+regionId+"_"+activityId).html('('+num+')');
			$("#numRegionTrips_"+regionId+"_"+activityId).fadeIn("slow");
		}
	});
}

function _updateOtherOptionsActivityCount(activityId) {
	$.ajax({
		url: acmsPath+"modules/ke_trips/client/ajax.php",
		data: "action=updateOtherOptionsActivityCount&activityId="+activityId+"&acmsPath="+acmsPath,
		success: function(num){
			$("#numActivityTrips_"+activityId).html('('+num+')');
			$("#numActivityTrips_"+activityId).fadeIn("slow");
		}
	});
}

function _updateOtherOptionsCountryCount(countryId,activityId) {
	$.ajax({
		url: acmsPath+"modules/ke_trips/client/ajax.php",
		data: "action=updateOtherOptionsCountryCount&activityId="+activityId+"&countryId="+countryId+"&acmsPath="+acmsPath,
		success: function(num){
			if(num > 0) {
				$("#numCountryTrips_"+countryId+"_"+activityId).html('('+num+')');
				$("#numCountryTrips_"+countryId+"_"+activityId).fadeIn("slow");
			}
			else { $("#numCountryTrips_"+countryId+"_"+activityId).parent().parent().fadeOut(); }
		}
	});
}

$(document).ready(function(){
	$("#buildTripListButton").click(function() {
		_updateTripListPagesSearchResults();
	});
	$("#searchActivities").change(function() {
		if(acmsPath) {
			_updateRegions('searchActivities','searchRegions','searchDestinations');
			_updateDestinations('searchActivities','searchRegions','searchDestinations');
		}
	});
	$("#searchRegions").change(function() {
		if(acmsPath) {
			_updateDestinations('searchActivities','searchRegions','searchDestinations');
		}
	});
	$("#advancedSearchLink").toggle(
		function(){
			$("#searchFormAdvanced").slideDown("slow");
		},
		function(){
			$("#searchFormAdvanced").slideUp("slow");
		}				
	);
	$("#sidebar_alternativeOptions dd span").each(function(){
		id = $(this).attr("id").split("_");
		if(id[0] == 'numRegionTrips') {
			_updateOtherOptionsRegionCount(id[1],id[2]);
		}
		if(id[0] == 'numCountryTrips') {
			_updateOtherOptionsCountryCount(id[1],id[2]);
		}
		if(id[0] == 'numActivityTrips') {
			_updateOtherOptionsActivityCount(id[1]);
		}
	});
});

