//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------

//Variabili globali (Essenzialmente servono tutte per l'aggiunta di ingredienti
//e relative unità di misura)

var n_ing = 1; //Conta il numero di ingredienti aggiunti
var ing_id_JS=new Array();
var ing_label_JS=new Array();
var ing_uom_id_JS=new Array();
var ing_uom_label_JS=new Array();


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che ritorna l'esetnsione di un file
function get_estensione(path) {
    posizione_punto=path.lastIndexOf(".");
	lunghezza_stringa=path.length;
	estensione=path.substring(posizione_punto+1,lunghezza_stringa);
	return estensione;
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che controlla che il form sia stato correttamente compilato,
//Se è tutto ok procede con l'invio del modulo
function check_recipe_form(mode,article_id,recipe_id) {
   // Variabili associate ai campi del modulo
   var recipe_name = document.recipe_form.recipe_name.value;
   var preparation = document.recipe_form.preparation.value;
   var img_path = document.recipe_form.recipe_img.value;
   
   /*Controllo sui campi dei nuovi ingredienti inseriti e sulle quantità ancora 
   da implementare!
   var ing_new = document.forms["recipe_form"].elements["ing_new[]"];
   alert("ci sono "+ing_new.length+" campi chiamati 'ing_new[]'");
   */
   
   
      //Effettua il controllo sul campo recipe_name: non deve essere vuoto
      if ((recipe_name == "") || (recipe_name == "undefined")) {
         alert("Recipe name field REQUIRED!");
         document.recipe_form.recipe_name.focus();
         return false;
      }
      //Effettua il controllo sul campo PREPARATION: non deve essere vuoto
      if ((preparation == "") || (preparation == "undefined")) {
         alert("Preaparation field REQUIRED!");
         document.recipe_form.preparation.focus();
         return false;
      }
      
      //Controllo che l'estensione del file caricato sia JPG
      estensione = get_estensione(img_path);
      if (!((estensione == "") || (estensione == "undefined")) && (!( (estensione == "jpg" ) || (estensione == "JPG" )))){
      		alert("The file to upload must be an image with .jpg extension.");
      		return false;

      }



      //INVIA IL MODULO
      else {
         document.recipe_form.action = "index.php?mode="+mode+"&article_id="+article_id+"&recipe_id="+recipe_id+"&option=com_content&view=article&id=40";
         document.recipe_form.submit();
      }
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che cancella una riga dalla tabella degli ingredienti
function deleteRow(row_selected,table_name)
{
  var i=row_selected.parentNode.parentNode.rowIndex;
  document.getElementById(table_name).deleteRow(i);
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che crea il campo per inserire un nuovo ingrediente nella riga degli
//ingredienti corrispondente a quella nella quale si preme il pulsante
function ing_insert_new(id)
{
      var contenuto = '';

      // INDIVIDUA L'ELEMENTO ID NELLA PAGINA HTML
      elemento = document.getElementById(id);

      //CREAZIONE CAMPI NUOVO INGREDIENTE
      contenuto+='<input type=\"text\" name=\"ing_new[]\" size=10>';
      contenuto+='<input type="hidden" name="ing_provenance[]" value="new" />'; 
      elemento.innerHTML = contenuto;
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che crea il campo per inserire un ingrediente presente nel database 
//nella riga degli ingredienti corrispondente a quella nella quale si preme il 
//pulsante
function ing_insert_db(id)
{
      var contenuto = '';
      
      // INDIVIDUA L'ELEMENTO ID NELLA PAGINA HTML
      elemento = document.getElementById(id);

      //CREAZIONE SELECT CON GLI INGREDIENTI DAL DATABASE
      contenuto+='<select name=\"ing_types[]\" >';
      for (var i=0; i<ing_label_JS.length; i++) 
      {
        contenuto+='<option value=\"' + ing_id_JS[i] + '\">' + ing_label_JS[i]+ '</option>';
      }
      contenuto+='</select>';  
      contenuto+='<input type="hidden" name="ing_provenance[]" value="from_db" />';    
      elemento.innerHTML = contenuto;
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che richiama la pagina di gestione delle ricette con il parametro
// delete_recipe_id = recipe_id, che è l'id di una ricetta da cancellare
//all'interno della pagina ricaricata si provvererà poi a cancellare la ricetta
//in questione (compreso l'articolo corrsipondente ed altre cose...)
function delete_recipe(recipe_id,recipe_title)
{
  if (confirm('Are you sure you want to DELETE PERMANENTLY the item named: ' + recipe_title + ' ???'))
  {
    window.location.href='index.php?delete_recipe_id='+ recipe_id +'&option=com_content&view=article&id=59';
    //window.location.reload();
  }
  else
  {
    return;
  }
}



//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


//Function che richiama la pagina di gestione delle ricette con i parametri
// publish_article_id, che è l'id di articolo da pubblicare/non pubblicare e
//state. All'interno della pagina ricaricata si provvererà poi a gestire 
//effettivamente la pubblicazione
function publish_unpublish_article(article_id,state)
{
  window.location.href='index.php?publish_article_id='+ article_id +'&state='+state+'&option=com_content&view=article&id=59';
}



//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------