/* check NWLform */
function checkNWLFormStep1(form) {
  var txt = '';
  var i = 1; k = 0;

  // check typ
  var kluby = document.getElementsByTagName('input');
  for (j=0;j<kluby.length;j++) {
    if (kluby[j].name=='type'&&kluby[j].checked==true) k++;
  }
  if (k < 2) { // pokud nebyl vybran klub (alespon dva, protoze jeden je skryte predvybran )
    txt+= i + '. Oblíbená značka:\n - žádná nevybrána\n';
    i++;
  }
  
  // check email
  var rgx = new RegExp();
  rgx = /^(.)+@(.)+\.(.)+$/i;
  if (!form.email.value.match(rgx)) { 
  //if ((form.email.value.indexOf('@')==0)||(form.email.value.indexOf('@')>form.email.value.length-4)||(form.email.value.indexOf('@')==-1)||(form.email.value == '')||(form.email.value.length < 5)) {
    txt+= i + '. Email:\n - nezadán nebo zadán špatně (nekdo@nekde.com)\n';
    form.email.style.borderColor = 'red';
    i++;
  }
  else form.email.style.borderColor = 'green';
  
  // vypis chyb, pokud jsou a return false
  if (txt.length > 0) {
    txt = 'Zkontroluj prosím tato pole formuláře:\n\n' + txt;
    alert(txt);
    return false;
  }
  // je-li vse OK, pak return true
  else return true;
}
  
