<!--
// LINK srl - Mariarosaria Manco, Emanuele Nicoletti - Roma 2000/2001
// funzioni di utilitą sul lato client

// funzione che trasforma in maiuscolo il primo carattere di un campo di testo
function firstUpperCase(f)
{
    if (f.value.length > 0)
	f.value = f.value.charAt(0).toUpperCase() + f.value.substring(1,f.value.length)
}


// funzione che trasforma in maiuscolo il campo di testo
function AllUpperCase(f)
{
    if (f.value.length > 0)
	f.value = f.value.toUpperCase()
}


//funzione che toglie gli spazi bianchi e gli CrLf all'inizio e alla fine di un campo di testo
function trimLeadingBlanksCrLf(f)
{
    //toglie i blank e i CrLf all'inizio
  if (f.value.length > 0)
  {
    var carat;
    carat=f.value.charAt(0);	
    while (carat == ' ' || carat == '\r' || carat == '\n')
    {    
      if (f.value.length == 0) break;
      if ((carat == '\r') && (f.value.charAt(1) == '\n'))
      { 
      	f.value = f.value.substring(2,f.value.length);
      }
      else
      {	
        f.value = f.value.substring(1,f.value.length);
      } 	
      carat=f.value.charAt(0);
    }
    //toglie i blank e CrLf alla fine
    if (f.value.length > 0)
    {
       carat=f.value.charAt(f.value.length-1);
       while (carat == ' ' || carat == '\n' || carat == '\r')
       {    
         if (f.value.length==0) break;
         if ((carat == '\n') && (f.value.charAt(f.value.length-2) == '\r'))
         {
	    f.value = f.value.substring(0,f.value.length-2);
	 }
	 else
	 {
	    f.value = f.value.substring(0,f.value.length-1);
	 }	
	 carat=f.value.charAt(f.value.length-1);
       }
    }
  }
}


//funzione che toglie gli spazi bianchi all'inizio di una stringa
function LtrimBlanks(str)
{
    //toglie i blank
  if (str.length > 0)
  {
    var carat;
    carat=str.charAt(0);	
    while (carat == ' ' )
    {
      str = str.substring(1,str.length);	
      carat = str.charAt(0)
    }
  }
  return str
}


//funzione che sostituisce pił spazi bianchi con uno spazio bianco verificando la presenza di CrLf
function blanksToblankplus(f)
{
  if (f.value.length > 0)
  {	
    var iBlank, firstBlank, lastBlank, newstr, tmpstr, carat;
    firstBlank = f.value.indexOf(' ');
    lastBlank = f.value.lastIndexOf(' ');
     if (firstBlank < lastBlank)
     {
        newstr = '';
     	tmpstr = f.value;
        iBlank = firstBlank;
     	while (iBlank > 0)
     	{ 
     	  newstr = newstr + tmpstr.substring(0,iBlank);
     	  tmpstr = LtrimBlanks(tmpstr.substring(iBlank,tmpstr.length));
          carat = tmpstr.charAt(0);
     	  if ((carat == '\r') && (tmpstr.charAt(1) == '\n'))
     	  {
     	    newstr=newstr + tmpstr.substring(0,1);
     	    tmpstr=LtrimBlanks(tmpstr.substring(2,tmpstr.length))
     	  }
     	  else
     	  {
     	    if (carat == '\r' || carat == '\n')
     	    {
     	       newstr = newstr + carat;
     	       tmpstr = LtrimBlanks(tmpstr.substring(1,tmpstr.length))
     	    }
     	    else
     	    {
     	      if (newstr.charAt(newstr.length-1) != '\r' && newstr.charAt(newstr.length-1) != '\n')
     	         newstr = newstr + ' '
     	    }
          }
     	  iBlank = tmpstr.indexOf(' ');
     	}
        newstr = newstr + tmpstr;
        f.value = newstr
     }
  }
}


