+ <script type="text/javascript">
+ MIM.debug_print = function (event, ic)
+ {
+ if (MIM.debug_nodes)
+ {
+ if (! MIM.debug_nodes['status0'])
+ return;
+ }
+ else
+ {
+ MIM.debug_nodes = new Array ();
+ MIM.debug_nodes['status0'] = document.getElementById ('status0');
+ if (! MIM.debug_nodes['status0'])
+ return;
+ MIM.debug_nodes['status1'] = document.getElementById ('status1');
+ MIM.debug_nodes['keydown'] = document.getElementById ('keydown');
+ MIM.debug_nodes['keypress'] = document.getElementById ('keypress');
+ MIM.debug_nodes['keymap0'] = document.getElementById ('keymap0');
+ MIM.debug_nodes['keymap1'] = document.getElementById ('keymap1');
+ MIM.debug_nodes['preedit0'] = document.getElementById ('preedit0');
+ MIM.debug_nodes['preedit1'] = document.getElementById ('preedit1');
+ MIM.debug_nodes['range0'] = document.getElementById ('range0');
+ MIM.debug_nodes['range1'] = document.getElementById ('range1');
+ }
+ var target = event.target;
+ var code = event.keyCode;
+ var ch = event.type == 'keypress' ? event.charCode : 0;
+ var key = MIM.decode_key_event (event);
+ var index;
+
+ if (event.type == 'keypress' || event.type == 'keydown')
+ MIM.debug_nodes[event.type].innerHTML = "" + code + "/" + ch + ":" + key + '/' + event.keyIdentifier;
+ index = (event.type == 'keydown' ? '0' : '1');
+ if (ic)
+ MIM.debug_nodes['status' + index].innerHTML = ic.im.load_status;
+ else
+ MIM.debug_nodes['status' + index].innerHTML = 'no IM';
+ MIM.debug_nodes['keymap' + index].innerHTML = ic.state.name;
+ MIM.debug_nodes['preedit' + index].innerHTML = ic.preedit;
+ MIM.debug_nodes['range' + index].innerHTML
+ = ic.range[0]+'-'+ic.range[1]+'-'+ic.cursor_pos;
+ if (index == 0)
+ {
+ MIM.debug_nodes.keypress.innerHTML = '';
+ MIM.debug_nodes.status1.innerHTML = '';
+ MIM.debug_nodes.keymap1.innerHTML = '';
+ MIM.debug_nodes.preedit1.innerHTML = ''
+ MIM.debug_nodes.range1.innerHTML = ''
+ }
+ };
+
+ MIM.toggle_log = function ()
+ {
+ if (Xex.LogNode)
+ {
+ Xex.LogNode.parentNode.removeChild (Xex.LogNode);
+ Xex.LogNode = false;
+ }
+ else
+ {
+ Xex.LogNode = document.createElement ('div');
+ Xex.LogNode.style.border = '1px solid black';
+ Xex.LogNode.style.font = 'normal normal normal small monospace';
+ Xex.LogNode.style.width = '100%';
+ Xex.LogNode.style.minHeight = '300px';
+ Xex.LogNode.style.maxHeight = '300px';
+ Xex.LogNode.style.overflow = 'auto';
+ Xex.Log (null);
+ document.getElementsByTagName ('body')[0].appendChild (Xex.LogNode);
+ }
+ }
+
+ </script>