// JavaScript Document


jQuery( function($) {

	$("#categoryId").change(updateSubCategories);

	$("#categoryId").change(displayForOptions);
	
	$("#searchButton").click(function() {$("#homeSearchForm").submit()})
	displayForOptions();
	//updateCategories();			 
	
	
	
	$("input:radio[name=limitDistance]").click(updateSearchFormDistance);
	updateSearchFormDistance();
	
	updateCounties();
	$("#categoryId").trigger("change");

});


function displayForOptions() {
	var selectedId = $("#categoryId option:selected").val();
	if (
			($.toNum(selectedId) <=3)
			&&
			($.toNum(selectedId) > 0)
		) {
		
		$("#rowForOptions").show();	
	} else {
		$("#rowForOptions").hide();
	}
}


function updateCategories() {
	$("#categoryWorking").show();
	$.ajax({
	
		url			:	"/cgi-bin/v4/ajax.pl",
		type		:	"POST",
		data		:	{
							"com"				:	"JSONgetListingTypeNames"
							
						
						},
		dataType	:	"json",
		complete	:	function(request){},
		success		:	function(data){
							$("#categoryWorking").hide();
							$("#categoryId").empty();

							$("#categoryId").append("<option value='0'>Please choose...</option>");
							$(data).each(
										function() {
												
												  $("#categoryId").append("<option value='" + this.ID + "'>" + this.Type + "</option>");
										}
							)
							
						},
								
		error		:	function(request) {
							$("#categoryWorking").hide();
							//alert("Error: " + request.responseText || 'Unspecified Error');
						}
	});

}



function updateSubCategories() {
	
	//console.log($("#categoryId option:selected").val());
	if ($("#categoryId option:selected").val() == 0) {
		$("#searchButton").slideUp();		
	} else {
		$("#searchButton").slideDown();	
	}
	
	$("#subCategoryWorking").show();
	$.ajax({
	
		url			:	"/cgi-bin/v4/ajax.pl",
		type		:	"POST",
		data		:	{
							"com"				:	"JSONgetSubTypeNames",
							"typeId"			:	$("#categoryId option:selected").val()
						
						},
		dataType	:	"json",
		complete	:	function(request){},
		success		:	function(data){
							$("#subCategoryWorking").hide();
							$("#subCategoryId").empty();
														
							var selectedCategory = $("#categoryId option:selected").text();
							
							if ($("#categoryId option:selected").val() == 0) {
								$("#subCategoryId").append("<option value='0'>(choose a category)</option>");
							} else {
								$("#subCategoryId").append("<option value='0'>All " + selectedCategory + "</option>");
							}
							
							$(data).each(
										function() {
											
												  $("#subCategoryId").append("<option value='" + this.ID + "'>" + this.SubType + "</option>");
										}
							)
							
						},
								
		error		:	function(request) {
							$("#subCategoryWorking").hide();
							//alert("Error: " + request.responseText || 'Unspecified Error');
						}
	});

}

function updateSearchFormDistance() {
	
	var selected = $("input:radio[name=limitDistance]:checked").val();
	if (selected == "area") {
		$("#postcodeOptions").hide();	
		$("#areaOptions").show();
	} else {
		$("#postcodeOptions").show();	
		$("#areaOptions").hide();
	}
}	




function updateCounties() {

	$("#countyWorking").show();
	$.ajax({
	
		url			:	"/cgi-bin/v4/ajax.pl",
		type		:	"POST",
		data		:	{
							"com"				:	"JSONcountyPostcodes",
							"r"					:	Math.random()
						},
		dataType	:	"json",
		complete	:	function(request){},
		success		:	function(data){
							$("#countyWorking").hide();
							var menu = $("#countyList")
							menu.empty();
														
							var counties = $();
							
							$(data).each(
									function() {
											  menu.append("<option value='" + this.firstHalf + "'>" + this.county + "</option>");
									}
							)
							
							if ($.browser.msie && $.browser.version < 7) {	// hackety hack for IE6
								menu.css("width", "300px"); // make the counties list wide so it's readable
								// try to find London in the list to select it...
								
								
							}
							
							$("#countyList option:contains(London):last").attr("selected", true);
							menu.trigger("loaded");
														
						},
								
		error		:	function(request) {
							$("#countyWorking").hide();
							//alert("Error: " + request + " " + request.responseText || 'Unspecified Error');
							//for (var i in request) {
							//	console.log(i + " : " + request.i);
							//}
						}
	});

}


