(function($) {
  $(".form_element form").livequery("submit", function() {
    var valid = true;
    var required = $(this).find(".field.required");
    for(var i = 0; i < required.length; i++) {
      var field = $(required[i]);
      var kind = field.metadata().kind;
      var value;
      if(kind == "text_area") {
        value = field.find("textarea").val() || "";
      } else {
        value = field.find('input').val() || "";
      }
      if(kind == "radio_buttons" || kind == "check_boxes") {
        if(field.find("input:checked").length == 0) {
          var label = field.parent().find('.label .value').html();
          alert("Proszę wypełnić pole '" + label + "'.");
          return false;
        }
      } else {
        if(jQuery.trim(value) == "") {
          var label = field.parent().find('.label .value').html();
          alert("Proszę wypełnić pole '" + label + "'.");
          return false;
        }
      }
    }
    return valid;
  });
})(jQuery);
