
function addValueAutoComplete(id, inputText, inputValue, addButton, dinamicOutput, idsList, titlesList, output, tpl)
{
	
  var changeValue = function(value){ inputValue.value = value === undefined ? "" : value; inputValue.disabled = !inputValue.value; };
  var addItem = function(){

  	
    var t = dom.create(tpl.format(inputValue.value, inputText.value));
  
    $(output).setHTML('');

     output.setHTML('');
    
    output.appendChild(t);
    changeValue();
   // inputValue.checked = false;
   // inputText.remove(inputText.value);
   // inputText.value = "";
  };
  var addValue = function(id, value){ inputText.add([value], [id]); changeValue(id); addItem(); };

    var submitValue = function(){ changeValue();  };
    
  // 



  events.add(output, 'click', function(e){
    if (e.target.value) {
      inputText.add([e.target.title], [e.target.value]);
      dom.remove(e.target.parentNode);
    }
  });

  // events.add(addButton, 'click', submitValue);
  events.add(inputText, 'search', function(e){
    changeValue(e.value);
    //addButton.disabled = !!(e.results || e.value || !e.target.value);
    
  });
  events.add(inputText, 'cancel', function(e){
    changeValue(e.value);
    //addButton.disabled = !!(e.value || !e.target.value);
  });
  events.add(inputText, 'searchselect', function(e){
    changeValue(e.value);
   // addButton.disabled = true;
    addItem();
  });
  events.add(inputText, 'submit', function(){
    addItem();
    
  });
  


  app.widgets.autoComplete.run(inputText, { outputTarget: dinamicOutput });
  inputText.add(titlesList, idsList);
}



function addFieldItem(id, value, callback, base_url)
{
  var r = ajax(base_url+'ajax/add_field_item_json/'+ id +'/', 'field_item='+ encodeURIComponent(value));
  events.add(r, 'success', function(e){
    var res = null;
    try { res = eval('('+ e.target.responseText +')') } catch (ex) {}
    callback(res.id, value);
  });
}


function addValueAutoCompleteAdd(id, inputText, inputValue, addButton, dinamicOutput, idsList, titlesList, output, tpl, base_url)
{
	
  var changeValue = function(value){ inputValue.value = value === undefined ? "" : value; inputValue.disabled = !inputValue.value; };
  
 
  
 
  var addItem = function()
  {  
    var t = dom.create(tpl.format(inputValue.value, inputText.value));
  	//var input = dom(t, 'input')[0].title = inputText.value;
  	output.appendChild(t);
    $(output).setHTML('');

     output.setHTML('');
    
   // output.appendChild(t);
    changeValue();
   // inputValue.checked = false;
    //inputText.remove(inputText.value);
   //inputText.value = "";
  };
 
  /*
  
  var addItem = function(){
    // log('asdasd');
    var t = dom.create(tpl.format(inputValue.value, inputText.value));
    var input = dom(t, 'input')[0].title = inputText.value;
    output.setHTML();
    output.appendChild(t);
    changeValue();
    inputValue.checked = false;
   // inputText.remove(inputText.value);
    inputText.value = "";
  };
  */
  
  var addValue = function(id, value){ inputText.add([value], [id]); addItem(); changeValue(id); };
  var submitValue = function(){ if (!addButton.disabled) { addButton.disabled = true; addFieldItem(id, inputText.value, addValue, base_url); } };

    //var submitValue = function(){ changeValue();  };
    
  // 
  events.add(addButton, 'click', submitValue);
   
  inputValue.disabled = !inputValue.value;
  events.add(inputValue, 'click', addItem);

  events.add(output, 'click', function(e){
    if (e.target.value) {
      inputText.add([e.target.title], [e.target.value]);
      dom.remove(e.target.parentNode);
    }
  });

  // events.add(addButton, 'click', submitValue);
  events.add(inputText, 'search', function(e){
    changeValue(e.value);
    addButton.disabled = !!(e.results || e.value || !e.target.value);
    
  });
  events.add(inputText, 'cancel', function(e){
    changeValue(e.value);
    addButton.disabled = !!(e.value || !e.target.value);
  });
  events.add(inputText, 'searchselect', function(e){
    changeValue(e.value);
    addButton.disabled = true;
    addItem();
  });
  events.add(inputText, 'submit', function(){
    if (!inputValue.disabled) addItem();
    else submitValue();
  });

  app.widgets.autoComplete.run(inputText, { outputTarget: dinamicOutput });
  inputText.add(titlesList, idsList);
}