- elm = document.createElement ('div');
- document.getElementsByTagName ('body')[0].appendChild (elm);
- }
-
- imitateElement(target, elm);
- var selectionEnd = target.selectionEnd;
- var value = target.value;
-
- var elmCursor = document.createElement('span');
- elmCursor.innerHTML = '|';
-
- //elm = document.createElement ('pre');
- elm.innerHTML = '';
- var elmChild = document.createTextNode(value.substr(0,selectionEnd));
- elm.appendChild(elmChild);
- elm.appendChild(elmCursor);
-
- var x = target.offsetLeft + elmCursor.offsetLeft +2;
- var y = target.offsetTop + elmCursor.offsetTop -2;
-
- Xex.Log ("x:" + x + "px y:" + y + "px w:" + elm.offsetWidth);
+ ic.target_top = 0;
+ ic.target_left = 0;
+ for (var elm = ic.target.offsetParent; elm; elm = elm.offsetParent)
+ {
+ ic.target_top += elm.offsetTop;
+ ic.target_left += elm.offsetLeft;
+ }
+ ic.div_node = document.createElement ('div');
+ copy_style (target, ic.div_node);
+ ic.div_node.style.visibility="hidden";
+ ic.div_node.style.position = "absolute";
+ document.getElementsByTagName ('body')[0].appendChild (ic.div_node);
+ ic.div_node_first = document.createElement ('span');
+ ic.div_node_last = document.createElement('span');
+ ic.div_node_last.innerHTML = '.';
+ ic.div_node.appendChild (ic.div_node_first);
+ ic.div_node.appendChild (ic.div_node_last);
+ ic.can_node = document.createElement ('table');
+ ic.can_node.style.position = 'absolute';
+ ic.can_node.style.display = 'none';
+ ic.can_node.style.backgroundColor = "white";
+ ic.can_node.style.border = "1px solid black";
+ document.getElementsByTagName ('body')[0].appendChild (ic.can_node);
+ }
+
+ ic.can_node.innerHTML = '';
+ var tr = document.createElement ('tr');
+ ic.can_node.appendChild (tr);
+ var group = ic.candidates.CurrentGroup ();
+ for (var i = 1; i < group.length; i++)
+ {
+ var td = document.createElement ('td');
+ td.nowrap = true;
+ td.innerHTML = i + '.' + group[i];
+ if (i == group[0] + 1)
+ td.style.backgroundColor = 'lightblue';
+ ic.can_node.appendChild (td);
+ }
+ ic.div_node_first.innerHTML = target.value.substr (0, ic.range[0]);
+ var x = ic.target_left + ic.div_node.lastChild.offsetLeft;
+ var y = (ic.target_top + ic.div_node.lastChild.offsetTop
+ + ic.div_node.lastChild.offsetHeight - target.scrollTop + 10);
+ ic.can_node.style.left = x + 'px';
+ ic.can_node.style.top = y + 'px';
+ ic.can_node.style.display = 'block';