﻿// Client Functions for MetaDataValueControl and also NodeParameterValueControl.

var MetaDataValueControl = {
    controls: {},
    restorePage: function() {
        setTimeout('formDisable(false)', 300);
        return true;
    },
    RadioButtonListDisable: function(id, disabled) {
        var radUl = $(id);
        if (radUl) {
            if (typeof (radUl.disabled) != 'undefined') { radUl.disabled = disabled; }
            var radValue1 = $(id + '_1');
            var radValue2 = $(id + '_2');
            var lblValue1 = radValue1.next(); //get_previoussibling(radValue1);
            var lblValue2 = radValue2.next(); //get_previoussibling(radValue2);
            if (typeof (radValue1.disabled) != 'undefined') radValue1.disabled = disabled;
            if (typeof (radValue2.disabled) != 'undefined') radValue2.disabled = disabled;
            if (typeof (lblValue1) != 'undefined') lblValue1.disabled = disabled;
            if (typeof (lblValue2) != 'undefined') lblValue2.disabled = disabled;
        }
    },
    AssetTextboxDisable: function(id, txtId, btnId, disabled) {
        var tbl = $(id);
        if (tbl) {
            if (typeof (tbl.disabled) != 'undefined') { tbl.disabled = disabled; }
        }
        var txt = document.getElementById(txtId);
        if (txt) {
            if (typeof (txt.disabled) != 'undefined') { txt.disabled = disabled; }
        }
        setButtonState(btnId, null, !disabled)

    },
    HtmlEditorDisable: function(id, disabled, fEditorInitFunction) {
        var txtHtmlEditor = $(id);
        if (txtHtmlEditor) {
            if (typeof (txtHtmlEditor.disabled) != 'undefined') { txtHtmlEditor.disabled = disabled; }
            if (disabled) {
                //tinyMCE.get(id).hide();

                tinyMCEext.setReadonly(id, true);

            }
            else {
                //tinyMCE.get(id).show();
                if ((fEditorInitFunction != '') && (txtHtmlEditor.hasTinyMCEInit != true)) {
                    tinyMCEext.setReadonly(id, false);
                    txtHtmlEditor.style.display = '';
                    eval(fEditorInitFunction);
                    txtHtmlEditor.hasTinyMCEInit = true;

                }
                else {
                    tinyMCEext.setReadonly(id, false);
                }
            }
        }
    },
    ListBoxDisable: function(id, disabled) {
        var listBox = $(id);
        if (listBox) {
            if (typeof (listBox.disabled) != 'undefined') { listBox.disabled = disabled; }
        }
    },
    CheckBoxListDisable: function(id, disabled) {
        //TODO: disable CheckBoxList.
    },

    SelectPage: function(id, pId, index) {
        var lPrevious = MetaDataValueControl.controls[pId].Selected;
        if ((lPrevious === null) || (CheckPage(lPrevious))) {
            var lControl = $(id);
            if ((lPrevious !== null) && ($(lPrevious) != null)) {
                $(lPrevious).hide();
            }
            lControl.show();
            MetaDataValueControl.controls[pId].Selected = id;
            if ($(pId) != null) {
                var lNav = $(pId).select('.Nav');
                lNav.each(function(lNav, lIndex) {
                    lNav.removeClassName('Selected');
                }, this);
                lNav = $(pId).select('.Nav' + index.toString());
                if (lNav && lNav.length > 0) {
                    lNav.each(function(lNav, lIndex) {
                        lNav.addClassName('Selected');
                    }, this);
                }
            }
        }
    }

};	
	
	
