/********************************************************/
/* Funkcija koja proverava da li je unet validan e-mail */
/********************************************************/

/* emailfilter je obrazac koji odgovara validnoj e-mail adresi.                                 */
/* U korisnickom imenu, pored slova i brojeva, moze da se nadje i tacka,                        */
/* zato je ukljucujem u obrazac. Posle korisnickog imena treba da usledi znak @,                */
/* nakon koga ide host razdvojen tackom od domena. Za domen su predvidjena od 2 do 4 karaktera. */
/* Umesto hosta i domena moze da stoji i IP adresa.                                             */

var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i

function proveri_mail2(e){
var rezultat=emailfilter.test(e.value);
if (rezultat==false){
alert("Please, enter valid e-mail address.");
e.select();
}
return rezultat
}



/************************************************/
/* Funkcija koja proverava podatke unete u Form */
/************************************************/

function Form_Provera(FormularC)
{

  var Slova="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  var ch;
  var br_blanko;
  var br_tacaka;
  var br_crtica;

  var Brojevi="0123456789";
  var broj0;

  var bl_t;  /* Ovo su pomocne promenljive u koje ce biti smestene logicke vrednosti */
  var bl_c;  /* da bi IF komanda kod provere naziva firme bila preglednija.          */ 
  var bl_0;
  var t_c;
  var t_0;
  var c_0;
  var bl_t_c;
  var bl_t_0;
  var bl_c_0;
  var t_c_0;
  var bl_t_c_0;

/* Provera imena i prezimena. Dozvolicemo unos slova, blanka, tacke i crtice. */
/******************************************************************************/

  if (FormularC.name.value == "")   /* Ovo polje je obavezno */
  {
    alert("Please, enter your name.");
    FormularC.name.select();
    return (false);
  }

  if (FormularC.name.value.length < 4) 
  {
    alert("Please, enter at least 4 characters in the field \"Name\".");
    FormularC.name.focus();
    return (false);
  }
  else {
    br_blanko = 0;
    br_tacaka = 0;
    br_crtica = 0;
    for (var i=0;i<FormularC.name.value.length;i++) {
      ch=FormularC.name.value.substring(i,i+1);        /* Pregledamo uneti tekst karakter po karakter */
      if (Slova.indexOf(ch)==-1) {                   /* NIJE slovo */
        if (ch == " ") {                             /* Ako jeste blanko */
          br_blanko = br_blanko+1;                   /* Brojimo koliko se puta blanko pojavljuje u unetom tekstu */
        }
        else {                                       /* NIJE blanko */
          if (ch == ".") {                           /* Ako jeste tacka */
            br_tacaka = br_tacaka+1;                 /* Brojimo koliko se puta tacka pojavljuje u unetom tekstu */
          }
          else {                                     /* NIJE tacka */
            if (ch == "-") {                         /* Ako jeste crtica */
              br_crtica = br_crtica+1;               /* Brojimo koliko se puta crtica pojavljuje u unetom tekstu */
            }
            else {                                   /* NIJE ni crtica */
              alert("Content of the field \"Name\" is not valid. Please, enter your name again.");
              FormularC.name.focus();
              return (false);
            }
          }
        }
      }
    }
    /* Ako se broj znakova blanko, tacke ili crtice podudara sa duzinom unetog teksta, znaci da je unet samo jedan od tih znakova */
    if ((br_blanko == FormularC.name.value.length) || (br_tacaka == FormularC.name.value.length) || (br_crtica == FormularC.name.value.length))
    {
      alert("Please, enter your name again.");
      FormularC.name.select();
      return (false);
    }
    /* Ako se broj znakova blanko i tacke ili blanko i crtice, ili bilo koja kombinacija ova tri znaka zajedno */
    /* podudara sa duzinom unetog teksta, znaci da su uneti samo ti znakovi */
    if (((br_blanko+br_tacaka) == FormularC.name.value.length) || ((br_blanko+br_crtica) == FormularC.name.value.length) || ((br_tacaka+br_crtica) == FormularC.name.value.length) || ((br_blanko+br_tacaka+br_crtica) == FormularC.name.value.length))
    {
      alert("Please, enter your name again.");
      FormularC.name.select();
      return (false);
    }
  }



/* Provera telefona. Dozvolicemo unos brojeva, blanka, tacke i crtice. */
/**********************************************************************/

  if (FormularC.telefon.value == "")   /* Ovo polje je obavezno */
  {
    alert("Please, enter your phone number.");
    FormularC.telefon.select();
    return (false);
  } else {
    br_blanko = 0;
    br_tacaka = 0;
    br_crtica = 0;
    for (var i=0;i<FormularC.telefon.value.length;i++) {
      ch=FormularC.telefon.value.substring(i,i+1);        /* Pregledamo uneti tekst karakter po karakter */
      if (Brojevi.indexOf(ch)==-1) {                   /* NIJE broj */
        if (ch == " ") {                             /* Ako jeste blanko */
          br_blanko = br_blanko+1;                   /* Brojimo koliko se puta blanko pojavljuje u unetom tekstu */
        }
        else {                                       /* NIJE blanko */
          if (ch == "/") {                           /* Ako jeste tacka */
            br_tacaka = br_tacaka+1;                 /* Brojimo koliko se puta tacka pojavljuje u unetom tekstu */
          }
          else {                                     /* NIJE tacka */
            if (ch == "-") {                         /* Ako jeste crtica */
              br_crtica = br_crtica+1;               /* Brojimo koliko se puta crtica pojavljuje u unetom tekstu */
            }
            else {                                   /* NIJE ni crtica */
              alert("Content of the field \"Telephone\" is not valid. Please, enter your name again.");
              FormularC.telefon.focus();
              return (false);
            }
          }
        }
      }
    }
    /* Ako se broj znakova blanko, tacke ili crtice podudara sa duzinom unetog teksta, znaci da je unet samo jedan od tih znakova */
    if ((br_blanko == FormularC.telefon.value.length) || (br_tacaka == FormularC.telefon.value.length) || (br_crtica == FormularC.telefon.value.length))
    {
      alert("Please, enter your phone number again.");
      FormularC.telefon.select();
      return (false);
    }
    /* Ako se broj znakova blanko i tacke ili blanko i crtice, ili bilo koja kombinacija ova tri znaka zajedno */
    /* podudara sa duzinom unetog teksta, znaci da su uneti samo ti znakovi */
    if (((br_blanko+br_tacaka) == FormularC.telefon.value.length) || ((br_blanko+br_crtica) == FormularC.telefon.value.length) || ((br_tacaka+br_crtica) == FormularC.telefon.value.length) || ((br_blanko+br_tacaka+br_crtica) == FormularC.telefon.value.length))
    {
      alert("Please, enter your phone number again.");
      FormularC.telefon.select();
      return (false);
    }
  };



/* Provera e-mail adrese */
/*************************/

  if (FormularC.email.value != "")   /* Ovo polje je obavezno */
  {
    return (proveri_mail2(FormularC.email))

  } else {
    alert("Please, enter your e-mail.");
    FormularC.email.select();
    return (false);
  }


/* Provera polja za Komentar */
/*****************************/

/*  if (FormularC.komentar.value == "")  */  /* Ovo polje je obavezno */
/*  {
/*    alert("Please, enter your comment."); */
/*    FormularC.komentar.focus(); */
/*    return (false); */
/*  } */


/* Ako se do ovde doslo, znaci da su sve proverene vrednosti validne */
/*********************************************************************/

  return (true);
}
