function not_a_number(ls_data)
	{
	if (isNaN(ls_data)) return true ;
	return false;
}

function not_minore(ls_data,ls_num)
	{
	if (ls_data == "") return false;
	if (ls_num == "") return false;
	if (isNaN(ls_data) || isNaN(ls_num)) return false ;
	if (parseInt(ls_data) >= parseInt(ls_num)) return true;
	return false;
}

function not_maggiore(ls_data,ls_num)
	{
	if (ls_data == "") return false;
	if (ls_num == "") return false;
	if (isNaN(ls_data) || isNaN(ls_num)) return false;
	if (parseInt(ls_data) <= parseInt(ls_num)) return true;
	return false;
}

function not_min_length(ls_data,ls_num)
	{
	if (ls_data == "") return false;
	if (ls_num == "") return false;
	if (isNaN(ls_num)) return false;
	if (ls_data.length < parseInt(ls_num)) return true;
	return false;
}

function not_is_data(ls_data) 
	{
	if (ls_data == "") return false;
	       
    // controllo se il secondo e il 5 spazio sono '/' 
    
    if (ls_data.length < 10 || ls_data.charAt(2) != '/' || ls_data.charAt(5) != '/') return true;
    
    //controllo la validità dei caratteri immessi (numeri + '/')
    
    for(i=0;i<ls_data.length;i++)
    {
      if (ls_data.charAt(i) != '/' && (ls_data.charAt(i) < '0') || (ls_data.charAt(i) > '9')) return true;
    }
    
    // controllo giorno e mese

    if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "31") return true;
    if (ls_data.substring(3,5) < "01" || ls_data.substring(3,5) > "12") return true;    
      	
    if (ls_data.substring(3,5) == "01" || ls_data.substring(3,5) == "03" || ls_data.substring(3,5) == "05" || ls_data.substring(3,5) == "07" || ls_data.substring(3,5) == "08" || ls_data.substring(3,5) == "10" || ls_data.substring(3,5) == "12" ) 
    {
       if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "31") return true;	
    }

    if (ls_data.substring(3,5) == "04" || ls_data.substring(3,5) == "06" || ls_data.substring(3,5) == "09" || ls_data.substring(3,5) == "11") 
    {
       if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "30") return true;	
	}

    if (ls_data.substring(3,5) == "02") 
    {
       ll_bis = (parseInt(ls_data.substring(6,10)) % 4)  
  	   
       if (ll_bis == 0)      
       {
          if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "29") return true;	
       }
       else	
       {
          if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "28") return true;	
       }
	}

	return false;
	}
	// ha successo se ini > fine

function confronta_date(ld_data_ini,ld_data_fine)
	{
    if (ld_data_ini == "" || ld_data_fine == "") return false;
	if (not_is_data(ld_data_ini) || not_is_data(ld_data_fine)) return false;
	
    if (ld_data_ini.substring(6,10) > ld_data_fine.substring(6,10)) return true;
	if (ld_data_ini.substring(6,10) == ld_data_fine.substring(6,10))
    {
       if (ld_data_ini.substring(3,5) > ld_data_fine.substring(3,5)) return true;
       if (ld_data_ini.substring(3,5) == ld_data_fine.substring(3,5))
       {
          if (ld_data_ini.substring(0,2) > ld_data_fine.substring(0,2)) return true;
       }
    }
	return false;
}

function not_is_datetime(ls_data) 
	{
	
	if (ls_data == "") return false;
	       
    // controllo se il secondo e il 5 spazio sono '/' e 10 " " e 13 :
    
    if (parseInt(ls_data.length) != 16 || ls_data.charAt(2) != '/' || ls_data.charAt(5) != '/' || ls_data.charAt(10) != ' ' || ls_data.charAt(13) != ':') return true;
    
    //controllo la validità dei caratteri immessi (numeri + '/')
    
    for(i=0;i<ls_data.length;i++)
    {
      if ( ls_data.charAt(i) != '/' && ls_data.charAt(i) != ' ' && ls_data.charAt(i) != ':' && ((ls_data.charAt(i) < '0') || (ls_data.charAt(i) > '9'))) return true;
    }
    
    // controllo giorno e mese

    if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "31") return true;
    if (ls_data.substring(3,5) < "01" || ls_data.substring(3,5) > "12") return true; 
      	
    if (ls_data.substring(3,5) == "01" || ls_data.substring(3,5) == "03" || ls_data.substring(3,5) == "05" || ls_data.substring(3,5) == "07" || ls_data.substring(3,5) == "08" || ls_data.substring(3,5) == "10" || ls_data.substring(3,5) == "12" ) 
    {
       if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "31") return true;	
    }
	
    if (ls_data.substring(3,5) == "04" || ls_data.substring(3,5) == "06" || ls_data.substring(3,5) == "09" || ls_data.substring(3,5) == "11") 
    {
       if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "30") return true;	
	}

    if (ls_data.substring(3,5) == "02") 
    {
       ll_bis = (parseInt(ls_data.substring(6,10)) % 4)  
  	   
       if (ll_bis == 0)      
       {
          if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "29") return true;	
       }
       else	
       {
          if (ls_data.substring(0,2) < "01" || ls_data.substring(0,2) > "28") return true;	
       }
	}
	
    if (ls_data.substring(11,13) < "00" || ls_data.substring(11,13) > "23") return true;	
	if (ls_data.substring(14,16) < "00" || ls_data.substring(14,16) > "59") return true;
	
	return false;
	}
	
function confronta_datetime(ld_data_ini,ld_data_fine)
	{
    if (ld_data_ini == "" || ld_data_fine == "") return false;
	
    if (not_is_datetime(ld_data_ini) || not_is_datetime(ld_data_fine)) return false;
		
	if (ld_data_ini.substring(6,10) > ld_data_fine.substring(6,10)) return true;
	if (ld_data_ini.substring(6,10) == ld_data_fine.substring(6,10))
    {
       if (ld_data_ini.substring(3,5) > ld_data_fine.substring(3,5)) return true;
       if (ld_data_ini.substring(3,5) == ld_data_fine.substring(3,5))
       {
          if (ld_data_ini.substring(0,2) > ld_data_fine.substring(0,2)) return true;
       }
    }
	
	if (ld_data_ini.substring(11,13) > ld_data_fine.substring(11,13)) return true;
	if (ld_data_ini.substring(11,13) == ld_data_fine.substring(11,13))
	{
		if (ld_data_ini.substring(14,16) > ld_data_fine.substring(14,16)) return true;
	}
	
	return false;
}
