  function init_form(strFormName,strSelectName)  //strFormName = prodotto strSelectName = proIDMarcaEModello
  {
    var sel;
  	var main_sel;
  	var main_sel_name = strSelectName+"_dbgs_main";
  	var sub_sel;
  	var sub_sel_name = strSelectName+"_dbgs_sub";
  	var i;
  	
    //NASCONDERE LA SELECT PRINCIPALE
    sel = document.forms[strFormName].elements[strSelectName];
    sel.style.display = 'none';
    
    //AGGIUNGERE LE DUE SELECT
    
    //LA MAIN
    main_sel = document.createElement('SELECT');
    main_sel.id = main_sel_name;
    main_sel.name = main_sel_name;
    main_sel.onchange = carica_sub_opzioni;
    main_sel.display = 'block';
    
    //E LA SUB
    sub_sel = document.createElement('SELECT');
    sub_sel.id = sub_sel_name;
    sub_sel.name = sub_sel_name;
    sub_sel.onchange = imposta_select_orig;
    sub_sel.display = 'block';
    
    //LE ACCODO SUBITO DOPO LA SELECT ORIGINALE
    sel.parentNode.appendChild(main_sel);
    sel.parentNode.appendChild(sub_sel);

  	//CICLO PER POPOLARE LA MAIN SELECT ORIGINALE
  	for (i = 1; i < arrMain.length; i++){
  		main_sel.options.length = i+1;
  		main_sel.options[i].value = i;
  		main_sel.options[i].text = arrMain[i];
  	}
  	//Presetto il valore della main_select
  	main_sel.value = arrMainPreselected;
  	
  	//se arrMainPreselected e' presettato allora popoliamo la sub_sel con i valori corretti
  	if (arrMainPreselected != null) {
    	arrSubList = (arrSub[main_sel.selectedIndex]);
    	for (i = 0; i < arrSubList.length; i++) {
    		sub_sel.options.length = i+2;
    		sub_sel.options[i+1].value = (arrSubList[i]).split('|')[0];
    		sub_sel.options[i+1].text = (arrSubList[i]).split('|')[1];
    	}
  	}
  	
  	//Presetto il valore della sub_select
  	sub_sel.value = arrSubPreselected;

  }

  //Questa funzione carica i valori nella sub_select
  function carica_sub_opzioni()
  {
    sub_name = this.name.split('_dbgs_')[0]+"_dbgs_sub";
    strFormName = this.form.name;
  	var arrSubList;
  	var main_sel;
  	var main_sel_name = this.name;
  	var sub_sel;
  	var sub_sel_name = sub_name;
  	var sel;
  	var sel_name = this.name.split('_dbgs_')[0];
  	var i;
   	

    //LA SELECT CON GLI OPTGROUP E LE OPTIONS PER LE SITUAZIONI SENZA JS
  	sel = document.forms[strFormName].elements[sel_name];
  	sub_sel = document.forms[strFormName].elements[sub_sel_name];
  	main_sel = document.forms[strFormName].elements[main_sel_name];
  	sub_sel.selectedIndex = 0;
  	sub_sel.options.length = 1;
    
    if (main_sel.selectedIndex != 0) {
    	arrSubList = (arrSub[main_sel.selectedIndex]);
    	for (i = 0; i < arrSubList.length; i++){
    		sub_sel.options.length = i+2;
    		sub_sel.options[i+1].value = (arrSubList[i]).split('|')[0];
    		sub_sel.options[i+1].text = (arrSubList[i]).split('|')[1];
    	}
    } else { 
      //SE SI E' SELEZIONATO IL PRIMO ELEMENTO DELLA LISTA (QUELLO VUOTO)
      //ANNULLIAMO LE PRESELEZIONI DELLE SLECT =)
    	sub_sel.selectedIndex = 0;
    	sub_sel.options.length = 1;
    	sel.selectedIndex = 0;
    }
  }

  //Questa funzione imposta il valore della select originale come quello della sub_Select generata
  function imposta_select_orig()
  {
  	//var main_sel_name = this.name;
  	sel = this.name.split('_dbgs_')[0];
  	strFormName = this.form.name;

  	document.forms[strFormName].elements[sel].value = this.value;
  }
