
            function roundTable(objID) {
            var obj = document.getElementById(objID);
            var Parent, objTmp, Table, TBody, TR, TD;
            var bdcolor, bgcolor, Space;
            var trIDX, tdIDX, MAX;
            var styleWidth, styleHeight;

            // get parent node
            Parent = obj.parentNode;
            objTmp = document.createElement('SPAN');
            Parent.insertBefore(objTmp, obj);
            Parent.removeChild(obj);

            // get attribute
            bdcolor = obj.getAttribute('rborder');
            bgcolor = obj.getAttribute('rbgcolor');
            radius = parseInt(obj.getAttribute('radius'));
            if (radius == null || radius < 1) radius = 1;
            else if (radius > 6) radius = 6;

            MAX = radius * 2 + 1;

            /*
            create table {{
            */
            Table = document.createElement('TABLE');
            TBody = document.createElement('TBODY');

            Table.cellSpacing = 0;
            Table.cellPadding = 0;

            for (trIDX=0; trIDX < MAX; trIDX++) {
            TR = document.createElement('TR');
            Space = Math.abs(trIDX - parseInt(radius));
            for (tdIDX=0; tdIDX < MAX; tdIDX++) {
            TD = document.createElement('TD');

            styleWidth = '1px'; styleHeight = '1px';
            if (tdIDX == 0 || tdIDX == MAX - 1) styleHeight = null;
            else if (trIDX == 0 || trIDX == MAX - 1) styleWidth = null;
            else if (radius > 2) {
            if (Math.abs(tdIDX - radius) == 1) styleWidth = '2px';
            if (Math.abs(trIDX - radius) == 1) styleHeight = '2px';
            }

            if (styleWidth != null) TD.style.width = styleWidth;
            if (styleHeight != null) TD.style.height = styleHeight;

            if (Space == tdIDX || Space == MAX - tdIDX - 1) TD.style.backgroundColor = bdcolor;
            else if (tdIDX > Space && Space < MAX - tdIDX - 1) TD.style.backgroundColor = bgcolor;

            if (Space == 0 && tdIDX == radius) TD.appendChild(obj);
            TR.appendChild(TD);
            }
            TBody.appendChild(TR);
            }

            /*
            }}
            */

            Table.appendChild(TBody);

            // insert table and remove original table
            Parent.insertBefore(Table, objTmp);
            }
