$(function() {
	var dates = $("#fecha_desde, #fecha_hasta").datepicker({
		dateFormat: "dd-mm-yy",
		minDate: new Date(),
		onSelect: function( selectedDate ) {
			var option = this.id == "fecha_desde" ? "minDate" : "maxDate",
				instance = $( this ).data( "datepicker" ),
				date = $.datepicker.parseDate(
					instance.settings.dateFormat ||
					$.datepicker._defaults.dateFormat,
					selectedDate, instance.settings );
			dates.not( this ).datepicker( "option", option, date );
		}
	});  			
	$("#precio_desde").bind("keyup", function() {
		$(this).val($(this).val().replace(/[^0-9]/g, ""));
	});
	function split(val) {
		return val.split(/,\s*/);
	}
	function extractLast(term) {
		return split(term).pop();
	}

	$("#destino")
	.bind("keydown", function(event) {
		if (event.keyCode === $.ui.keyCode.TAB &&
			$(this).data("autocomplete").menu.active) {
			event.preventDefault();
		}
	})
	.autocomplete({
		source: function(request, response) {
			$.getJSON("/index/autocomplete", {
				term: extractLast(request.term)
			}, response);
		},
		search: function() {
			var term = extractLast(this.value);
			if (term.length < 1) {
				return false;
			}
		},
		focus: function() {
			// prevent value inserted on focus
			return false;
		},
		select: function(event, ui) {
			var terms = split(this.value);
			// remove the current input
			terms.pop();
			// add the selected item
			terms.push(ui.item.value);
			// add placeholder to get the comma-and-space at the end
			terms.push("");
			this.value = terms.join(", ");
			return false;
		}
	});                        		
});