function checkNWLFormStep2(form) {
  var txt = '';
  var i = 1; k = 0;
  
  // check typ <- vypnuto predvyplneno
/*  var kluby = document.getElementsByTagName('input');
 * for (j=0;j<kluby.length;j++) {
 *   if (kluby[j].name=='type'&&kluby[j].checked==true) k++;
 * }
 * if (k < 2) { // pokud nebyl vybran klub
 *   txt+= i + '. Oblíbená značka:\n - žádná nevybrána\n';
 *   i++;
 * }
 */
   
  // check jmeno - alespon dva znaky
  if (form.jmeno.value.length < 2) {
    txt+= i + '. Jméno:\n - nezadáno nebo příliš krátké\n';
    form.jmeno.style.borderColor = 'red';
    i++;
  }
  else {
    // test na to, zda obsahuje neplatné znaky
    var rgx1 = new RegExp();
    rgx1 = /^.*\d.*$/i; // cislice
    if (rgx1.test(form.jmeno.value)) {
      txt += i + '. Jméno:\n - nesmí obsahovat číslice\n';
      form.jmeno.style.borderColor = 'red';
      i++;
    }
    else form.jmeno.style.borderColor = 'green';
  }
  
  // check prijmeni
  if (form.prijmeni.value.length < 2) {
    txt+= i + '. Příjmení:\n - nezadáno nebo příliš krátké\n';
    form.prijmeni.style.borderColor = 'red';
    i++;
  }
  else {
    // test na to, zda obsahuje neplatné znaky
    var rgx1 = new RegExp();
    rgx1 = /^.*\d.*$/i; // cislice
    if (rgx1.test(form.prijmeni.value)) {
      txt += i + '. Příjmení:\n - nesmí obsahovat číslice\n';
      form.prijmeni.style.borderColor = 'red';
      i++;
    }
    else form.prijmeni.style.borderColor = 'green';
  }
  
  // check email <- vypnuto predvyplneno
/*  var rgx = new RegExp();
 * rgx = /^(.)+@(.)+\.(.)+$/i;
 * if (!form.email.value.match(rgx)) { 
 * //if ((form.email.value.indexOf('@')==0)||(form.email.value.indexOf('@')>form.email.value.length-4)||(form.email.value.indexOf('@')==-1)||(form.email.value == '')||(form.email.value.length < 5)) {
 *   txt+= i + '. Email:\n - nezadán nebo zadán špatně (nekdo@nekde.com)\n';
 *   form.email.style.borderColor = 'red';
 *   i++;
 * }
 * else form.email.style.borderColor = 'green';
 */
  
  // check mobil - vypnuto <- nepovinny udaj
/* var rgxCZ = new RegExp(); var rgxCZ2 = new RegExp();
 * var rgxSK = new RegExp(); var rgxSK2 = new RegExp();
 * rgxCZ1 = /^\+4206[0-9]{8}$/i; // CZ mobilni cisla
 * rgxCZ2 = /^\+4207[0-9]{8}$/i; // CZ mobilni cisla
 * rgxSK1 = /^\+4219[0-9]{8}$/i; // SK mobilni cisla
 * rgxSK2 = /^\+421601[0-9]{6}$/i; // SK mobilni cisla
 * if (form.mobil.value!=''&&!(form.mobil.value.match(rgxCZ1)||form.mobil.value.match(rgxCZ2)||form.mobil.value.match(rgxSK1)||form.mobil.value.match(rgxSK2))) {
 *   txt+= i + '. Mobil:\n - špatné číslo (CZ +420xxxxxxxxx | SK +421xxxxxxxxx)\n';
 *   form.mobil.style.borderColor = 'red';
 *   i++;
 * }
 * else form.mobil.style.borderColor = 'green';
 */
  
  // check datum narozeni
  var rgx = new RegExp();
  rgx = /^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$/i;
  // test na formát
  if (!form.narozeni.value.match(rgx)) {
    txt+= i + '. Datum narození:\n - nezadán nebo zadán špatně (21.07.2008)\n';


    form.narozeni.style.borderColor = 'red';
    i++;
  }
  else {
    // test na rozsah hodnot a na plnoletost
    var v = rgx.exec(form.narozeni.value);
    var d = new Date();
    var aRok = d.getFullYear(); // aktualni rok
    var adult = d.getFullYear(); adult -= 18; // rok plnoletosti
    var aMes = d.getMonth(); // aktualni mesic
    var aDen = d.getDay(); // aktualni den
    // rozsah hodnot
    if (v[3]<=aRok && v[3]>1850) { // rok
      if( ((v[2]==1||v[2]==3||v[2]==5||v[2]==7||v[2]==8||v[2]==10||v[2]==12) && (v[1]>0&&v[1]<32)) || ((v[2]==4||v[2]==6||v[2]==9||v[2]==11) && (v[1]>0&&v[1]<31)) || ((v[2]==2) && (v[1]>0 && v[1]<30)) ){
        // prestupne roky
        if (!( ( (v[3]%4>0) || ( (v[3]%100==0) && (v[3]%400>0) ) ) && (v[1]==29) )) {
          // plnoletost
          if (( (v[3]<adult) || (v[3]==adult && v[2]<=aMes && v[1]<=aDen) )){
            form.narozeni.style.borderColor = 'green';
          }
          else {
            txt+= i + '. Datum narození:\n - musí Ti být alespoň 18 let\n';
            form.narozeni.style.borderColor = 'red';
            i++;
          }
        }
        else {
          txt+= i + '. Datum narození:\n - neexistující datum, nepřestupný rok\n';
          form.narozeni.style.borderColor = 'red';
          i++;
        }
      }
      else {
        txt+= i + '. Datum narození:\n - neexistující datum\n';
        form.narozeni.style.borderColor = 'red';
        i++;
      }
    }
    else {
      txt+= i + '. Datum narození:\n - jsi pravděpodobně už mrtev (mrtvá), nebo jsi se ještě nenarodil(a)\n';
      form.narozeni.style.borderColor = 'red';
      i++;
    }
  }
  
  // check ulice - alespon 2 znaky
  if (form.ulice.value.length < 2) {
    txt+= i + '. Ulice:\n - nezadána nebo příliš krátký název\n';
    form.ulice.style.borderColor = 'red';
    i++;
  }
  else form.ulice.style.borderColor = 'green';
  
  // check psc - pet cislic
  if ( isNaN(form.psc.value) || (form.psc.value < 10000 || form.psc.value > 99999)) {
    txt+= i + '. PSČ:\n - nezadáno nebo špatný formát (54102)\n';
    form.psc.style.borderColor = 'red';
    i++;
  }
  else form.psc.style.borderColor = 'green';
  
  // check mesto - alespon 2 znaky
  if (form.mesto.value.length < 2) {
    txt+= i + '. Město:\n - nezadáno nebo příliš krátký název\n';
    form.mesto.style.borderColor = 'red';
    i++;
  }
  else form.mesto.style.borderColor = 'green';
  
  // check stat - neni treba, vzdy bude jeden checked
  
  // check okres - neni treba, vzdy bude jeden selected
  
  // vypis chyb, pokud jsou a return false
  if (txt.length > 0) {
    txt = 'Zkontroluj prosím tato pole formuláře:\n\n' + txt;
    alert(txt);
    return false;
  }
  // je-li vse OK, pak return true
  else return true;
}

