function init_directory() {
	$('#categories input.cat').change(function() {
		$('#cat_all').attr('checked',$('#categories input.cat[checked=1]').length? 0:1);
	}).change();
	$('#cat_all').change(function() {
		if (this.checked) $('#categories input.cat').attr('checked',0);
	});
	
	//AUTOCOMPLETE LOCALIZACION
	var _param = { 'id_comunidad': id_comunidad, 'id_provincia': id_provincia };
	$("#comunidad")
		.autocomplete("/directorio/ajax/comunidad", { minChars: 1 })
		.result(function(event, data, formatted) {
			if (!data) { return; }
			var valor = $("#id_comunidad").val();
			$("#id_comunidad").val(data[2]);
			_param.id_comunidad = data[1];
			this.setAttribute('intern_value', data[0]);
			if (valor!=data[2]) {
				$("#id_provincia").val("");
				$("#provincia").val("").attr("disabled",0).flushCache();
				$("#id_ciudad").val("");
				$("#ciudad").val("").attr("disabled",1).flushCache();
			}
	});
	$("#provincia")
		.autocomplete("/directorio/ajax/provincia", { extraParams: _param, minChars: 1 })
		.result(function(event, data, formatted) {
			if (!data)
			{
				$("#id_provincia").val('');
				return;
			}
			var valor = $("#id_provincia").val();
			$("#id_provincia").val(data[2]);
			_param.id_provincia = data[1];
			this.setAttribute('intern_value', data[0]);
			if (valor!=data[2]) {
				$("#id_ciudad").val("");
				$("#ciudad").val("").attr("disabled",0).flushCache();
			}
	});
	$("#ciudad")
		.autocomplete("/directorio/ajax/ciudad", { extraParams: _param, minChars: 1 })
		.result(function(event, data, formatted) {
			if (!data)
			{
				$("#id_ciudad").val('');
				return;
			}
			$("#id_ciudad").val(data[2]);
			this.setAttribute('intern_value', data[0]);
	});
	
	$('#search input.autocomplete').blur(function() {
		if (this.value!=this.getAttribute('intern_value')) this.value=this.getAttribute('intern_value');
	}).focus(function() {
		this.setAttribute('intern_value', this.value);
	});

	$('#search').submit(function() {
		var id_comunidad=$('#id_comunidad').val();
		if (!id_comunidad) return true;
		this.action=this.action+id_comunidad+'/';
		
		var id_provincia=$('#id_provincia').val();
		if (!id_provincia) return true;
		this.action=this.action+id_provincia+'/';
		
		var id_ciudad=$('#id_ciudad').val();
		if (!id_ciudad) return true;
		this.action=this.action+id_ciudad+'/';
	});

}