function selectCategory(event) {
  var attr;
  var sk = $("soutezni_kategorie");
  var ta = $("typ_ansamblu");
  var sb = $("sub_kategorie");
  var sbo = sb.select("option");
  if (event)
    sb.setValue(0);
  var idsk = sk.getValue();
  var idta = ta.getValue();
  var sbv = sub_kategorie.get(idta);
  sbo.each(function(e) {
    attr = e.readAttribute("value");
    if (attr != 0)
      (idsk != 0 && !attr.startsWith(idsk)) || (idta != 0 && sbv.indexOf(attr)) == -1 ? e.hide() : e.show();
  });
}

function respondToClick(event) {
  var status = Event.element(event).identify();
  var clicks = $$("input[type=\"checkbox\"]");
  clicks.each(function(item) {
    item.checked = (status == "check-all");
  });
  Event.stop(event);
}

function actionToClick(event) {
  var elm = Event.element(event).form;
  var action = elm.action;
  elm.action = action + '#pos';
}

function confirmToClick(event) {
  if (!confirm(confirm_msg))
    Event.stop(event);
}

function checkChanges(elm) {
  new Form.Observer(elm, 0.3, function(form, value) {
    $$("p.buttons a").each(function(e) {
      e.observe("click", confirmToClick);
    });
  })
}

document.observe("dom:loaded", function() {
  var elm = $$("a");
  elm.each(function(item) {
    var href = item.readAttribute("href");
    if (href.startsWith("http://"))
      Element.writeAttribute(item, "target", "_blank");
  });
  if ($("check-all")) {
    $("check-all").observe("click", respondToClick);
    $("uncheck-all").observe("click", respondToClick);
  }
  if ($("soutezni_kategorie")) {
    selectCategory();
    $("soutezni_kategorie").observe("change", selectCategory);
    $("typ_ansamblu").observe("change", selectCategory);
  }
  if ($("form_error"))
    $("form_error").hide();
  if ($$("input.comp"))
    $$("input.comp").each(function(e) {
      e.observe("click", actionToClick);
    });
  var forms = $$("form");
  if (forms.length > 0)
    checkChanges(forms[0]);
});

