var FormValidation =
{
  init: function()
  {
    var forms = document.getElementsByTagName("form");

    for (var i = 0; i < forms.length; i++)
    {
      Core.addEventListener(forms[i], "submit", FormValidation.submitListener);
    }
  },

  rules:
  {
    datum: /^[0-3][0-9]\.[0-1][0-9]\.[2][0][0-9][0-9]$/,
    cas: /^[0-2][0-9]:[0-5][0-9]$/,
    email: /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/,
    meno: /\S/,
	nazov: /\S/,
	cislo: /^\d*[0-9]\d*$/,
	neprazdne: /\S/
  },

  errors:
  {
    datum: "Nesprávne vyplnený formát dátumu! Správny formát je dd.mm.rrrr, napr. 01.01.2011.",
    cas: "Nesprávne vyplnený formát času! Správny formát je hh:mm, napr. 09:05.",
    email: "Nesprávne zadaný formát emailovej adresy!",
    meno: "Vyplňte meno!",
	nazov: "Vyplňte názov!",
	cislo: "Nesprávny formát vyplneného čísla!",
    neprazdne: "Chýbajúce údaje!"		
  },

  submitListener: function(event)
  {
    var fields = this.elements;

    for (var i = 0; i < fields.length; i++)
    {
      var className = fields[i].className;
      var classRegExp = /(^| )(\S+)( |$)/g;
      var classResult;

      while (classResult = classRegExp.exec(className))
      {
        var oneClass = classResult[2];
        var rule = FormValidation.rules[oneClass];
        if (typeof rule != "undefined")
        {
          if (!rule.test(fields[i].value))
          {
            fields[i].focus();
            alert(FormValidation.errors[oneClass]);
            Core.preventDefault(event);
            return;
          }
        }
      }
    }
  }
};

Core.start(FormValidation);

