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;
	  
	  //su's code start
	  //Table.width = obj.width;
	  //Table.height = obj.height; 
	  //su's code end	  

      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'); 
							//TD.width = obj.TD.width;
                
							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); 
}