/********************************************************/
/* 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_mail(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_Provera3(Formular)
{

  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 (Formular.ime_prezime.value == "")   /* Ovo polje je obavezno */
  {
    alert("Please, enter your name.");
    Formular.ime_prezime.select();
    return (false);
  }

  if (Formular.ime_prezime.value.length < 4) 
  {
    alert("Please, enter at least 4 characters in the field \"Name and surname\".");
    Formular.ime_prezime.focus();
    return (false);
  }
  else {
    br_blanko = 0;
    br_tacaka = 0;
    br_crtica = 0;
    for (var i=0;i<Formular.ime_prezime.value.length;i++) {
      ch=Formular.ime_prezime.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("Polje \"Ime i prezime\" sadrzi nedozvoljen karakter. Molim vas unesite vase ime ponovo.");
              Formular.ime_prezime.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 == Formular.ime_prezime.value.length) || (br_tacaka == Formular.ime_prezime.value.length) || (br_crtica == Formular.ime_prezime.value.length))
    {
      alert("Please, enter your name again.");
      Formular.ime_prezime.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) == Formular.ime_prezime.value.length) || ((br_blanko+br_crtica) == Formular.ime_prezime.value.length) || ((br_tacaka+br_crtica) == Formular.ime_prezime.value.length) || ((br_blanko+br_tacaka+br_crtica) == Formular.ime_prezime.value.length))
    {
      alert("Please, enter your name again.");
      Formular.ime_prezime.select();
      return (false);
    }
  }

/* Provera naziva pozicije. Dozvolicemo unos slova, blanka, tacke i crtice. */
/****************************************************************************/

 if (Formular.pozicija.value != "")   /* Ovo polje nije obavezno */
 {

  if (Formular.pozicija.value.length < 4) 
  {
    alert("Please, enter at least 4 characters in the field \"Position you are applying for\".");
    Formular.pozicija.focus();
    return (false);
  }
  else {
    br_blanko = 0;
    br_tacaka = 0;
    br_crtica = 0;
    for (var i=0;i<Formular.pozicija.value.length;i++) {
      ch=Formular.pozicija.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("Polje \"Ime i prezime\" sadrzi nedozvoljen karakter. Molim vas unesite vase ime ponovo.");
              Formular.pozicija.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 == Formular.pozicija.value.length) || (br_tacaka == Formular.pozicija.value.length) || (br_crtica == Formular.pozicija.value.length))
    {
      alert("Please, enter position you are applying for again.");
      Formular.pozicija.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) == Formular.pozicija.value.length) || ((br_blanko+br_crtica) == Formular.pozicija.value.length) || ((br_tacaka+br_crtica) == Formular.pozicija.value.length) || ((br_blanko+br_tacaka+br_crtica) == Formular.pozicija.value.length))
    {
      alert("Please, enter position you are applying for again.");
      Formular.pozicija.select();
      return (false);
    }
  }
 }

/* Provera polja za CV */
/***********************/

  if (Formular.cv.value == "")   /* Ovo polje je obavezno */
  {
    alert("Please, enter your CV.");
    Formular.cv.select();
    return (false);
  }


/* Provera e-mail adrese */
/*************************/

  if (Formular.email.value != "")   /* Ovo polje je obavezno */
  {
    return (proveri_mail(Formular.email));
  } else {
    alert("Please, enter your e-mail.");
    Formular.email.select();
    return (false);
  }


/* Ako se do ovde doslo, znaci da su sve proverene vrednosti validne */
/*********************************************************************/

  return (true);
}