function f_pad (p_string, p_pad, p_side, p_length) {
v_string = p_string;
v_pad = p_pad.substring(0,1);
while (v_string.length < p_length) {
   if (p_side == "L") {v_string = v_pad + v_string;}
   else if (p_side == "P") {v_string = v_string + v_pad;}
   }
return v_string;
}

function f_notnull (p_field, p_length, p_nazev) {
v_string = p_field.value;
if (v_string.length == 0) {
  alert ("Pole "+p_nazev+" musí být vyplněno.");
  return 1;
  }
else if (v_string.length < p_length) {
  alert ("V poli "+p_nazev+" musí být alespoň "+p_length+" znaků.");
  return 1;
  }
else return 0;
}

function f_email (p_field) {
v_string = p_field.value;
v_pos1 = v_string.indexOf("@",1);
v_pos2 = v_string.indexOf(".",1);
if ((v_pos1 == -1 || v_pos2 == -1) && v_string.length != 0) {
  alert("Chybný formát emailové adresy.");
  return 1;
  }
else return 0;
}

function f_telefon (p_field) {
  v_string = p_field.value;
  v_length = v_string.length;
  for (i=1; i <= v_length; i++) {
    v_string = v_string.replace("0","");
    v_string = v_string.replace("1","");
    v_string = v_string.replace("2","");
    v_string = v_string.replace("3","");
    v_string = v_string.replace("4","");
    v_string = v_string.replace("5","");
    v_string = v_string.replace("6","");
    v_string = v_string.replace("7","");
    v_string = v_string.replace("8","");
    v_string = v_string.replace("9","");
    v_string = v_string.replace(" ","");
  }
  if (v_string != "") {
    alert ("V telefonních číslech používejte pouze čísla a mezery.");
    return 1;
  }
  else return 0;
}

function f_natural (p_field, p_nazev) {
  v_string = p_field.value;
  v_length = v_string.length;
  for (i=1; i <= v_length; i++) {
    v_string = v_string.replace("0","");
    v_string = v_string.replace("1","");
    v_string = v_string.replace("2","");
    v_string = v_string.replace("3","");
    v_string = v_string.replace("4","");
    v_string = v_string.replace("5","");
    v_string = v_string.replace("6","");
    v_string = v_string.replace("7","");
    v_string = v_string.replace("8","");
    v_string = v_string.replace("9","");
  }
  if (v_string != "") {
    alert ("Pole "+p_nazev+" může obsahovat pouze přirozená čísla.");
    return 1;
  }
  else return 0;
}

function f_nnn (p_field, p_length, p_nazev) {
  v_kod = 0;
  v_kod += f_notnull(p_field, p_length, p_nazev);
  v_kod += f_natural(p_field, p_nazev);
  return v_kod;
}

function f_date (p_field, nazev) {
v_string = p_field.value;
tecka1 = (v_string.charAt(2)==".");
tecka2 = (v_string.charAt(5)==".");
delka = (v_string.length==10);
if (!(tecka1 && tecka2 && delka )) {
alert("Datum v poli "+nazev+" musí být uvedeno ve formátu DD.MM.YYYY");
return 1;
}
else return 0;
}

function f_date3 (p_f1, p_f2, p_f3, p_nazev) {
  v_return = 0;
  v_dd = p_f1.value;
  v_mm = p_f2.value;
  if (v_dd != '') {
     p_f1.value = f_pad(v_dd, "0", "L", 2);
     }
  if (v_mm != '') {
     p_f2.value = f_pad(v_mm, "0", "L", 2);
     }
  v_yyyy = p_f3.value;
  v_return += f_natural (p_f1, p_nazev+' - den');
  v_return += f_natural (p_f2, p_nazev+' - měsíc');
  v_return += f_natural (p_f3, p_nazev+' - rok');
  if (v_yyyy.length != 4 && v_yyyy.length != 0) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     }
  if ((v_dd+v_mm+v_yyyy != '') && (v_dd == '' || v_mm == '' || v_yyyy == '')) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     }
  if (v_dd > 31) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     }
  if (v_mm > 12) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     } 
  if ((v_dd == '31') && (v_mm == '04' || v_mm == '06' || v_mm == '09' || v_mm == '11')) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     }
  if (v_mm == 2 && v_dd > 29) {
     v_return += 1;
     alert (p_nazev+' musí být ve formátu DD.MM.YYYY');
     }
  return v_return;
  }


