Fx.e() : ファイル入出力関数
Fx.e = function(d1,d2,d3){
 if(typeof(d1) == "object") d1 = d1.join("");
 var a = new XMLHttpRequest();
 if(typeof(d2) == "boolean" && d2 == false){
  a.open("get", d1, false); a.send(null);
  return res(a);
 } else {
  if(typeof(d2) == "object") d2 = d2.join("");
  var mode = d1.match(/^[a-z0-9_]+$/) ? "post" : "get";
  var get = mode == "get";
  var key = (get ? d2 : d3) || "entry";
  if(get){
   Lo[key].uri = d1;
   if(typeof(Lo[key].bef) == "function") Lo[key].bef();
  }
  Re[key] = a;
  a.onreadystatechange = function(){
   if(a.readyState == 4){
    if(a.status == 200) Lo[key](a.responseText.replace(/\r?\n/g, "\t"));
    else typeof(Lo[key].err) == "function" ? Lo[key].err() : Fx.err();
   }
  };
  a.open(mode, get ? d1.replace(/#.*$/, "") : "/cgi-bin/" + d1 + ".cgi", true);
  if(!get) a.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  a.send(get ? null : d2);
 }
};


第1引数が配列渡しの場合は連結されます。

第2引数がfalseの場合は、get送信で値を取得するまでウェイトが掛かり代入されます。
 str = Fx.e("取得したいファイル", false); のように利用する。(同期通信)

第2引数がfalse以外は非同期通信になる。
 第1引数がcgi名(diary_form,diary_editor等)の場合はpost送信になる。
 その場合のデータ部分は第2引数になる。それが配列なら連結される。

非同期通信のときの戻り関数の指定は第2引数か第3引数になる。場合による。
 getの場合は第2引数、postの場合は第3引数になる。
 省略時にはデフォルトとして"entry"の文字列が割り当てられる。

戻りの関数は Lo.entry() .... 省略時の関数。のように Lo.string()になる。

ロードのエラーが起こった場合には、Lo[key].err() もしくは、Fx.err()が実行される。

戻り関数 Lo[key]には次のプロパティが設定される。
 Lo[key].uri get送信のときのurl
 Lo[key].bef() url置換が必要なときの関数が設置されていれば実行される。

Lo.entry(str) のように実行される際のstrは改行コードがタブコードに置換される。

戻りのデータは Re.entry.resposeTextでも取得が可能。

カレン
eDisp