// <!--  -*- coding: utf-8; -*- -->

// 発音記号開始
var ph_on = "[:";
// 発音記号終了
var ph_off = ":]"

function sample_memoModify(mystr) {
  var outstr = "";
  var i = 0;
  var c = "";
  while(i < mystr.length) {
    if(mystr.indexOf(ph_on, i) != -1) { //発音記号開始がみつかった場合
      j = mystr.indexOf(ph_on, i);
      outstr += mystr.substring(i, j);
      if(mystr.indexOf(ph_off, j) != -1) { //発音記号終了がみつかった場合
        i = mystr.indexOf(ph_off, j) + ph_off.length;
        outstr += thph_convert(mystr.substring(j+ph_on.length, i-ph_off.length));
      } else {
        alert("Error:\nnot found corresponding \'" + ph_off + "\'.");
        break;
      }
    } else { //発音記号開始がみつからなかった場合
      outstr += mystr.substring(i, mystr.length);
      i = mystr.length;
    }
  }
  return outstr;
}

var ph_img_start = "<img src='./thph_";
var ph_img_end = ".jpg' alt=''>";

function thph_convert(mystr) {
  var outstr = "";
  var mychar = "";
  for(i=0; i < mystr.length; i++) {
    mychar = mystr.charAt(i);
    mychar2 = "";
    ph_name = "";
    if(mychar == "a" || mychar == "e" || mychar == "i" || mychar == "o" || mychar == "u") {
      if(i < mystr.length - 1) mychar2 = mystr.charAt(i+1);
      if(mychar2 == "1" || mychar2 == "2" || mychar2 == "3" || mychar2 == "4") {
        i++;
      } else {mychar2 = ""}
      ph_name = mychar + mychar2;
    } else if(mychar == "A" || mychar == "E" || mychar == "O" || mychar == "U") {
      mychar = "9" + mychar.toLowerCase(mychar);
      if(i < mystr.length - 1) mychar2 = mystr.charAt(i+1);
      if(mychar2 == "1" || mychar2 == "2" || mychar2 == "3" || mychar2 == "4") {
        i++;
      } else {mychar2 = ""}
      ph_name = mychar + mychar2;
    } else if(mychar == "?") {
      ph_name = "stp";
    } else if(mychar == "N") {
      ph_name = "eng";
    } else if(("a".charCodeAt(0) <= mychar.charCodeAt(0)) && ("z".charCodeAt(0) >= mychar.charCodeAt(0))) {
      ph_name = mychar;
    }
    if(ph_name != "") {
      outstr += ph_img_start + ph_name + ph_img_end;
    } else {
      outstr += mychar;
    }
  }
  return outstr;
}

function thph_display() {
  mystr = myGetElementById("thph_test_input").value;
  myGetElementById("thph_test_output").innerHTML = thph_convert(mystr);
}

