// =========================================
//   vds関連
// =========================================
var vdsPlayBtn = "/vds/vds_read.gif";       // 読み上げボタンのファイル名
var vdsStopBtn = "/vds/vds_stop.gif";       // 停止ボタンのファイル名
var vdsErrBtn = "/vds/vds_mente.gif";       // 中止ボタンのファイル名
var vdsMenteBtn = "/vds/vds_mente.gif";    // メンテナンス中のファイル名
var vdsLoaderImg = "/vds/vds_loading.gif";  // 作成中のファイル名
var vdsplay;  // vds Playerオブジェクト
var vdsobj;   // vds オブジェクト
var vdsNowReadID = "";    // 現在、読み上げ中のID

function $(id) {
  return document.getElementById(id);
}

// 読み上げボタンの設置
function vdsSetButton(vdsId,flg){
  var setTag = "";
  var vdsArea = $(vdsId);
  if(vdsArea == null){
    return false;
  }
  switch (flg){
    case 1:
      // 再生可能なボタンの設置

      setTag = '<input class="vdsBTN" type="image" id="' + vdsId + '_stopBtn" ';
      setTag += 'src="' + vdsStopBtn + '" alt="停止" ';
      setTag += 'onClick="vdsStop(\'' + vdsId + '\');"/>';
      setTag += '<input class="vdsBTN" type="image" id="' + vdsId + '_playBtn" ';
      setTag += 'src="' + vdsPlayBtn + '" alt="読み上げ" ';
      setTag += 'onClick="vdsRead(\'' + vdsId + '\');" />';	  
	  
//      setTag = '<input class="vdsBTN" type="image" id="' + vdsId + '_playBtn" ';//読上げ、停止ボタンの位置入れ替えのため
//      setTag += 'src="' + vdsPlayBtn + '" alt="読み上げ" ';
//      setTag += 'onClick="vdsRead(\'' + vdsId + '\');" />';
//      setTag += '<input class="vdsBTN" type="image" id="' + vdsId + '_stopBtn" ';
//      setTag += 'src="' + vdsStopBtn + '" alt="停止" ';
//      setTag += 'onClick="vdsStop(\'' + vdsId + '\');"/>';
      break;
    case 2:
      // 停止ボタンの設置
      setTag = '<input class="vdsBTN" type="image" id="' + vdsId + '_stopBtn" ';
      setTag += 'src="' + vdsStopBtn + '" alt="停止" ';
      setTag += 'onClick="vdsStop(\'' + vdsId + '\');"/>';
      break;
    case 3:
      // flashplayer がないことによるエラー
      setTag = '<input class="vdsBTN" type="image" src="' + vdsErrBtn + '" ';
      setTag += 'alt="中止" onClick="alert(\'お使いのAdobe Flash Playerをバージョンアップしてください。\');" />';
      break;
    default:
      // メンテナンス中の設置
      setTag = '<img class="vdsBTN" src="' + vdsMenteBtn + '" alt="メンテナンス中" />';
      break;
  }
  vdsArea.innerHTML = setTag;
  return true;
}

/*
   読み上げ処理
       読み上げ中の文章があれば停止する。
       読み上げボタンを「作成中」に変更し、音声合成を行う。
*/
function vdsRead(vdsId){
  var ttlbtn,txt,vdsret;
  if(typeof(vdsplay) != "undefined"){
    vdsStop(vdsNowReadID);  // 音声作成または再生中の場合のための停止処理
    if(vdsId == vdsNowReadID){
      return;  // 同じ音声を作成中のときには無視する
    }
    if(vdsId == "vdsRyakureki"){
      //vdsobj.setCache(0);
      txt = "東京都議会議員。高橋かずみ。公式ホームページ。安全で、安心して暮らせるまちづくりを。";
      txt += "事務所。所在地。〒178-0064。";
      txt += "東京都練馬区南大泉3−9−10。";
      txt += "西武池袋線保谷駅南口下車。徒歩10分。";	
	} else if(vdsId == "vdsPromises"){	 
	txt = "７つの約束。高橋かずみの最重点施策。";
	txt += "１．健康づくり、保健・医療・福祉の総合的推進。";
	txt += "２．子育て支援の充実と青少年の健全な育成。";
	txt += "３．学校教育の充実と生涯学習・スポーツの推進。";
	txt += "４．みどりの保全と創造。";
	txt += "５．交通体系の確立と安全対策。";
	txt += "６．産業振興（中小企業・商店街）の推進。";
	txt += "７．安全で安心して暮らせるまちづくり。";
	txt += "景気・雇用、治安対策をはじめ、都政の緊急課題解決を急ぎます。";
    }else if(vdsId == "vdsPolicy"){
	txt = "私の主張・政策。高橋かずみの主張。";
	txt += "1,294万都民の生命と財産、そして文化を守り、21世紀にふさわしい、";
	txt += "活力に満ちた、安全で安心して暮らせる日本の首都東京の実現を図るため、";
	txt += "聖域なき行財政改革を徹底的に進めるとともに、山積みした都民の要望を都や国に対し強力に働きかけ、";
	txt += "情熱と行動力で頑張ります。";
	txt += "安全で安心して暮らせるまちづくりを。";
	txt += "私は8年前、大先輩の奥山則男元都議会議長の後継者として";
	txt += "「くせいから都政への挑戦」をスローガンに都議会に初挑戦をさせて頂きました。";
	txt += "おかげ様で、奥山先生がまいて頂いた種の上に8年間の議会活動という水撒きで、";
	txt += "「西武線高架化の問題」、「地下鉄大江戸線延伸の問題」等にめどが立ち、";
	txt += "希望の目が出てまいりました。";
	txt += "さらに山積する「学校教育・子育て支援」、「健康づくりと高齢者・障害者福祉」、";
	txt += "「産業振興」等、諸問題に取り組み都民の「声」を都政に生かします。";
	txt += "私は器用な方ではありませんが、都民の「しあわせ」の実現に向け、";
	txt += "「思いやり」の心を持って、「政治を変革」し、首都東京の";
	txt += "「安全で安心して暮らせるまちづくり」のために全身全霊で取り組む所存であります。";
    }else{
      txt = "";
      ttl = $(vdsId + "_title");
      if(ttl){
        txt = ttl.innerHTML + "。";
      }
      txt += $(vdsId + "_text").innerHTML;
      txt = txt.replace(/&nbsp;/g," ");
    }
    vdsret = vdsobj.setRate(2);  // ちょっと早め
	vdsret = vdsobj.setCast("KeikoJPf"); //音声の種類：ケイコ
    if(vdsret == 0){
      vdsret = vdsobj.setString(txt);
    }
    if(vdsret == 0){
      $(vdsId + "_playBtn").src = vdsLoaderImg;
      $(vdsId + "_playBtn").alt = "作成中";
      vdsNowReadID = vdsId;
      vdsobj.setFinishCallback("vdsServerCallbak(\"" + vdsId + "\")");
      vdsobj.speak();
    }else{
      vdsSetButton(vdsId,0);
    }
  }
}

