  function disableOnChecked(selector,data,affected,isSelect)
    {
    assigned = false;

    performDisable = function()
      {
      $.each(affected, function(key,element) {
        $(element).attr("disabled", false);
      });

      $.each(data, function(value,elements) {

        if ((isSelect && $(selector).val() == value) || (!isSelect && $(selector+':checked').val() == value))
          {
          $.each(elements, function(key,element) {

              $(element).attr("disabled", true).attr("checked", false);


            });
          }
        });

      /* Prirazeni onChange akce selectu */
      if (!assigned)
        {
        $(selector).live('change', function() {
          performDisable();
          });
        }
      assigned = true;
      return false;
      }

    /* Provedeme prvni schovani */
    performDisable();
    }

  function hideOnChecked(selector,data)
    {
    assigned = false;

    performHide = function()
      {
      $.each(data, function(value,element) {

        if($(selector+':checked').val() == value)
          $(element).show();
        else
          $(element).hide();

        /* Prirazeni onChange akce selectu */
        if (!assigned)
          {
          $(selector).bind('change', function() {
            performHide();
            });
          }
        });

      assigned = true;
      }

    /* Provedeme prvni schovani */
    performHide();
    }
