function kbmjMix(id, option, charset, target_id){
  kbmjKuchikomi("mix", id, option, charset, target_id);
}
function kbmjQuestionnaire(id, target_id, charset, option) {
  kbmjKuchikomi("qa", id, option, charset, target_id);
}
function kbmjBbs(option, charset, target_id){
  kbmjKuchikomi("bbs", null, option, charset, target_id);
}
function kbmjLogin(id, option, charset, target_id) {
  kbmjKuchikomi("login", id, option, charset, target_id);
}
function kbmjTrackback(id, option, charset, target_id) {
  kbmjKuchikomi("tb", id, option, charset, target_id);
}
function kbmjComment(id, option, charset, target_id) {
  kbmjKuchikomi("cm", id, option, charset, target_id);
}
function kbmjKuchikomi(type, id, option, charset, target_id) {
  location.href.match("\\?");
  add_query = RegExp.rightContext;
  add_query = add_query ? "&" + add_query : "";
  
  // "/"が含まれている場合は削除する
  while (add_query.indexOf("/") >= 0) {
    add_query = add_query.replace("/", "");
  }

  // URLエンコード
  kv_pairs = add_query.split("&");
  for (i = 0; i < kv_pairs.length; i++) {
    kv_array = kv_pairs[i].split("=");
    if (kv_array.length == 2) {
      for (j = 0; j < kv_array.length; j++) {
        kv_array[j] = decodeURI(kv_array[j]);
        kv_array[j] = encodeURI(kv_array[j]);
      }
      kv_pair = kv_array.join("=");
      kv_pairs[i] = kv_pair;
    } else {
      kv_pairs[i] = "";
    }
  }
  add_query = kv_pairs.join("&");
  
  var host = "origin-ugc.disney.co.jp";
  var serial = "KrXcGyJ0jxFkz";

  var url = location.protocol + "//" + host;
  option = option ? "&" + option : "" ;

  switch(type){
  case "cm":
    target_id = target_id || "kbmj_comment";
    url += "/cm/list/";
    break;
  case "bbs":
    target_id = target_id || "kbmj_bbs";
    url += "/bbs/list/";
    break;
  case "tb":
    url += "/tb/list/";
    target_id = target_id || "kbmj_trackback";
    break;
  case "qa":
    url += "/questionnaire/list/";
    target_id = target_id || "kbmj_questionnaire";
    break;
  case "mix":
    target_id = target_id || "kbmj_mix";
    url += "/cm/list/";
    var mix_ids = id.split(",");
    var mix_id_query = ""
    for (var i = 0; i < mix_ids.length; i++) {
      mix_id_query += "&mix_id[]=" + mix_ids[i]
    }
    break;
  case "login":
    url += "/login/list/";
    target_id = target_id || "kbmj_login";
  }
  if (id) {
    if (mix_id_query) {
      url += serial + "?view=mix&target_id=" + target_id + "&charset=" + charset + mix_id_query + option + add_query;
    } else {
      url += serial + "/" + id  + "?target_id=" + target_id + "&charset=" + charset + option + add_query;
    }
  } else {
    url += serial + "?target_id=" + target_id + "&charset=" + charset + option + add_query;
  }

  var func = function(){
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('charset', charset);
    script.setAttribute('src', url);
    var target = document.getElementById(target_id);
    target.appendChild(script);
  }
  if(window.addEventListener){
    window.addEventListener('load', func, false);
  }else if(window.attachEvent){
    window.attachEvent('onload', func);
  }else{
    window.onload = func;
  }
}

