// Ho selezionato qualcosa
function ajaxSelect(e)
{
  var data = $A(arguments);
  data.shift();

  // nomeFile viene valorizzato nell'header e contiene il nome del file in corso
  var source = nomeFile+'?mode=ajax&id='+this.value+'&link='+data[0];
  // Aggiorno la select corrente
  new Ajax.Updater(data[1], source, {asynchronous:true});

  // Svuoto tutte le altre select
  if (data.length > 2)
    for (var index = 2, len = data.length; index < len; ++index)
      $(data[index]).update('<option>- Seleziona-</option>');
}

// Aggiungo l'autocompleter
function addAutocompleter(idTarget,nomeLink,idPadre)
{
  // nomeFile viene valorizzato nell'header e contiene il nome del file in corso
  var source = nomeFile+'?mode=ajax&link='+nomeLink;
  if (idPadre != '')
  {
    new Ajax.Autocompleter
    (
      idTarget+'Testo',
      idTarget+'Update',
      source,{minChars:2,callback: function(element,entry){return entry="&id="+$(idPadre).value}}
    );
  }
  else
  {
    new Ajax.Autocompleter(idTarget+'Testo',idTarget+'Update',source,{minChars:2});
  }
}

// Aggiungo l'ajax ai check
function addChecker(selettore,field)
{
  $$(selettore).each(function(img)
  {
    Event.observe(img, 'click', updateCheck.bindAsEventListener(img,field));
  });
}
function updateCheck(e)
{
	var data = $A(arguments);
	data.shift();

	// nomeFile viene valorizzato nell'header e contiene il nome del file in corso
	var source = nomeFile+'?mode=check&id='+this.id+'&field='+data[0];
  var img = this;
	// Aggiorno il link
	new Ajax.Request
  (
    source,
    {
      onSuccess: function(transport){img.setAttribute('src',transport.responseText);},
      asynchronous:true
    }
  );
}

// Hide / Show
function hideShow(idTarget,idLink,testoAperto,testoChiuso,tempoApertura,tempoChiusura)
{
	var changeText = true;
	if ((testoAperto == '') && (testoChiuso == ''))
		changeText = false;

  if ($(idTarget).style.display == "none")
	{
		new Effect.Appear($(idTarget),{duration:tempoApertura});
		if (changeText)
			$(idLink).innerHTML = testoAperto;
	}
	else
	{
  	new Effect.Fade($(idTarget),{duration:tempoChiusura});
		if (changeText)
			$(idLink).innerHTML = testoChiuso;
	}
	return false;
}
