var new_fieldname = ""

function check(form,x)
{
 var message = ""
 var more_message = ""
 var showmsg = "no"
  x = x - 1
  for (var i = 0; i <= x; i++)
   {
     var messenger = form.elements[i].name
    messenger = messenger.substring(0, 2)
    var fieldname = form.elements[i].name
    fieldname = fieldname.substring(2)

     {
      if (messenger == "r_")
       {
        more_message = r_check(form,x,fieldname,i)
       }
      else if (messenger == "i_")
       {
        more_message = i_check(form,x,fieldname,i)
       }
      else if (messenger == "d_")
        {
         more_message = d_check(form,x,fieldname,i)
        }
      else if (messenger == "e_")
        {
         more_message = e_check(form,x,fieldname,i)
        }   
        if (more_message != "")
         {
         if (message == "")
          {
           message = more_message
           more_message=""
          }
         else
          {
           message = message + "\n" + more_message
           more_message=""
          }
         }
           
      if (message > "")
        {
          showmsg = "yes"
        }             
      } 
    }
   
  if (showmsg == "yes")
   {
    alert("I seguenti campi risultano incompleti o non corretti:\n\n" + message + "\n\n Per favore correggete i dati e riprovate a inviare.")
   }
  else
   {
    form.submit()
   }
} 

function r_check(form,x,fieldname,i)
 {
  var msg_addition = ""
  new_fieldname = fieldname
  for (var y = 0; y <= x; y++)
   {

    if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
     {
       msg_addition = ""
       break
     }
    else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
     {
      msg_addition = form.elements[i].value
     }

   else if (form.elements[y].type == "select-one")
       {
        var l = form.elements[y].selectedIndex
        if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "")
         {
          msg_addition = ""
          break
         }
        else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "")
         {
          
          msg_addition = form.elements[i].value

         }
        }
   else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
       {
        
        msg_addition = form.elements[i].value
        break
       }
    else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
       {
        msg_addition = ""

       } 
    }
   return(msg_addition)
  }
   
   
function i_check(form,x,fieldname,i)
 {
  for (var y = 0; y <= x; y++)
   {
    if (form.elements[y].name == fieldname)
    break
   }      
  
 var msg_addition = ""
 var decimal = ""
 inputStr = form.elements[y].value.toString()
 if (inputStr == "")
  {
   msg_addition = form.elements[i].value
  }
 else
  {
   for (var c = 0; c < inputStr.length; c++)
    {
     var oneChar = inputStr.charAt(c)
     if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == "")
       {
        if (oneChar == ".")
         {
          decimal = "yes"
         }
        continue
        
       }
        if (oneChar < "0" || oneChar > "9")
         {
          msg_addition = form.elements[i].value
         }
    }
  }
  return(msg_addition)
 } 
 
 
 //Email validation added 6/20/98
 function e_check(form,x,fieldname,i)
 {
  for (var y = 0; y <= x; y++)
   {
    if (form.elements[y].name == fieldname)
    break
   }      
  
 var msg_addition = ""
 ctrl = form.email;
 period = ".";

                
                if (ctrl.value == "" || ctrl.value.indexOf ('@', 0) < 3)
                        error = 1;
                      
                else
                  {
                    test = ctrl.value.indexOf('.', ctrl.value.indexOf ('@', 0))
           if (test != -1)
                     {
                      error = 0;
                     }
                    else
                    {
                       error=1;
                    }
                  }
                if (error == 1)
                 {
                   msg_addition = form.elements[i].value
                 }
                else
                 {
           new_length = ctrl.value.length - test
              if (new_length == 4 || new_length == 3 || (new_length >= 5 && ctrl.value.indexOf ('.', (test+1)) != -1))
                      {
                       msg_addition = ""
                      }
                     else
                       msg_addition = form.elements[i].value;
                 }
 return(msg_addition)
 } 

 function d_check(form,x,fieldname,i)
//date must be in MM/DD/YY format OR M/D/YY or a MIX of the two
 {
  for (var y = 0; y <= x; y++)
   {
    if (form.elements[y].name == fieldname)
    break
   }  
   
  var msg_addition = "" 
  var sDate = form.elements[y].value
  var int_or_not = isInteger(form.elements[y].value)
  if (int_or_not == "true")
   {
    if ((!(form.elements[y].value.length >= 6)) || (!(form.elements[y].value.length <= 8)))
     {
      msg_addition = form.elements[i].value
     }
    else
     {
      var SlashlPos = form.elements[y].value.indexOf("/",0)
      if (SlashlPos > 0 && SlashlPos <= 2)
       {
        if (SlashlPos == 1)
         {
          if (form.elements[y].value.charAt(0) < 1 || form.elements[y].value.charAt(0) > 9)
           {
            msg_addition = form.elements[i].value
           }
          else
           {
            if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
             { 
              msg_addition = form.elements[i].value
             }
            else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 1) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
             { 
              msg_addition = form.elements[i].value + "hi"
             }
            else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/")) && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
             {
              msg_addition = form.elements[i].value
             }
            else
             {
              if ((form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/") || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/")))))
               { 
                msg_addition = form.elements[i].value
               }
              else if (form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) > 2 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
               { 
                msg_addition = form.elements[i].value
               }
              else
               {
                if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
                 { 
                  msg_addition = form.elements[i].value
                 }
                else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 0) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
                 { 
                  msg_addition = form.elements[i].value
                 }
                else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || ((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
                 {
                  msg_addition = form.elements[i].value
                 }
               }
             }
           }
         }
        else
         {
          if (form.elements[y].value.charAt(0) > 1 || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) > 2) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 0))
           {
            msg_addition = form.elements[i].value
           }
          else
           {
            if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
             {
              msg_addition = form.elements[i].value  
             }
            else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 1) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
             {
              msg_addition = form.elements[i].value
             }
            else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
             {
              msg_addition = form.elements[i].value
             }
            else
             {
              if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0)) || form.elements[y].value.length < 7) || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/")))
               {
                msg_addition = form.elements[i].value
               }
              else if ((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) > 2 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
               {
                msg_addition = form.elements[i].value
               }
              else
               {   
                if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
                 {
                  msg_addition = form.elements[i].value
                 }
                else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 0) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
                 {
                  msg_addition = form.elements[i].value
                 }
                else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
                 {
                  msg_addition = form.elements[i].value
                 }
               }
             }  
           }
         }
       }
      else
       {
        msg_addition = form.elements[i].value
       }
     }
   }
  else
   {
    msg_addition = form.elements[i].value
   }
  return(msg_addition)
 }
 
 function isInteger(sDate)
 {
  var new_msg = "true"
  inputStr = sDate.toString()
  for (var i = 0; i < inputStr.length; i++)
   {
   var oneChar = inputStr.charAt(i)   
   if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
     {
      new_msg = "false"
     }
   }
  return (new_msg)
 }
  
 function asc(each_char)
  {
  var n = 0
   var char_str = charSetStr()
   for (i = 0; i < char_str.length; i++)
    {
     if (each_char == char_str.substring(i, i+1))
      {
       break
      }
    }
   return i + 32
  }
  
  function charSetStr()
   {
    var str
    str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
    return str
   }
 

