
var currentcategory = 0;

var slider_vals = new Array(1, 5, 10, 20, 50, 1000);



function showFormErrors(errorAr) {
	if(errorAr) {
		var html = '';
		for (var i in errorAr) {
			html = html + '<li>' + errorAr[i] + '</li>';
		}
		$("#searcherrors").html(html);
	}
	$("#formerrors").infopopup({target: "#searchform", overlap:80, hoverlap: 45});
}

 
function openCategory(show) { 
	if(!jQuery.dynatree) {
		var curnode = {data: { id: currentcategory } };
	} else {
		var curnode = $('#categoryitems').dynatree('getActiveNode');
	}
	
	if(curnode && curnode.data.id == currentcategory) { 
		toggleCategories();
	} else {
		$('#categoryitems').dynatree('getTree').activateKey('key_'+currentcategory);
		
		if(show && !$("#searchtoggle").hasClass('opened')) {
			toggleCategories();
		}
	}
}

function toggleCategories() {
	if(!$("#searchtoggle").hasClass('opened')) {
		$("#searchtoggle").addClass('opened');
		$("#categorieslist").show('blind');
	} else {
		$("#searchtoggle").removeClass('opened');
		$("#categorieslist").hide('blind');
	}
}

function selectCategory(node) { 
	// TODO fix selection on index page
	if(!node) alert('please fix');
	if(node.data.selectable == 0) {
		node.expand(true);
		return false;
	}
	
	if(node.data.id > 0) {
		$("#what").val(node.data.title);
		$("#what").effect('highlight', {color: '#b42c21'}, 700);
		currentcategory = node.data.id;
	} else {
		$("#what").val('');
		currentcategory = 0;
		$("#what").blur();
	}
	$("#categoryid").val(node.data.id);
	$("#currentcategory").html(node.data.title);
	
	if(!node.hasChildren()) {
		toggleCategories();
	} else {
		node.expand(true);
	}
	
}


$(document).ready(function() {
	$("#what").change(function() {
		$("#categoryid").val('0');
		$("#currentcategory").html('Alle Fachbereiche');
		currentcategory = 0;
		
		if($("#searchtoggle").hasClass('opened')) {
			$("#searchtoggle").removeClass('opened');
			$("#categorieslist").hide('blind');
		}
	});

	
	
	
	
	$("#searchform").bind('submit', function(e) {
		var what = $("#what").val();
		var where = $("#where").val();
		
		errors = new Array();
		
		if(what == 'Was?' || what.length < 3) {
			errors[0] = "Bitte geben Sie ein, wonach Sie suchen.";
		}
		
		if(errors.length > 0) {
			showFormErrors(errors);
			e.preventDefault();
		} else {
			$(".searchloader")
				.css("visibility", "visible")
				.animate({opacity: 1}, 300, "linear")
			;
			$("#searchform > input").each(function() {
				$(this).trigger('blur');
			});
		}
	});
	
	
	$("#slider").slider({
		orientation: 	"vertical",
		min:			0,
		max:			5,
		step:			1,
		slide:			function(event, ui) {
							$("#slider_val").html("Umkreis: <span>"+(slider_vals[ui.value] == 1000 ? '>50' : slider_vals[ui.value])+" km</span>");
							$("#radius").val(slider_vals[ui.value]);
						}
	});
	
	
	for(var n in slider_vals) {
		if(slider_vals[n] == $("#radius").val()) {
			$("#slider").slider("value", n);
			$("#slider_val").html("Umkreis: <span>"+(slider_vals[n] == 1000 ? '>50' : slider_vals[n])+" km</span>");
		}
	}
});
