
function load_calendar() {
	$("div#event").slideUp();
	$.get('/calendar/', { 
				main_categories: [selected_main_categories()], 
				categories: [selected_categories()], 
				disabled_sources: [disabled_sources()], 
				start_date: $("#startDate").val(),
				end_date: $("#endDate").val(),
				min_price: $("#minPrice").val(),
				max_price: $("#maxPrice").val(),
				min_time: $("#minTime").val(),
				max_time: $("#maxTime").val(),
				location: false
			}, 
		function(html) {
			$("#content").empty();
			$("#content").html(html);
	});
}

function selected_categories() {
	var selected_categories = [];
	$("#event li").each(function(){
		if ($(this).hasClass("selected")) {
			selected_categories.push($(this).attr("category_id"));
		}
	});
	return selected_categories;
}

function selected_main_categories() {
	var selected_categories = [];
	$("#event h2").each(function(){
		if ($(this).hasClass("selected")) {
			selected_categories.push($(this).attr("category_id"));
		}
	});
	return selected_categories;
}
function disabled_sources() {
	var disabled_sources = [];
	$("div.sources_selector img").each(function(){
		if ($(this).hasClass("notselected")) {
			disabled_sources.push($(this).attr("alt"));
		}
	});
	return disabled_sources;
}



$(function() {

	
	$("#location_selector_holder span.hide a, #date_range_selector_holder span.hide a").click(function(e) {
		e.preventDefault();
		$('#location_selector_holder').slideUp();
		$('#date_range_selector_holder').slideUp();	
	});

	$("#location_change_button").click(function() {
		$('#date_range_selector_holder').slideUp();
		$('#location_selector_holder').slideDown();
	});
	
	$("a.set_location").click(function(event) {
		event.preventDefault();
		$('#location_selector_holder').slideUp();
		$.get($(this).attr("href"), function(html){
			$("p#location").empty();
			$("p#location").html(html);
		});
	});

	
    $(".dateControl").datepicker({
        showOn: 'both',
        buttonImage: '/_template/images/calendar.gif',
        buttonImageOnly: true
	});
    
    $(".price .slider").slider({
			min: 1,
			max: 1000,
			values: [$("#minPrice").val(), $("#maxPrice").val()],
			slide: function(event, ui) {
				if(ui.values[1] > ui.values[0]) {
					$("#minPrice").val(ui.values[0]);
					$("#maxPrice").val(ui.values[1]);
					$(".price .minPriceLabel").text('$' + ui.values[0]);
					$(".price .maxPriceLabel").text('$' + ui.values[1]);
				}
				else {
					$("#minPrice").val(ui.values[1]);
					$("#maxPrice").val(ui.values[0]);
					$(".price .minPriceLabel").text('$' + ui.values[1]);
					$(".price .maxPriceLabel").text('$' + ui.values[0]);
				}
			}
    });
    $(".time .slider").slider({
			min: 0,
			max: 23,
			values: [$("#minTime").val(), $("#maxTime").val()],
			slide: function(event, ui) {
				if(ui.values[1] > ui.values[0]) {
					$("#minTime").val(ui.values[0]);
					$("#maxTime").val(ui.values[1]);
					$(".time .minTimeLabel").text(timeToString(ui.values[0]));
					$(".time .maxTimeLabel").text(timeToString(ui.values[1]));
				}
				else {
					$("#minTime").val(ui.values[1]);
					$("#maxTime").val(ui.values[0]);
					$(".time .minTimeLabel").text(timeToString(ui.values[1]));
					$(".time .maxTimeLabel").text(timeToString(ui.values[0]));
				}
			}
    });
    
    
    
    
    $(".topSelector .search .categories").click(function (event) {
        $(".topSelector .event").toggle();
        $(".topSelector .eventSpacer").toggle();
		return false;
    });

    $(".topSelector .event .view").click(function (event) {
		category = $($(this).closest('th').get(0)).find('h2').text();
		$('.event tr[class="CONCERTS"]').hide();
		$('.event tr[class="OTHER"]').hide();
		$('.event tr[class="SPORTS"]').hide();
		$('.event tr[class="THEATRE"]').hide();
		$('.event tr[class="' + category + '"]').show();
		return false;
    });

    $(".topSelector #bottom .view a").click(function (event) {
		$('.event tr[class="CONCERTS"]').show();
		$('.event tr[class="OTHER"]').show();
		$('.event tr[class="SPORTS"]').show();
		$('.event tr[class="THEATRE"]').show();
		return false;
    });


    $(".topSelector .search .getnow").click(function (event) {
		updateCategories();
        $("#searchForm").submit();
		return false;
    });
    if($(".calendarResult").length == 1) {
        setTimeout("loadCalendarResult();", 1000);
    }
    if($(".detailResult").length == 1) {
        setTimeout("loadDetailResult();", 1000);
    }

	$('.event tr[class="OTHER"]').hide();
	$('.event tr[class="SPORTS"]').hide();
	$('.event tr[class="THEATRE"]').hide();
});
function timeToString(value) {
	if(value == 0)
		return '12am';
	else if(value < 12)
		return value + 'am';
	else if(value == 12)
		return '12pm';
	else
		return (value - 12) + 'pm';
}