function replaceCar(str,oldCar,newCar)
{
   var iCar, firstCar, lastCar, tmpnewstr, tmpstr, carat;
   firstCar = str.indexOf(oldCar);
   lastCar = str.lastIndexOf(oldCar);
   if (firstCar <= lastCar)
   {
      tmpnewstr = '';
      tmpstr = str;
      iCar = firstCar;
      while (iCar >= 0)
      { 
     	 tmpnewstr = tmpnewstr + tmpstr.substring(0,iCar) + newCar;
     	 if (tmpstr.charAt(iCar+1) == '\n')
     	 {
     	    tmpstr = tmpstr.substring(iCar+2,tmpstr.length)
     	 }
     	 else
     	 {
     	    tmpstr = tmpstr.substring(iCar+1,tmpstr.length)
         }
     	 iCar = tmpstr.indexOf(oldCar);
      }
      return tmpnewstr + tmpstr
    }
    return str
}


//funzione che sostituisce gli spazi bianchi e CrLf con uno spazio bianco
function blanksCrLfToblank(f)
{
  if (f.value.length > 0)
  {
    f.value=replaceCar(f.value,'\r',' ');
    f.value=replaceCar(f.value,'\n',' ');
    blanksToblank(f)
  }
}


//funzione che sostituisci pił spazi bianchi con uno spazio bianco
function blanksToblank(f)
{
  if (f.value.length > 0)
  {	
    var iBlank, firstBlank, lastBlank, newstr, tmpstr, carat;
    firstBlank = f.value.indexOf(' ');
    lastBlank = f.value.lastIndexOf(' ');
     if (firstBlank < lastBlank)
     {
        newstr = '';
     	tmpstr = f.value;
        iBlank = firstBlank;
     	while (iBlank > 0)
     	{ 
     	  newstr = newstr + tmpstr.substring(0,iBlank);
     	  tmpstr = LtrimBlanks(tmpstr.substring(iBlank,tmpstr.length));
     	  newstr = newstr + ' ';
     	  iBlank = tmpstr.indexOf(' ');
     	}
        newstr = newstr + tmpstr;
        f.value = newstr
     }
  }
}


//funzione che togli tutti gli spazi bianchi
function clearBlank(f)
{
  if (f.value.length > 0)
  {	
    var iBlank, firstBlank, lastBlank, newstr, tmpstr, carat;
    firstBlank = f.value.indexOf(' ');
    lastBlank = f.value.lastIndexOf(' ');
     if (firstBlank < lastBlank)
     {
        newstr = '';
     	tmpstr = f.value;
        iBlank = firstBlank;
     	while (iBlank > 0)
     	{ 
     	  newstr = newstr + tmpstr.substring(0,iBlank);
     	  tmpstr = LtrimBlanks(tmpstr.substring(iBlank,tmpstr.length));
     	  iBlank = tmpstr.indexOf(' ')
     	}
        newstr = newstr + tmpstr;
        f.value = newstr
     }
  }
}

// funzione che verifica che il campo di testo sia composto caratteri compresi nella stringa assegnata
function allStrOK(f,strOK,messaggio)
{
  if (f.value.length > 0)
  {
    var allValid;
    for (i = 0;  i < f.value.length;  i++)
    {
        allValid = false;
        ch = f.value.charAt(i);
        for (j = 0;  j < strOK.length;  j++)
        {
            if (ch == strOK.charAt(j))
            {
               allValid=true;
               break
            }   
        }      
        if (!allValid)
        {
          alert (messaggio);
          f.focus();
          return false
        }
    }
  }
  return true
} 

function allNumeri1(f,strOK,etic,quanti)
{
  f.value=LtrimBlanks(f.value);	
  clearBlank(f);
  if (allStrOK(f,strOK,warningI001+etic+warningF001a))
  {
      if (f.value.length > 0)
      {
      	  if (quanti > 0)
      	  {
      	     if (f.value.length < quanti)
      	     {
      	     	alert(warningI001+etic+warningF002+quanti+cifre);
                f.focus()
      	     	return false
      	     }	
      	  }
      }
   }
   return true     
}

function allNumeri(f,strOK,etic,quanti)
{
  f.value=LtrimBlanks(f.value);	
  clearBlank(f);
  if (allStrOK(f,strOK,warningI001+etic+warningF001))
  {
      if (f.value.length > 0)
      {
      	  if (quanti > 0)
      	  {
      	     if (f.value.length < quanti)
      	     {
      	     	alert(warningI001+etic+warningF002+quanti+cifre);
                f.focus()
      	     	return false
      	     }	
      	  }
      }
   }
   return true     
}

