﻿function zkontroluj_email(adresa)
{
// zjištění pozice znaku @
var pozice_zavinace = adresa.indexOf("@");
// kontrola pravidla 1, je aspoň jeden @ v adrese?
if (pozice_zavinace < 0)
return false;
// získání částí před a po znaku @
var cast_pred_zavinacem = adresa.substring(0,pozice_zavinace);
var cast_po_zavinaci = adresa.substring(pozice_zavinace+1,adresa.length);
// kontrola pravidla 1, zda tam není ještě další @
if (cast_po_zavinaci.indexOf("@") >= 0)
return false;
// kontrola pravidla 2
if (cast_pred_zavinacem.length <= 0)
return false;
// kontrola pravidla 3
if (cast_po_zavinaci.length <= 0)
return false;
// zjištění pozice poslední tečky
var pozice_posledni_tecky = cast_po_zavinaci.lastIndexOf(".");
// kontrola pravidla 4
if (pozice_posledni_tecky < 0)
return false;
// kolik znaků je ještě za poslední tečkou?
var pocet_znaku_za_posledni_teckou = cast_po_zavinaci.length - pozice_posledni_tecky - 1;
// kontrola pravidla 6
if (pocet_znaku_za_posledni_teckou < 2 || pocet_znaku_za_posledni_teckou > 3)
return false;
// kontrola pravidla 7
var pozice_dvou_tecek_vedle_sebe = adresa.indexOf("..");
if (pozice_dvou_tecek_vedle_sebe >= 0)
return false;
// kontrola pravidla 5 u části před @
if (cast_pred_zavinacem.charAt(0) == "." || cast_pred_zavinacem.charAt(cast_pred_zavinacem.length-1) == ".")
return false;
// kontrola pravidla 5 u části po @
if (cast_po_zavinaci.charAt(0) == "." || cast_po_zavinaci.charAt(cast_po_zavinaci.length-1) == ".")
return false;
// pokud jsme se dostali až sem, vše je O.K.
return true;
}

function kontrola(f)

{
if(f.jmeno.value == ""){
alert("zprávu nelze odeslat / není vyplněno jméno");
f.jmeno.focus();
return false;
}

if(f.ejmajl.value == ""){
alert("zprávu nelze odeslat / není vyplněn e-mail");
f.ejmajl.focus();
return false;
}

// Kontrola správnosti e-mailu -------------------------------------
var email_ok = zkontroluj_email(f.ejmajl.value);
if (!email_ok){
alert("e-mailová adresa není v pořádku");
return false;
}
// -----------------------------------------------------------------

if(f.zprava.value == ""){
alert("zpráva neobsahuje text");
f.zprava.focus();
return false;
}

else
{
/* OKA */
return true;
}
}