function showCoords(de,x,y,bb,on) { var gx = getData(de, 'gridx'), gy = getData(de, 'gridy'), textList = getData(de,'chtext'), group, i, x1, y1, fnx = eval(gx.getAttributeNS(null, 'function')), fny = eval(gy.getAttributeNS(null, 'function')), textNode, rect, tbb, ti, ds; for(i = 0; i < textList.childNodes.length; ++i) { if(textList.childNodes[i].nodeName == 'svggraph:chtextitem') { ti = textList.childNodes[i]; group = getE(ti.getAttributeNS(null, 'groupid')); if(on) { textNode = group.querySelector('text'); rect = group.querySelector('rect'); while(textNode.childNodes.length > 0) textNode.removeChild(textNode.childNodes[0]); textNode.appendChild(newtext({$string:text_format})); setattr(textNode, 'y', 0 + 'px'); tbb = textNode.getBBox(); ds = tbb.height + tbb.y; x1 = x + bb.x + {$number:pad_space}; y1 = y + bb.y - {$number:pad_space} - ds; if(x1 + tbb.width + {$number:pad} > bb.x + bb.width) x1 -= group.getBBox().width + {$number:space2}; if(y1 - tbb.height - {$number:pad} < bb.y) y1 = y + bb.y + tbb.height + {$number:pad_space} - ds; setattr(textNode, 'x', x1 + 'px'); setattr(textNode, 'y', y1 + 'px'); tbb = textNode.getBBox(); fitRect(rect,tbb,{$number:pad}); } showhide(group, on); } } }