(function(window, undefined) {

window.acsb = new Autocomplete(document.getElementById("sch_zona_multi")
	,{"minChars" : 2
	,"queryURL": "dyna_content.html"
	,"queryParameters": {"action": "get_list_autocomplete"}
  ,"forceCSSWidth": false
	/*,"showHide": function(bool) {
		var that = this;
		if (bool) Effect.BlindDown(that, {style: 'height: 190px', duration: 0.05, queue: 'acsb'});
		else this.style.display = 'none';
		}*/
	,"suggestionExtender": function(el) {
    if (el.id.indexOf("z") === 0) el.className += ' zona';
    else if (el.id.indexOf("p") === 0) el.className += ' provincia';
    else if (el.id.indexOf("c") === 0) el.className += ' comune';
    return el;
  }
  ,"onFetch": function(e) {var form;
		form = document.forms["sch_form"];
		this.options.queryParameters = {
			"action": "get_list_autocomplete"
			,"sch_zona": form.elements["sch_zona"].value
			,"sch_provincia": form.elements["sch_provincia"].value
			,"sch_comune": form.elements["sch_comune"].value
		};
	}
	,"onPick": function(e) {var data, el, cl, last, group, button, input, value, form, that;
		that = this;
		data = e.target.id;
    form = document.forms["sch_form"];

		button = document.createElement("div");
    button.className = 'acsb-tag-close';
		button.style.position = 'absolute';
		button.style.right = '0px';
		button.style.cursor = 'pointer';
		button.onclick = function(e) {var input, value;
			value = this.parentNode.id;
			if      (value.indexOf("z") === 0) input = form.elements["sch_zona"];
			else if (value.indexOf("p") === 0) input = form.elements["sch_provincia"];
			else if (value.indexOf("c") === 0) input = form.elements["sch_comune"];
			value = value.slice(1);
			input.value = input.value.replace(new RegExp(",?\\b" + value + "\\b"), "");
			this.parentNode.parentNode.removeChild(this.parentNode);
			if (e.suggestBox.style.display == "block") that.forceUpdate();
		};
		button.appendChild(document.createTextNode('x'));

    if      (data.indexOf("z") === 0) {
      input = form.elements["sch_zona"];
      cl = 'zona';
    } else if (data.indexOf("p") === 0) {
      input = form.elements["sch_provincia"];
      cl = 'provincia';
    } else if (data.indexOf("c") === 0) {
      input = form.elements["sch_comune"];
      cl = 'comune';
    }
		else return;
		value = data.slice(1);
		input.value = input.value.replace("," + value + ",", ",");
		if (input.value.length === 0) input.value = value;
		else input.value += "," + value;

		el = document.createElement("div");
		el.className = "acsb-tag " + cl;
		el.id = data;
		el.style.position = "relative";
		el.appendChild(button);

		el.appendChild(document.createTextNode(e.value));

    group = $$("#acsb-tags-list ." + cl);
    if (group.length > 0) {
      last = group[group.length-1];
      last.parentNode.insertBefore(el, last.nextSibling);
    } else {
      document.getElementById("acsb-tags-list").appendChild(el);
    }
		this.forceUpdate();
	}});

document.forms["sch_form"].onsubmit = function(e) {
	if (this.elements['sch_zona'].value.length === 0
	&& this.elements['sch_provincia'].value.length === 0
	&& this.elements['sch_comune'].value.length === 0) {
		alert("E' necessario specificare almeno una provincia, un comune o una zona");
		return false;
	}
};

})(this);

