PagePermissions.js 1.77 KB
var TzPagePermissions = function() {
    var oSel;
    var $select;
    var $roles;

    var oHidden = false;

    var init = function($) {
        if (TzPagePermissionsData.change_field != '0') {
            var oChange    = document.getElementById(TzPagePermissionsData.change_field);
            var sVal       = oChange.value;
            var oContainer = oChange.parentNode;
            oContainer.removeChild(oChange);
            oContainer.innerHTML = decodeURIComponent(TzPagePermissionsData.innerHTML);

            oHidden   = document.createElement('input');
            oHidden.type  = 'hidden';
            oHidden.value = sVal;
            oHidden.id    = TzPagePermissionsData.change_field;
            oHidden.name  = TzPagePermissionsData.change_field;

            oContainer.appendChild(oHidden);

            var $Sel = $('#' + TzPagePermissionsData.trigger);
            $Sel.change(updateHidden);

/*
            var Els = document.getElementsByTagName('form')[0].elements;
            for (var i = 0, iLen = Els.length; i < iLen; i++) {
                if ($(Els[i]).parent(oContainer)) {
//                    console.log(Els[i]);
                }
            }
*/
        }

        oSel = document.getElementById(TzPagePermissionsData.trigger);
        if (!oSel) {
            return;
        }

        $roles  = $('#TzSpecific');
        $(oSel).change(checkSetting);

        checkSetting();
    }

    var updateHidden = function() {
        oHidden.value = oSel.options[oSel.selectedIndex].value;
    }

    var checkSetting = function() {
        var iVal = oSel.options[oSel.selectedIndex].value;
        if (iVal == TzPagePermissionsData.focus) {
            $roles.show();
        } else {
            $roles.hide();
        }
    }

    jQuery(document).ready(init);
}();