function checkNWLFormStep3(form) {
  var txt = '';
  var i = 1; k = 0;
  
  // check typ
  var kluby = document.getElementsByTagName('input');
  for (j=0;j<kluby.length;j++) {
    if (kluby[j].name=='type'&&kluby[j].checked==true) k++;
  }
  if (k < 2) { // pokud nebyl vybran klub
    txt+= i + '. Oblíbená značka:\n - žádná nevybrána\n';
    i++;
  }
  
  // check pohlavi - neni treba, vzdy bude jeden checked
   
  // check jmeno - alespon dva znaky
  if (form.jmeno.value.length < 2) {
    txt+= i + '. Jméno:\n - nezadáno nebo příliš krátké\n';
    form.jmeno.style.borderColor = 'red';
    i++;
  }
  else {
    // test na to, zda obsahuje neplatné znaky
    var rgx1 = new RegExp();
    rgx1 = /^.*\d.*$/i; // cislice
    if (rgx1.test(form.jmeno.value)) {
      txt += i + '. Jméno:\n - nesmí obsahovat číslice\n';
      form.jmeno.style.borderColor = 'red';
      i++;
    }
    else form.jmeno.style.borderColor = 'green';
  }
  
  // check prijmeni
  if (form.prijmeni.value.length < 2) {
    txt+= i + '. Příjmení:\n - nezadáno nebo příliš krátké\n';
    form.prijmeni.style.borderColor = 'red';
    i++;
  }
  else {
    // test na to, zda obsahuje neplatné znaky
    var rgx1 = new RegExp();
    rgx1 = /^.*\d.*$/i; // cislice
    if (rgx1.test(form.prijmeni.value)) {
      txt += i + '. Příjmení:\n - nesmí obsahovat číslice\n';
      form.prijmeni.style.borderColor = 'red';
      i++;
    }
    else form.prijmeni.style.borderColor = 'green';
  }
  
  // check email <- vypnuto predvyplneno
/*  var rgx = new RegExp();
 * rgx = /^(.)+@(.)+\.(.)+$/i;
 * if (!form.email.value.match(rgx)) { 
 * //if ((form.email.value.indexOf('@')==0)||(form.email.value.indexOf('@')>form.email.value.length-4)||(form.email.value.indexOf('@')==-1)||(form.email.value == '')||(form.email.value.length < 5)) {
 *   txt+= i + '. Email:\n - nezadán nebo zadán špatně (nekdo@nekde.com)\n';
 *   form.email.style.borderColor = 'red';
 *   i++;
 * }
 * else form.email.style.borderColor = 'green';
 */
  
  // check mobil - vypnuto <- nepovinny udaj
/* var rgxCZ = new RegExp(); var rgxCZ2 = new RegExp();
 * var rgxSK = new RegExp(); var rgxSK2 = new RegExp();
 * rgxCZ1 = /^\+4206[0-9]{8}$/i; // CZ mobilni cisla
 * rgxCZ2 = /^\+4207[0-9]{8}$/i; // CZ mobilni cisla
 * rgxSK1 = /^\+4219[0-9]{8}$/i; // SK mobilni cisla
 * rgxSK2 = /^\+421601[0-9]{6}$/i; // SK mobilni cisla
 * if (form.mobil.value!=''&&!(form.mobil.value.match(rgxCZ1)||form.mobil.value.match(rgxCZ2)||form.mobil.value.match(rgxSK1)||form.mobil.value.match(rgxSK2))) {
 *   txt+= i + '. Mobil:\n - špatné číslo (CZ +420xxxxxxxxx | SK +421xxxxxxxxx)\n';
 *   form.mobil.style.borderColor = 'red';
 *   i++;
 * }
 * else form.mobil.style.borderColor = 'green';
 */
  
  // check datum narozeni
  var rgx = new RegExp();
  rgx = /^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$/i;
  // test na formát
  if (!form.narozeni.value.match(rgx)) {
    txt+= i + '. Datum narození:\n - nezadán nebo zadán špatně (21.07.2008)\n';
    form.narozeni.style.borderColor = 'red';
    i++;
  }
  else {
    // test na rozsah hodnot a na plnoletost
    var v = rgx.exec(form.narozeni.value);
    var d = new Date();
    var aRok = d.getFullYear(); // aktualni rok
    var adult = d.getFullYear(); adult -= 18; // rok plnoletosti
    var aMes = d.getMonth(); // aktualni mesic
    var aDen = d.getDay(); // aktualni den
    // rozsah hodnot
    if (v[3]<=aRok && v[3]>1850) { // rok
      if( ((v[2]==1||v[2]==3||v[2]==5||v[2]==7||v[2]==8||v[2]==10||v[2]==12) && (v[1]>0&&v[1]<32)) || ((v[2]==4||v[2]==6||v[2]==9||v[2]==11) && (v[1]>0&&v[1]<31)) || ((v[2]==2) && (v[1]>0 && v[1]<30)) ){
        // prestupne roky
        if (!( ( (v[3]%4>0) || ( (v[3]%100==0) && (v[3]%400>0) ) ) && (v[1]==29) )) {
          // plnoletost
          if (( (v[3]<adult) || (v[3]==adult && v[2]<=aMes && v[1]<=aDen) )){
            form.narozeni.style.borderColor = 'green';
          }
          else {
            txt+= i + '. Datum narození:\n - musí Ti být alespoň 18 let\n';
            form.narozeni.style.borderColor = 'red';
            i++;
          }
        }
        else {
          txt+= i + '. Datum narození:\n - neexistující datum, nepřestupný rok\n';
          form.narozeni.style.borderColor = 'red';
          i++;
        }
      }
      else {
        txt+= i + '. Datum narození:\n - neexistující datum\n';
        form.narozeni.style.borderColor = 'red';
        i++;
      }
    }
    else {
      txt+= i + '. Datum narození:\n - jsi pravděpodobně už mrtev (mrtvá), nebo jsi se ještě nenarodil(a)\n';
      form.narozeni.style.borderColor = 'red';
      i++;
    }
  }
  
  // check ulice - alespon 2 znaky
  if (form.ulice.value.length < 2) {
    txt+= i + '. Ulice:\n - nezadána nebo příliš krátký název\n';
    form.ulice.style.borderColor = 'red';
    i++;
  }
  else form.ulice.style.borderColor = 'green';
  
  // check psc - pet cislic
  if ( isNaN(form.psc.value) || (form.psc.value < 10000 || form.psc.value > 99999)) {
    txt+= i + '. PSČ:\n - nezadáno nebo špatný formát (54102)\n';
    form.psc.style.borderColor = 'red';
    i++;
  }
  else form.psc.style.borderColor = 'green';
  
  // check mesto - alespon 2 znaky
  if (form.mesto.value.length < 2) {
    txt+= i + '. Město:\n - nezadáno nebo příliš krátký název\n';
    form.mesto.style.borderColor = 'red';
    i++;
  }
  else form.mesto.style.borderColor = 'green';
  
  // check stat - neni treba, vzdy bude jeden checked
  
  // check okres - neni treba, vzdy bude jeden selected
  
  // vypis chyb, pokud jsou a return false
  if (txt.length > 0) {
    txt = 'Zkontroluj prosím tato pole formuláře:\n\n' + txt;
    alert(txt);
    return false;
  }
  // je-li vse OK, pak return true
  else return true;
}
