﻿var VoiceTime; //【IEだとQuickTimeが起動してしまい、隠蔽できないのでせめて時間管理で消去する。】
var e_num;

var msg_list = {
"num": 19,
"width": "610",
"height": "480",
"movie_id": "VcrysHorzOo",
"title": "[ Vocaloid2 : Miku Hatsune] Ievan Polkka",
"error": [
{"code": 400, "message": "Bad Request",              "comment": "なにやらURLのご指定方法などに文法上の問題が発生しているようです。ひょっとすると、こちらの書いたHTMLに記述ミスでもあるかもしれませんね。もしそうだったら許して下さい。" },
{"code": 401, "message": "Unauthorized",             "comment": "なにやらそれを読むには許可が必要なようなのですみません。まぁ、交渉はしたようなので許してください。お願いします。" },
{"code": 403, "message": "Forbidden",                "comment": "なにやら硬くガードされたエリアのようです。見せるの嫌だとか申しております。最近、ハッキングが激しいもので、無関係の人まで巻き添えをくっている可能性があります。もしそうだったらご理解のうえ、お許し下さい。" },
{"code": 404, "message": "Not Found",                "comment": "なにやらずいぶん捜してみたそうなんですが、そんなファイルが見つからないとか申しております。まぁ、努力はしたようなので我慢してください。お願いします。" },
{"code": 405, "message": "Method Not Allowed",       "comment": "なにやら許されていない方法を使うから嫌だとか申しております。はぁ、そんな冷たいこと言わないで、もうちょっと我慢しろよとか思うのですがねぇ。許してくださいね。" },
{"code": 408, "message": "Request Time Out",         "comment": "なにやら遅いから待ってられないとか申しております。はぁ、そんな冷たいこと言わないで、もうちょっと待てないのかとか思うのですがねぇ。許してくださいね。" },
{"code": 409, "message": "Conflict",                 "comment": "なにやらリクエストはリソース状態と矛盾しているためご命令を完了できないとか申しております。はぁ、こんがらがっちゃったみたいですね。許してくださいね。" },
{"code": 410, "message": "Gone",                     "comment": "なにやらご臨終だとか申しております。はぁ、そんなこと言わないで何とかならないものですかねぇ。許してくださいね。" },
{"code": 411, "message": "Length Required",          "comment": "なにやら短いぞとか申しております。はぁ、そこんところ気を回してできないものかと思うんですが、気がきかないものですみません。許してくださいね。" },
{"code": 412, "message": "Precondition Failed",      "comment": "事前準備ができていないとか申しております。はぁ、そこんところ気を回してできないものかと思うんですが、才能がないものですみません。なんちゃって、居眠りしてて寝起きのせいかもしれません。許してくださいね。" },
{"code": 413, "message": "Request Entity Too Large", "comment": "要求されたEntityとかが長過ぎるとか申しております。はぁ、勉強不足なものですから、何を言っているのか憶えられないようです。許してくださいね。" },
{"code": 414, "message": "Request URI Too Large",    "comment": "要求されたURIとかが長過ぎるとか申しております。はぁ、頭が悪いものですから、何を言っているのか全部憶えられないようです。許してくださいね。" },
{"code": 415, "message": "Unsupported Media Type",   "comment": "そちらでご指定のメディアに関して、こちらではお取り扱いしておりません。はぁ、世間知らずなサーバーなものですから、それがどんなメディアなのかもわかりません。許してくださいね。" },
{"code": 500, "message": "Internal Server Error",    "comment": "サーバー側のエラーだそうです。なにやらサーバーさんのお身体の調子が悪い模様です。詳しい原因は不明です。ほんとに嫌ですね。こまっちゃいます。気を取り直してお茶でも一腹いかがでしょうか？" },
{"code": 501, "message": "Not Implemented",          "comment": "サーバー側のエラーだそうです。「そんなこと、やったことないしぃー。」とかほざいてます。ご迷惑をおかけいたします。そちらのコンテンツの呼び出し手法には問題はございません。ただただ、こちらのサーバーがいたらないために内部でエラーが発生した模様です。ほんとに嫌ですね。こまっちゃいます。ごめんなさい。" },
{"code": 502, "message": "Bad Gateway",              "comment": "サーバー側のエラーだそうです。なにやらサーバーへの入り方が悪いとか申しております。礼儀作法のことでしょうか？ほんとに嫌ですね。融通が利かない事と言ったら、こまっちゃいます。気を取り直してお茶でも一腹いかがでしょうか？" },
{"code": 503, "message": "Service Unavailable",      "comment": "サーバー側のエラーだそうです。なにやら利用できないサービスだとかぬかしております。本当によわりました。気を取り直してお茶でも一腹如何でしょうか？" },
{"code": 506, "message": "Variant Also Varies",      "comment": "もう、なんのことやら．．．．許容限界を超えてしまったようです。最近、忙しかったのが悪かったのでしょうか。ご理解のうえ、お許し下さい。" },
{"code": 999, "message": "You are not my master.",   "comment": "呼ばれたから、来てみたけど？　あなた、マスターじゃ、ないでしょ？　あんまり執着すると、どうしちゃおうかなぁ？" }
]};

