jQuery(function($) {
    $.fn.setDisabled = function(value) {
        if (typeof this['prop'] === 'function') {
            this.prop('disabled', value);
        } else if (value) {
            this.attr('disabled', 'disabled');
        } else {
            this.removeAttr('disabled');
        }

        if (value) {
            this.addClass('disabled');
        } else {
            this.removeClass('disabled');
        }

        return this;
    };

    $('.ocs_metabox-button_update').click(function() {
        this.disabled = true;
        $(this).addClass('button-primary-disabled');
        $('#ocs_metabox-update_ajax_loader').css('visibility', 'visible');
        blockSave = true;
        window.onbeforeunload = null;
        $('#post').submit();
    });

   	$('#ocs_metabox-factor-all').change(function() {
        $('#ocs_metabox-input-factors input:checkbox:enabled')
            .attr('checked', $(this).attr('checked')? 'checked' : null);
    });

    $('#ocs_keyword').keyup(function() {
        $('#ocs_metabox-input-factors li.ocs_metabox-factor').attr('class', 'ocs_metabox-factor_none');
        $('#ocs_metabox-input-factors .ocs_metabox-factor-force').remove();
        $('#ocs_metabox-input-factors input[type="checkbox"]').setDisabled(false);
    })

    function ocs_show_message(message, type)
    {
        ocs_remove_message();
        $('#ocs_metabox .ocs_metabox-message').append('<li class="' + type + '">' + message + '</li>');
    }

    function ocs_remove_message()
    {
        $('#ocs_metabox .ocs_metabox-message').empty();
    }

    function ocs_htmlEscape(string) {
        return string.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
    }
});