//----------------------------------------------------------------- 
//Copyrigth Global Laboratory s.r.l. - Bari
// E' vietata qualsiasi riproduzione non autorizzata per iscritto
// dall'azienda
//-----------------------------------------------------------------
//
// rimpiazza tutte le occorenze di from to
//
function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );


    while ( idx > -1 ) {
        str = str.replace( from, to ); 
        idx = str.indexOf( from );
    }

    return str;
}// fine funzione replaceAll

//
//Converte in numero una stringa importo
//
function ImportoToNumber(pstring){
var  ra  = new String (pstring);
var  r0  = 0;

    ra=replaceAll(ra,'.','');    
    ra=replaceAll(ra,',','.');
    r0  = ra*1;
    return r0;
}
//
//  converte la stringa in input digitata dall'utente
//  in una stringa di output formattata nel formato 
//  importo del tipo -999.999.990,99
// 
function StringToImporto(pstring){
ra  = new String (pstring);
rai = new String;
rad = new String;
ras = new String;
// se dopo il punto esiste 1 o due caratteri lo considera virgola
xr1 = 0;
xr1 = ra.indexOf('.');
if ((ra.length-xr1)<=3){ra=ra.replace('.',',');}
 
// elimina eventuali punti separatori delle migliaia
ra = replaceAll(ra,'.','');
// verifica se contiene virgole e prende la prima
xr1 = 0;
xr1 = ra.indexOf(',');
// se esiste una virgola separa la parte decimale in rad e la parte intera in rai
if (xr1==-1){ rad=''; rai=ra;} else { rad=ra.substring(xr1+1);rai=ra.substr(0,xr1);};
rad = rad+'0000000';
// se esiste un segno + o -
xr1 = 0;
xr1 = ra.indexOf('-');
if (xr1==-1){ ras=''} else { ras='-'};
// inserisce i punti nella parte intera
if (rai.length==0){rai='0'};
xr1=rai.length;
xr2=0;
xra='';
for (i=1; i<=xr1; i++ ) { 
	if ((rai.charAt(xr1-i)>='0') & (rai.charAt(xr1-i)<='9'))
	{  
	  xr2 = xr2+1;
	  if (xr2==4){xra='.' + xra; xr2=1;};
	  xra = rai.charAt(xr1-i)+xra;
    }	  	 
}
// restituisce la stringa formattata 
return ras+xra + ',' + rad.substring(0,2);
} // fine funzione StringToImporto
//
// controlla la data (gg/mm/aaaa) e restituisce false se sbagliata
// altrimenti restituisce true
//
function data_corretta(pstring){
var ra = new String(pstring);
if ((ra.length > 10) | (ra.length < 6)){ return null };
var xr1    = ra.indexOf('/');               // punta alla prima barra
var str_gg = ra.substr(0,xr1);              // prende il giorno
var xr2    = ra.indexOf('/',xr1+1);         // punta alla seconda barra
var str_mm = ra.substr(xr1+1,(xr2-xr1)-1);  // prende il mese
var str_aa = ra.substr(xr2+1);              // prende l'anno
// verifica il giorno tra 1 e 31
if (((str_gg*1) < 1) | ((str_gg*1) > 31)){ return null;};
// verifica mese
if (((str_mm*1) < 1) | ((str_mm*1) > 12)){ return null;};
// verifica anno 
ra = str_aa;
if (ra.length < 4){return null;};

// verifica la data
DataVerifica = new Date(str_aa*1,(str_mm*1)-1,str_gg*1,0,0,0);
return DataVerifica;
}

