jQuery.fn.extend({
    
    checkVal: function(arr, error) {
      val = jQuery.trim(this.val());
      this.val(val);
      hodnota = false;
      
      if(typeof(arr.cond) === "string") {
        if(arr.cond == "checked") {
          if(this.attr("checked") == "checked")
            hodnota = val;
        
        } else if(arr.cond == "undefined") {
          if(val.length > 0)
            hodnota = val;  
        
        
        } else if(arr.cond == "filled") {
          if(val.length > 0)
            hodnota = val;  
        
        } else {
            regExPatterns = {
                "email":        /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i,
                "url":          /^(https?|ftp)\:\/\/[a-z0-9_\-\.]+.[a-z]{2,4}$/,
                "mobile":       /^0[0-9]{2,3} ?[0-9]{3} ?[0-9]{3}$/,
                "mobileInter":  /^(\+|00)?[0-9]{2,4} ?[0-9]{3} ?[0-9]{3}$/,
                "phone":        /^[0-9\(\)\+ ]+$/,
                "int":          /^[0-9]+$/,
                "double":       /^[0-9]+((,|.)[0-9]*)?$/,
                "date":         /^0?[1-9]|[12][0-9]|3[01]. ?0?[1-9]|1[0-2]. ?[0-9]{1,4}$/
            }
            
            if(regExPatterns[arr.cond] !== undefined);
                arr.cond = regExPatterns[arr.cond];
        }
      }
      
      if(arr.cond instanceof RegExp) { //kotrola retazca ak je cond regularnym vyrazom
        if(arr.cond.test(val)) 
          hodnota = val;
      
      }
        
      if(hodnota === false && jQuery.isFunction(error)) {
            error.call(this, this, arr);
      }
      
      return hodnota;
    },
    
    chekForm: function(elementy, error) {
      var stav = true;
      var formular = this;
      var hodnoty = {}; 
      
      jQuery.each(elementy, function(key, val) {
        var obj = formular.find("[@name=" + key + "]");
        if(obj.length == 0) {
          alert(key + " not found");
          return stav = false;
        }
        if(val.focus == undefined)
          val.focus = true;
        if((hodnoty[key] = obj.checkVal(val, error)) === false) {
          return stav = false;
        }
      });

      if(stav)
        return hodnoty;
      else
        return false;
    }  
  
  }); 