﻿function AttivaValidatore(id)
 {
  document.getElementById('vld' + id).style.display = '';
 }

function AzzeraCampo(id)
 {
  document.getElementById('txt' + id).value = '';
 }
 
function DisattivaValidatore(id)
 {
  document.getElementById('vld' + id).style.display = 'none';
 }
 
function EditorPlainText(clientID)
 {
  oEditor = FCKeditorAPI.GetInstance(clientID);
  oDOM    = oEditor.EditorDocument;
  if (navigator.appName=='Netscape')
     {
      r         = oDOM.createRange();
      r.selectNodeContents(oDOM.body);
      plainText = r.toString();
     }
  else
     {
      plainText = oDOM.body.innerText;
     }
  
  return plainText;
 }

function Trim(stringa)
 {
  while (stringa.substring(0,1) == ' ')
        stringa = stringa.substring(1, stringa.length);

  while (stringa.substring(stringa.length-1, stringa.length) == ' ')
        stringa = stringa.substring(0,stringa.length-1);

  return stringa;
 }

function VerificaCampo(id)
 {
  if (document.getElementById('vld' + id).style.display == 'none')
     {
      if (document.getElementById('txt' + id).value == '')
         document.getElementById('vld' + id).style.display = '';
      else
         document.getElementById('vld' + id).style.display = 'none';
     }
 }

function VerificaCampoEditor(id, clientID)
 {
  if (Trim(EditorPlainText(clientID)) == '')
     document.getElementById('vld' + id).style.display = '';
  else
     document.getElementById('vld' + id).style.display = 'none';
  
  return plainText;
 }
 
 function VerificaCodiceFiscale(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      if (document.getElementById('txt' + id).value.length == 16)
         {
          var regex = /^[a-zA-Z]{6}\d{2}[a-zA-Z]\d{2}[a-zA-Z]\d{3}[a-zA-Z]$/;
          
          if (regex.test(document.getElementById('txt' + id).value))
             document.getElementById('vld' + id).style.display = 'none';
          else
             document.getElementById('vld' + id).style.display = '';
         }
      else
          document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }
 
 function VerificaCodiceFiscalePartitaIva(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      if ((document.getElementById('txt' + id).value.length == 11) ||
          (document.getElementById('txt' + id).value.length == 16))
         {
          var regex = /^[a-zA-Z]{6}\d{2}[a-zA-Z]\d{2}[a-zA-Z]\d{3}[a-zA-Z]$/;

          if (regex.test(document.getElementById('txt' + id).value) ||
              (document.getElementById('txt' + id).value.length == 11))
             document.getElementById('vld' + id).style.display = 'none';
          else
             document.getElementById('vld' + id).style.display = '';
         }
      else
          document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaCodiceProvincia(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[a-zA-Z][a-zA-Z]$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaData(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         {
          pezzi    = document.getElementById('txt' + id).value.split('\/');
          pezzi[0] = (pezzi[0].charAt(0) == '0' ? pezzi[0].charAt(1) : pezzi[0]);
          pezzi[1] = (pezzi[1].charAt(0) == '0' ? pezzi[1].charAt(1) : pezzi[1]);
          switch (parseInt(pezzi[1]))
           {
            case  4:
            case  6:
            case  9:
            case 11:
                if ((parseInt(pezzi[0]) > 0) && (parseInt(pezzi[0]) < 31))
                    document.getElementById('vld' + id).style.display = 'none';
                else
                    document.getElementById('vld' + id).style.display = '';
                
                break;
            case  2:
                if (((parseInt(pezzi[0]) > 0) && (parseInt(pezzi[0]) < 29) && (parseInt(pezzi[2]) % 4 != 0)) ||
                    ((parseInt(pezzi[0]) > 0) && (parseInt(pezzi[0]) < 30) && (parseInt(pezzi[2]) % 4 == 0)))
                    document.getElementById('vld' + id).style.display = 'none';
                else
                    document.getElementById('vld' + id).style.display = '';
                
                break;
            case  1:
            case  3:
            case  5:
            case  7:
            case  8:
            case 10:
            case 12:
                if ((parseInt(pezzi[0]) > 0) && (parseInt(pezzi[0]) < 32))
                    document.getElementById('vld' + id).style.display = 'none';
                else
                    document.getElementById('vld' + id).style.display = '';
                
                break;
            default:
                document.getElementById('vld' + id).style.display = '';
                
                break;
           }
         }
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaEmail(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaIndirizzo(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[a-zA-Z][a-zA-Z0-9 àèéìòù\'-.&]*$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaLunghezzaStringa(id, lunghezza)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      if (document.getElementById('txt' + id).value.length <= lunghezza)
          document.getElementById('vld' + id).style.display = 'none';
      else
          document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNominativo(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[a-zA-Z][a-zA-Z àèéìòù\'-.]*$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNumeroCellulare(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]{3}?[.\/ \\-]?[0-9]{7}$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNumeroCivico(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      if (document.getElementById('txt' + id).value.length <= 7)
         {
          var regex = /^[0-9]+(\/[a-zA-Z0-9]+)?$/;
          
          if (regex.test(document.getElementById('txt' + id).value))
             document.getElementById('vld' + id).style.display = 'none';
          else
             document.getElementById('vld' + id).style.display = '';
         }
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNumeroFax(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]{2,4}?[.\/ \\-]?[0-9]{6,8}$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNumeroReale(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]+(.[0-9]+)?$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaNumeroTelefono(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]{2,4}?[.\/ \\-]?[0-9]{5,7}$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaStringaNumerica(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^[0-9]+$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaStringaNumericaELunghezza(id, lunghezza)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      if (document.getElementById('txt' + id).value.length == lunghezza)
         {
          var regex = /^[0-9]+$/;
          
          if (regex.test(document.getElementById('txt' + id).value))
             document.getElementById('vld' + id).style.display = 'none';
          else
             document.getElementById('vld' + id).style.display = '';
         }
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaURL(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^(http(s)?:\/\/)([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }

function VerificaUsername(id)
 {
  if (document.getElementById('txt' + id).value != '')
     {
      var regex = /^\w+([-+.']\w+)*(@\w+([-.]\w+)*.\w+([-.]\w+)*)?$/;
      
      if (regex.test(document.getElementById('txt' + id).value))
         document.getElementById('vld' + id).style.display = 'none';
      else
         document.getElementById('vld' + id).style.display = '';
     }
  else
     document.getElementById('vld' + id).style.display = 'none';
 }