function DspMsg(ecode) {
   e_num=0;
   for(var i = 0; i < msg_list.num; i++) {
      if(ecode == msg_list.error[i].code) { e_num=i; i=msg_list.num; }
   }
   var ss = "<font face=\"Times New Roman\" size=\"7\">"
          + "<div name=\"Logo\" id=\"Logo\" style=\"width:610px; height:50px;  position:absolute; top:0px; left:0px; z-index:1;\">"
          + "<a title=\"気を取り直してNeo-Tech-Lab.comのトップページに戻るときにクリックしてください。\" href=\"http://www.neo-tech-lab.co.uk/\"><b><i><font color=\"red\">Neo</font>-<font color=\"green\">Tech</font>-<font color=\"blue\">Lab</font>.co.uk</i></b></a><br>"
          + "<font size=\"4\" color=\"brown\"><b>【ライブラリーサーバーのエラーメッセージ】</b></font>"
          + "</div>"
          + "<div name=\"Youtube\" id=\"Youtube\" style=\"width:610px; height:480px; position:absolute; top:0px;   left:0px; z-index:0;\"></div>"
          + "<div name=\"message\" id=\"message\" style=\"width:610px; height:50px;  position:absolute; top:350px; left:0px; z-index:1;\"></div>"
          + "<div name=\"comment\" id=\"comment\" style=\"width:610px; height:50px;  position:absolute; top:400px; left:0px; z-index:1;\"></div>"
          + "<div name=\"Voice\"   id=\"Voice\"   style=\"visibility:hidden; width:300px; height:50px;  position:absolute; top:0px; left:870px; z-index:1;\"></div>"
          + "</font>";
   document.getElementById("Display1").innerHTML = ss; 

   ss = "<img border=\"0\" src=\"image.files/face2.png\" width=\"220\"><br>"
      + "<i><b><font face=\"Times New Roman\" size=\"7\" color=\"#008080\">Sorry...</font></b></i><br>"
      + "<img border=\"0\" src=\"image.files/NeoTechLabPet.jpg\" width=\"270\"><br>";
   document.getElementById("Display2").innerHTML = ss; 

   ss = "<obj" + "ect width=" + msg_list.width + " height=" + msg_list.height + "><par" + "am name=\"movie\" value=\"http://www.youtube.com/v/" + msg_list.movie_id + "&autoplay=1&loop=1&hl=ja&fs=1\"></par" + "am><par" + "am name=\"allowFullScreen\" value=\"true\"></par" + "am><par" + "am name=\"allowscriptaccess\" value=\"always\"></par" + "am><par" + "am name=\"wmode\" value=\"transparent\"></par" + "am><em" + "bed src=\"http://www.youtube.com/v/" + msg_list.movie_id + "&autoplay=1&loop=1&hl=ja&fs=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=" + msg_list.width + " height=" + msg_list.height + " wmode=\"transparent\"></emb" + "ed></obj" + "ect>";
   document.getElementById("Youtube").innerHTML = ss; 
   document.getElementById("message").innerHTML = "<font face=\"Times New Roman\" size=\"7\"><font color=\"blue\"><b><u>" + ecode.toString() + "</u></b>&nbsp;</font>" + "<font color=\"red\"><b>" + msg_list.error[e_num].message + "</b></font></font>";
   document.getElementById("comment").innerHTML = "<mar" + "quee behavior=\"scroll\" direction=\"left\" width=\"610\">" + "<font face=\"Times New Roman\" size=\"7\" color=\"red\"><b>" + msg_list.error[e_num].comment + "</b></font></mar" + "quee>";
   Voice1();
}

//【Google翻訳の音声合成のテスト・プログラム】
   function PlayVoice(language, message, timer, callback) {
      var ua = navigator.userAgent;        //【ブラウザのユーザーエージェントを取得】
      if (ua.match(/Chrome\/([\.\d]+)/)) { //【あなたはGoogle Chromeを使っていますね】
         clearTimeout(VoiceTime);
//         var source="<audio src=\"http://translate.google.com/translate_tts?tl=" + language + "&q=" + message +"\" controls autoplay=\"true\" style=\"width:250px\" ></audio>"; 
//         document.getElementById("Voice").innerHTML = source;

         var base=document.getElementById("Voice");
         base.innerHTML="<font size=\"1\">【Google翻訳の音声合成を用いたアナウンス】</font>";
         var obj=document.createElement("iframe");
         obj.setAttribute("border", "0");
         obj.setAttribute("frameborder", "0");
         obj.style.width = 300;
         obj.style.height = 20;
         obj.src="http://translate.google.com/translate_tts?tl=" + language + "&q=" + message;
         base.appendChild(obj);

         VoiceTime = setTimeout(callback, timer); //【20秒でVoiceオブジェクトを消去】元々visibility:hiddenなので余り意味はない。
      }
   }

   function VoiceRemove() {
      clearTimeout(VoiceTime);
      document.getElementById("Voice").innerHTML = "";
   }

   function Voice1() {
      var errormsg = "Error+is+occurred.+Error+code+number+is+" + msg_list.error[e_num].code.toString();
      PlayVoice('en', errormsg, 5000, 'Voice2()' );
   }

   function Voice2() {
      var errormsg = msg_list.error[e_num].comment;
      PlayVoice('jp', errormsg); VoiceTime = setTimeout('Voice1()', 25000); //【25秒でVoiceオブジェクトを消去】元々visibility:hiddenなので余り意味はない。
   }