/*
   音声合成作成後の処理
       正常終了：読み上げボタンが「作成中」のときには「停止」に変更
       エラー  ：読み上げボタンを「中止」に変更
*/
function vdsServerCallbak(vdsId){
  var ret = vdsobj.getServerError();
  var vdsBtn = $(vdsId + "_playBtn");
  if(ret == 0){
    vdsBtn.src = vdsPlayBtn;
    vdsBtn.alt = "読み上げ";
  }else{
    vdsSetButton(vdsId,0);    // 音声作成エラー
  }
  vdsNowReadID = "";
}

/*
   読み上げ停止処理
*/
function vdsStop(vdsId){
  if(typeof(vdsplay) == "undefined" ){ return;}
  vdsplay.speakStop();
  if(vdsNowReadID != ""){
    var vdsBtn = $(vdsId + "_playBtn");
    vdsBtn.src = vdsPlayBtn;
    vdsBtn.alt = "読み上げ";
  }
  vdsNowReadID = "";
}


/*
   vdsの準備処理(onloadイベントで行う）
       vdsの準備処理を行い、読み上げボタンを設置する
*/
function vdsSetup(){
  var flg = 0;
  var errcd;
  try{
    flg = 1;
    vdsplay = new VoiceDeliveryPlayer("vdsSetFlash");
    flg = 2;
    vdsobj = new VoiceDelivery(vdsplay,"vdsobj");
    flg = 3;
//    vdsobj.setCache(0);   // テスト用に常に音声合成
  }catch (errcd) {
    // エラー処理があれば入れる
    //alert("vdsObjectError=" + errcd);
  }
  if(navigator.appName == "Microsoft Internet Explorer"){
    initBtn4IE(flg,errcd);
  }else{
    initBtn4FF(flg,errcd);
  }
}

// ＩＥ用読み上げボタンの初期セット処理
//   各読み上げボタンのセットとハイライトのための読み上げ文章の分割処理
function initBtn4IE(setFlg,err){
  var ret;
  var ii;
  var vdsBtnList = document.getElementsByTagName("div");
  cnt = vdsBtnList.length - 1;
  // ボタンの設置とvdsobjの生成
  for(ii=0;ii<=cnt;ii++){
    ret = false;
    if(vdsBtnList[ii].name == "vdsReadBtn"){
      vdsID = vdsBtnList[ii].id;
      if(vdsID != ""){
        if(err == "-701"){
          ret = vdsSetButton(vdsID,3);    // メンテナンス中（Flash対応）
        }else{
          if(setFlg == 3){
            ret = vdsSetButton(vdsID,1);  // 読み上げボタン
          }else{
            ret = vdsSetButton(vdsID,0);  // メンテナンス中
          }
        }
      }
    }
  }
}


// ＦＦなど（ＩＥ以外）用読み上げボタンの初期セット処理
//   各読み上げボタンのセット処理
function initBtn4FF(setFlg,err){
  var ret;
  var ii;
  var vdsBtnList = document.getElementsByName("vdsReadBtn");
  cnt = vdsBtnList.length - 1;
  // ボタンの設置とvdsobjの生成
  for(ii=0;ii<=cnt;ii++){
    ret = false;
    vdsID = vdsBtnList[ii].id;
    if(vdsID != ""){
      if(err == "-701"){
        ret = vdsSetButton(vdsID,3);    // メンテナンス中（Flash対応）
      }else{
        if(setFlg == 3){
          ret = vdsSetButton(vdsID,1);  // 読み上げボタン
        }else{
          ret = vdsSetButton(vdsID,0);  // メンテナンス中
        }
      }
    }
  }
}

