
    var Portal = Class.create({
        version: '1.0'
    });

    var Tabs = Class.create(Portal, {

        _activePageUID: '',

        initialize: function(pageUID)
        {
            this._activePageUID = pageUID;
        },

        toggle: function(pageUID)
        {
            $(this._activePageUID).toggle();
            this._activePageUID = pageUID;
            $(this._activePageUID).toggle();
        }

    });

    var CommonForm = Class.create(Portal, {

        _blockObject: null,

        initialize: function(blockId)
        {
            this._blockObject = $(blockId);
        },

        toggle: function()
        {
            this._blockObject.toggle();
        },

        reply: function(CommentId)
        {
            $('parent-id').value = CommentId;
        }

    });

    var Rating = Class.create(Portal, {

        _itemURI: '',
        _controlId: '',

        initialize: function(itemURI, controlId)
        {
            this._itemURI = itemURI;
            this._controlId = controlId;
        },

        set: function(rate)
        {
            new Ajax.Request(this._itemURI + rate,
            {
                method: 'get',
                onSuccess: function(transport)
                {
                    $('rate-summary').update(transport.responseText);
                    $('rating').toggle();
                }
            });
        },

        select: function(rate)
        {
            for (var index = 1; index <= rate; ++index)
            {
                currentControl = $(this._controlId + index);
                currentControl.src = currentControl.src.replace('.gif', '_a.gif');
            }
        },

        deselect: function(rate)
        {
            for (var index = 1; index <= rate; ++index)
            {
                currentControl = $(this._controlId + index);
                currentControl.src = currentControl.src.replace('_a.gif', '.gif');
            }
        }

    });

