*** empty log message ***
[m17n/m17n-lib-js.git] / mim.js
diff --git a/mim.js b/mim.js
index bb7f551..be5bf7b 100644 (file)
--- a/mim.js
+++ b/mim.js
@@ -222,14 +222,26 @@ MIM.load_sync = function (im)
 
   if (! obj)
     alert ("XMLHttpRequest not supported");
-  obj.open ('GET', 'latn-post.mimx', false);
-  obj.overrideMimeType ('text/xml');
-  obj.send ("");
-  im.body = obj.responseXML;
-  document.AnXml = im.body;
-  if (MIM.parse (im))
-    return im;
-  alert (im.parse_error);
+  if (true)
+    {
+      obj.open ('GET', im.url, false);
+      obj.send ("");  
+      eval (obj.responseText);
+      if (! im.keymap)
+       alert ("obj.responseText");
+      return im;
+    }
+  else
+    {
+      obj.open ('GET', 'latn-post.mimx', false);
+      obj.overrideMimeType ('text/xml');
+      obj.send ("");
+      im.body = obj.responseXML;
+      document.AnXml = im.body;
+      if (MIM.parse (im))
+       return im;
+      alert (im.parse_error);
+    }
   return false;
 };
 
@@ -241,6 +253,8 @@ MIM.load = function (im)
   s.src = im.url;
   document.body.appendChild (s);
   document.body.removeChild (s);
+  if (! im.keymap)
+    alert ("load fail");
   im.status = 2;
   return im;
 };
@@ -528,7 +542,7 @@ MIM.select_im = function (event)
   document.getElementsByTagName ('body')[0].removeChild (target);
   target.target.focus ();
   if (im && im != MIM.current_im)
-    MIM.current_im = MIM.load (im);
+    MIM.current_im = MIM.load_sync (im);
 };
 
 MIM.destroy_menu = function (event)
@@ -569,16 +583,41 @@ MIM.select_menu = function (event)
   document.getElementsByTagName ('body')[0].appendChild (sel);
 };
 
+MIM.textinput = function (event)
+{
+  var str = ''
+  var changed = false;
+  for (var i = 0; i < event.data.length; i++)
+    {
+      if (event.data.charAt (i) == 'あ')
+       {
+         str += 'ア'; changed = true;
+       }
+      else
+       str += event.data.charAt (i);
+    }
+  alert (str);
+  if (changed)
+    {
+      var e = document.createEvent ('TextEvent');
+      e.initTextEvent ('textInput', event.canBuggle, event.cancelable, event.view,
+                      str, event.inputMode);
+      document.getElementById ('text').value = str;
+      event.target.dispatchEvent (e);
+    }
+}
+
 MIM.init = function ()
 {
   MIM.add_event_listener (window, 'keydown', MIM.keydown);
   MIM.add_event_listener (window, 'keypress', MIM.keypress);
   MIM.add_event_listener (window, 'mousedown', MIM.select_menu);
+  MIM.add_event_listener (window, 'textInput', MIM.textinput);
   if (window.location == 'http://localhost/mim/index.html')
     MIM.server = 'http://localhost/mim';
   MIM.current_im = MIM.register ('latin', 'post', 'latn-post.js');
   MIM.register ('th', 'kesmanee', 'th-kesmanee.js');
-  MIM.load (MIM.current_im);
+  MIM.load_sync (MIM.current_im);
 };
 
 MIM.init_debug = function ()