function tokenizer(stringa,carattere) 
//utilizzo: dividi = new Array();
// dividi[0]
// dividi[1]
// nota: il carattere separatore deve essere anche all'inizio e alla fine della stringa
// esempio di chiamata:
// tokenizer(",ciao,ciccio,",",")
{
 var token = new Array();
    elementi=1;
    inizio=1;
        for (var k=1; k<=stringa.length; k++) {
            if (stringa.charAt(k)==carattere) {
                token[elementi]=stringa.substring(inizio,k);
    //alert("token: " + token[elementi]); 
                elementi+=1;
                inizio=k+1;
            }
        }
    elementi=1;
    inizio=1;
 return token;
}

function euro(valore)
{
 //ultime due aggiunte per avere sempre un numero (a volte passo una stringa)
 //per tenere conto di notazioni scientifiche  es 10*e-21

 valore=parseFloat(valore);
 valore=valore.toString();
 //------------------------------------------------------------------------------
 //faccio la stesa funzione del metodo toFixed(6) -- numero.000000 (non sopportato da tutti i browser
 var valore_array=valore.split(".");	//splitto per controllare le cifre dopo la virgola
 if(valore_array.length==1)
	valore=valore+".000000";
 else if((valore_array[1]).length==1)
	valore=valore+"00000";
 else if((valore_array[1]).length==2)
	valore=valore+"0000";

 //--------------------------------------------------------------------------------
 //valore=valore.toFixed(6);

 var negativo=false;
 
 if(valore.charAt(0)=="-"){
  valore=valore.substring(1,valore.length);
  if(valore!="0.000000"){
   negativo=true;
  } 
 }

 var separatore = ".";   
 var dividi = new Array();
 var terzo = "";
 var secondo = "";
 var primo = "";

 
 dividi = tokenizer(separatore + valore + separatore,separatore);
 //alert(dividi[1] + " , " + dividi[2]);
 if (dividi[2]==null)
  dividi[2]="00";
 else if (dividi[2].length==1)
  dividi[2]=dividi[2] + "0";
 else if (dividi[2].length>2)
 {
  terzo = dividi[2].substring(2,3);
  if (terzo>4)
  {
   secondo = parseInt(dividi[2].substring(1,2)) + 1;
   if(secondo>9){
    primo=parseInt(dividi[2].substring(0,1)) + 1;
    secondo=0;
    dividi[2] = primo + "" +  secondo;
   }else{
   dividi[2] = dividi[2].substring(0,1) + "" + secondo;
   }
  
  }
  else
   dividi[2] = dividi[2].substring(0,2);
 }
 if (parseInt(dividi[2])==100)
 {
  dividi[1] = parseInt(dividi[1]) + 1;
  dividi[2] = "00";
 } 
 //alert(dividi[1]);  
 var tmp = "";
 var girato = reverse(dividi[1] + "");
 
 for (i = 0 ; i < girato.length ; i++)
 {
  if ((i % 3 == 0) && (i !=0))
  {
   tmp = tmp + ".";
   tmp = tmp + girato.charAt(i);
  } 
  else
   tmp = tmp + girato.charAt(i);
 }
 //alert(tmp);  
 
 var risultato=reverse(tmp) + "," + dividi[2];
 if(negativo){
  risultato="-" + risultato;
 }
 
 return risultato;
}

function reverse(stringa)
{
 var nuovo = "";
 for (i = stringa.length ; i >= 0 ; i--)
  nuovo = nuovo + stringa.charAt(i);
 return nuovo;
}  
 
function unformat(valore)
{
//è il complementare di euro(valore)
//riporta un numero da formato visuale a formato contabile
// es 1.000,24 diventa 1000.24
 var tmp = "";
 for (i = 0 ; i < valore.length ; i++)
 {
  ch = valore.charAt(i);
  if (ch!=".")
   if (ch==",")
    tmp =tmp + ".";
   else
    tmp = tmp + ch;
 }
 return tmp;
}