/*
 Knihovna pro overovani udaju ve formularich
 autor: Ivo Jancik, ivosh@winet.cz

 -- verze 1.0 (25/11/2005)
    
*/

// A. obecne reg. vyrazy
// TOTO ZMEN, pokud potrebujes nejake jine
var re_email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
var re_tel = /^([+0-9\s]){9,}$/;
var re_ico = /^([0-9]){8}$/;
var re_dic = /^([A-Za-z]){2}([0-9]){8,10}$/;
var re_psc = /^([0-9]){5}$/;
var re_cele_cislo = /^([0-9])+$/;


// B. check type konstanty, pole
// TOTO NECHEJ TAK
var chck_not_empty = 'not_empty';
var chck_reg_exp = 'reg_exp';
var check_fields = Array();

// C. deklarace kontrolovanych zaznamu
// TOTO SI PREPIS, jak potrebujes
// VZOR:
// check_fields['nazev_formulare'] = new Array();
// check_fields['nazev_formulare']['nazev_inputu'] = new Array();
// check_fields['nazev_formulare']['nazev_inputu']['checktype'] = chck_reg_exp; // nebo chck_not_empty
// check_fields['nazev_formulare']['nazev_inputu']['regexp'] = re_email;
// check_fields['nazev_formulare']['nazev_inputu']['fail'] = 'Zadejte platnou e-mailovou adresu!';
                                                         
function rez1_special() {
  var ok = false;
  alert('ja');
  }

check_fields['rez0'] = new Array();
check_fields['rez0']['pocetdospelych'] = new Array();
check_fields['rez0']['pocetdospelych']['checktype'] = chck_reg_exp;
check_fields['rez0']['pocetdospelych']['regexp'] = re_cele_cislo;
check_fields['rez0']['pocetdospelych']['fail'] = 'Zadejte počet dospělých osob!';

check_fields['rez1'] = new Array();
check_fields['rez1']['special'] = rez1_special;

// D. vykonne funkce
// TOTO NECHEJ TAK
function check_form(frm) {
  if (check_fields[frm.name]) {
    for (i=0; i<frm.elements.length; i++) {
      el_name = frm.elements[i].name;
      frm.elements[i].value = trim(frm.elements[i].value); 
      if (check_fields[frm.name][el_name]) {
        if (check_fields[frm.name][el_name]['checktype']==chck_reg_exp) {
          var rexp = check_fields[frm.name][el_name]['regexp'];
          if (!rexp.test(frm.elements[i].value)) {
            alert(check_fields[frm.name][el_name]['fail']);
            frm.elements[i].focus();
            return false;
            }
          }
        else if (check_fields[frm.name][el_name]['checktype']==chck_not_empty) {
          if (frm.elements[i].value=='') {
            alert(check_fields[frm.name][el_name]['fail']);
            frm.elements[i].focus();
            return false;
            }
          }
        } 
      }
    if (check_fields[frm.name].special) {
      fun = check_fields[frm.name].special;
      if (!fun()) return false;
      }
    }
  return true;
  }

function trim(TRIM_VALUE) {
  if(TRIM_VALUE.length < 1){
    return"";
    }
  TRIM_VALUE = RTrim(TRIM_VALUE);
  TRIM_VALUE = LTrim(TRIM_VALUE);
  if(TRIM_VALUE==""){
    return "";
    } else {
    return TRIM_VALUE;
    }
  } //End Function

function RTrim(VALUE) {
  var w_space = String.fromCharCode(32);
  var v_length = VALUE.length;
  var strTemp = "";
  if(v_length < 0){
  return"";
  }
  var iTemp = v_length -1;
  
  while(iTemp > -1){
  if(VALUE.charAt(iTemp) == w_space){
  }
  else{
  strTemp = VALUE.substring(0,iTemp +1);
  break;
  }
  iTemp = iTemp-1;
  
  } //End While
  return strTemp;
  
  } //End Function

function LTrim(VALUE) {
  var w_space = String.fromCharCode(32);
  if(v_length < 1){
  return"";
  }
  var v_length = VALUE.length;
  var strTemp = "";
  
  var iTemp = 0;
  
  while(iTemp < v_length){
  if(VALUE.charAt(iTemp) == w_space){
  }
  else{
  strTemp = VALUE.substring(iTemp,v_length);
  break;
  }
  iTemp = iTemp + 1;
  } //End While
  return strTemp;
  } //End Function

  