/*
function updateCategoriesSummary() {
	allSelected = true;
	allUnselected = true;
	allToplevel = true;
	$('.subcategory').each(function(i) {
		if(!$(this).hasClass('selected'))
			allSelected = false;
		if($(this).hasClass('selected'))
			allUnselected = false;
	});
	$('.subcategory2').each(function(i) {
		if(!$(this).hasClass('selected'))
			allSelected = false;
		if($(this).hasClass('selected'))
			allUnselected = false;
	});
	$('.topSelector .event h2').each(function(i) {
		if(!$(this).hasClass('selected'))
			allToplevel = false;
	});
	$('.topSelector .search .categories').text('ALL AVAILABLE (Click to change)');
	if(!allSelected && !(allToplevel && allUnselected))
		$('.topSelector .search .categories').text('SELECTED (Click to change)');
}
function updateCategories() {
	categories = '';
	$('#event th h2.selected').each(function() {
		if(categories == '')
			categories = $(this).text();
		else
			categories = categories + ',' + $(this).text();
	});
	$('.subcategory').each(function() {
		level1 = $($(this).closest('tr').get(0)).attr('class');
		level2 = $(this).text();
		if($(this).hasClass('selected')) {
			if(categories == '')
				categories = level1 + '|' + level2;
			else
				categories = categories + ',' + level1 + '|' + level2;
		}
		$(this).siblings('.subcategory2.selected').each(function(j) {
			level3 = $(this).text();
			categories = categories + ',' + level1 + '|' + level2 + '|' + level3;
		});
	});
	$('#categories').val(categories);
}
function updateSources() {
	var sources = '';
	$('.source img.select.notselected').each(function() {
		if(sources == '')
			sources = $(this).attr('alt');
		else
			sources = sources + ',' + $(this).attr('alt');
	});
	$('#source').val(sources);
}



function loadCalendarResult() {
	updateCategories();
	updateSources();
	var filter = {
		city: $(".city .popup").val(),
		startDate: $("#startDate").val(),
		endDate: $("#endDate").val(),
		minPrice: $("#minPrice").val(),
		maxPrice: $("#maxPrice").val(),
		minTime: $("#minTime").val(),
		maxTime: $("#maxTime").val(),
		source: $("#source").val(),
		categories: $("#categories").val()
	};
    $(".calendarResult").load("ajax.php/calendar", filter, function(responseText, textStatus, XMLHttpRequest) {
        $(".loader").hide();
	    $("#detailForm a").click(function (event) {
			$("#category").val($(this).attr('class'));
			$("#date").val($(this).parent().attr('class'));
	        $("#detailForm").submit();
			return false;
	    });
    });
}
function loadDetailResult() {
	updateCategories();
	updateSources();
	var filter = {
		city: $(".city .popup").val(),
		startDate: $("#startDate").val(),
		endDate: $("#endDate").val(),
		minPrice: $("#minPrice").val(),
		maxPrice: $("#maxPrice").val(),
		minTime: $("#minTime").val(),
		maxTime: $("#maxTime").val(),
		source: $("#source").val(),
		categories: $("#categories").val(),
		date: $("#date").val(),
		category: $("#category").val(),
		subcategory: $("#subcategory").val(),
		page: $("#page").val()
	};
    $(".detailResult").load("ajax.php/detail", filter, function(responseText, textStatus, XMLHttpRequest) {
        $(".loader").hide();
		$('.detailResult').show();
	    $(".detailResult .topnav a.category").click(function (event) {
			$("#category").val($(this).text());
			$("#subcategory").val('');
			$("#page").val('1');
	        $(".loader").show();
			$('.detailResult').hide();
			loadDetailResult();
			return false;
	    });
	    $(".detailResult .subcat a").click(function (event) {
			$(this).toggleClass('unselected');
			subcategories = '';
			$('.detailResult .subcat a.unselected').each(function() {
				if(subcategories == '')
					subcategories = $(this).text();
				else
					subcategories = subcategories + ',' + $(this).text();
			});
			$("#subcategory").val(subcategories);
			$("#page").val('1');
	        $(".loader").show();
			$('.detailResult').hide();
			loadDetailResult();
			return false;
	    });
	    $(".detailResult .back a").click(function (event) {
			updateCategories();
	        $("#searchForm").submit();
			return false;
	    });
	    $(".detailResult .pager a").click(function (event) {
			if($(this).hasClass('ll')) {
				$("#page").val(Math.floor(((Number($("#page").val()) - 1) / 5) - 1) * 5 + 5);
		        $(".loader").show();
				$('.detailResult').hide();
				loadDetailResult();
			}
			else if($(this).hasClass('l')) {
				$("#page").val(Number($("#page").val()) - 1);
		        $(".loader").show();
				$('.detailResult').hide();
				loadDetailResult();
			}
			else if($(this).hasClass('r')) {
				$("#page").val(Number($("#page").val()) + 1);
		        $(".loader").show();
				$('.detailResult').hide();
				loadDetailResult();
			}
			else if($(this).hasClass('rr')) {
				$("#page").val(Math.floor(((Number($("#page").val()) - 1) / 5) + 1) * 5 + 1);
		        $(".loader").show();
				$('.detailResult').hide();
				loadDetailResult();
			}
			else {
				$("#page").val($(this).text());
		        $(".loader").show();
				$('.detailResult').hide();
				loadDetailResult();
			}
			return false;
		});
    });
}
*/