function allNumeri_par(f,par1,par2,strOK,etic,quanti,maxq)
{
  f.value=LtrimBlanks(f.value);	
  clearBlank(f);
  var lungo = f.value.length
  if (lungo == maxq)
  {	
    if ((f.value.charAt(0) != par1) || (f.value.charAt(f.value.length-1) != par2))
    {
       alert(warningI001+etic+warningF001)
       f.focus()
       return false
    }
  }
  
  if ((lungo == quanti) || (lungo == maxq))
  {

    var allValid;
    var ini = 0;
    var fine = quanti;
    if (lungo == maxq) 
    {
    	ini = 1;
    	fine = quanti+1
    }
    for (i = ini;  i < fine;  i++)
    {
        allValid = false;
        ch = f.value.charAt(i);
        for (j = 0;  j < strOK.length;  j++)
        {
            if (ch == strOK.charAt(j))
            {
               allValid=true;
               break
            }   
        }      
        if (!allValid)
        {
          alert (warningI001+etic+warningF001);
          f.focus();
          return false
        }
    }
  }
  if ((lungo > 0) && ((lungo < quanti) || (lungo > quanti && lungo < maxq)))
  {
     alert(warningI001+etic+warningF002+quanti+cifre+warningF002b);
     f.focus()
     return false
  }	
   return true     
}


function formattaFirstUpperplus (f)
{
  trimLeadingBlanksCrLf(f);
  blanksToblankplus(f);
  firstUpperCase(f)
}


function formattaFirstUpper (f)
{
  trimLeadingBlanksCrLf(f);
  blanksToblank(f);
  firstUpperCase(f)
}
 
 
function formatta (f)
{
  trimLeadingBlanksCrLf(f);
  blanksToblank(f)
}

function formatta1 (f)
{
  trimLeadingBlanksCrLf(f);
  blanksCrLfToblank(f)
}

function formattaAllUpperCase(f)
{
  trimLeadingBlanksCrLf(f);
  blanksToblank(f);
  AllUpperCase(f)

}


function formattaEverifica(f,etic)
{
  trimLeadingBlanksCrLf(f);
  blanksCrLfToblank(f);
  if (f.value.length > 255)
  {
      var inpiu=f.value.length - 255;
      alert(warningI001+etic+warningF003+inpiu+warningF004);
      f.focus()
  }
  else
  {    
      firstUpperCase(f)
  }
}


function fieldOK (f,etic)
{
  if (f.value.length == 0)
  {
    alert (warningI001+etic+warningF005);
    f.focus();
    return false
  }
  return true
}


function seltipo (theform)
{	
  var val1;
  var val2;
  var val3;
  var i;
  for (i = 0; i < theform.tiposing.length; i++)
  {
      if( theform.tiposing.options[i].selected)
      {
         val1=theform.tiposing.options[i].value;
         break
      }  
  }
  for (i = 0; i < theform.tipodoppio1.length; i++)
  {
      if( theform.tipodoppio1.options[i].selected)
      {
         val2=theform.tipodoppio1.options[i].value;
         break
      }  
  }
  for (i = 0; i < theform.tipodoppio2.length; i++)
  {
      if( theform.tipodoppio2.options[i].selected)
      {
         val3=theform.tipodoppio2.options[i].value;
         break
      }  
  }
  if (val1 == 0 && val2 == 0 && val3 == 0)
  {
    if (! confirm (warning014))
    {
      return false
    }
  }
  if ((val1 != 0 && val2 != 0) || 
      (val1 != 0 && val3 != 0) || 
      (val2 != 0 && val3 != 0))
  {
     alert (warning015)
     return false
  }
  return true	
}	

function cercaglobale(f)
{
  if ((f.value.length == 0)||(f.value == 0))
  {
      f.focus();
      return false
  }
  return true
}

function printIt()
{  
  var NS = (navigator.appName == "Netscape");
  var VERSION = parseInt(navigator.appVersion);
  if (VERSION > 3)
    {  
 
      if (NS) 
        {
          window.print() ;  
        } 
      else 
        
        {           
          if (navigator.appVersion.indexOf('MSIE 5.') == -1)
          {
             var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
             document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
             WebBrowser1.ExecWB(6, 2);
             WebBrowser1.outerHTML = "";  
          }
          else
          {
             window.print() ;
          }
          
        }
    }
}
//-->
