var ttsState = 1;

function f_set()
{
  var strXTag;
  strXTag = "<OBJECT ID='CoreWebGen' CLASSID='CLSID:3A3DE2B1-6B19-4B5E-A054-1E939FD531D3' CODEBASE='/common/tts/CoreWebGen2.1.1.15.cab#version=2,1,1,15' width='0' height='0' tabindex='-1'>"
//  strXTag += "<PARAM NAME='rI' value='F66061695C646A5B5E65326069656A6E667B6E69'>";
  strXTag += "<PARAM NAME='rI' value='C630312A3942452E6463634A443936373B4A40'>";
  strXTag += "<PARAM NAME='SP' value='-1'>";
  strXTag += "<PARAM NAME='gT' value='1'>";
  strXTag += "<PARAM NAME='Dc' value='1'>";
  strXTag += "<PARAM NAME='Da0' value='6F01'>";
  strXTag += "</OBJECT>";
  document.body.insertAdjacentHTML("BeforeEnd", strXTag);
}

/*----------------------------------------------------------------------------*/
/*-·¹Áö½ºÆ®¸®¿¡ activeX°¡ ¼³Ä¡µÇÀÖ´ÂÁö °Ë»ç--*/
/*----------------------------------------------------------------------------*/
function DetectActiveXControl()
{
  try {
    var xObj = new ActiveXObject("VoiceActX.CoreActiveX.1");
    if (xObj) {
      Installed = true;
    } else {
      Installed = false;
    }
  } catch(ex) {
    Installed = false;
  }

  if (Installed == true) {
    return true;
  } else {
    return false;
  }
}

/*----------------------------------------------------------------------------*/
/* NAME : IsAvailable() */
/* DESC : Ã³À½ LoadµÇ¾úÀ» ¶§ À½¼º¸ðµâÀÌ »ç¿ë°¡´ÉÇÑ »óÅÂÀÎÁö Ã¼Å©ÇÏ´Â ÇÔ¼ö */
/*----------------------------------------------------------------------------*/
function IsAvailable()
{
  var sRes;
  sRes = DetectActiveXControl();

  if (sRes) {
    IsCoreExist = document.getElementById('CoreWebGen');
    if (IsCoreExist) {
      sRes = 1;
    } else {
      sRes = 0;
    }
  } else {
    sRes = 0;
  }
  return sRes;
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSetSpeed() */
/* DESC : À½¼º ¼Óµµ ¼³Á¤ ÇÔ¼ö */
/*----------------------------------------------------------------------------*/
function OnSetSpeed(lSpeed)// Speed ¹öÆ° Å¬¸¯½Ã
{
  if (CoreWebGen.object) {
    CoreWebGen.SetSpeed(lSpeed, 0);
  }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSetVolume() */
/* DESC : À½¼º º¼·ý ¼³Á¤ ÇÔ¼ö */
/*----------------------------------------------------------------------------*/
function OnSetVolume(lVolume) // Volume ¹öÆ° Å¬¸¯½Ã
{
  if (CoreWebGen.object) {
    CoreWebGen.SetVolume(lVolume, 1);
  }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSendText() */
/* DESC : À½¼ºÀ¸·Î º¯È¯ÇÏ´Â ÇÔ¼ö */
/*----------------------------------------------------------------------------*/
function OnSendText(bText) // bText:º¸³¾ ÅØ½ºÆ®
{
  if (CoreWebGen.object && bText.length > 0) {
    CoreWebGen.SendSentence(bText);
  }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnStart() */
/* DESC : À½¼º½ÃÀÛÇÔ¼ö */
/*----------------------------------------------------------------------------*/

function OnStart()// À½¼º¼³Á¤ ½ÃÀÛ½Ã
{
  var sRes;
  if (IsAvailable()) {
    if (CoreWebGen.object) {
      setTTSCookie("voiceStart", "start", 1);
      sRes = CoreWebGen.CoreXStart();
    }
  } else {
    f_set();
    if (CoreWebGen.object) {
      setTTSCookie("voiceStart", "start", 1);
      sRes = CoreWebGen.CoreXStart();
    }
  }

  $("#tts_on").show();
  $("#tts_off").hide();
  return sRes;
}

/*----------------------------------------------------------------------------*/
/* NAME : OnStop() */
/* DESC : À½¼ºÁßÁöÇÔ¼ö */
/*----------------------------------------------------------------------------*/
function OnStop()// À½¼º¼³Á¤ ÁßÁö½Ã
{
  if (document.getElementById("CoreWebGen") != null && CoreWebGen.object) 
  {
    setTTSCookie("voiceStart", "stop", 1);
    CoreWebGen.CoreXStop();
  }

  $("#tts_on").hide();
  $("#tts_off").show();

}

// var sVol = 3;
// var sSpeed = 3;

function f_setVoiceSpeed(mode)
{
  if (readTTSCookie("voiceSpeed").length == 0) sSpeed = 3;
  else sSpeed = readTTSCookie("voiceSpeed");

  var strPlay = "";

  var sRes;
  sRes = IsAvailable();

  if (sRes != 0) {
    if (mode == "up") {

      if (sSpeed < 5) sSpeed = parseInt(sSpeed) + 1;
      OnSendText("¼Óµµ" + sSpeed);

    } else if (mode == "down") {
      if (sSpeed > 1) sSpeed = parseInt(sSpeed) - 1;
      OnSendText("¼Óµµ" + sSpeed);

    }
    OnSetSpeed(sSpeed);
  }
  // Cookie Àç¼³Á¤
  setTTSCookie("voiceSpeed", sSpeed, 1);
  OnSetSpeed(sSpeed);
}

function f_setVoiceVolume(mode)
{
  if (readTTSCookie("voiceVolum").length == 0) sVol = 3;
  else sVol = readTTSCookie("voiceVolum");

  if (mode == "up") {
    if (sVol < 5) {
      sVol = parseInt(sVol) + 1;
    }
    OnSendText("º¼·ý " + sVol);
  } else if (mode == "down") {
    if (sVol > 1) {
      sVol = parseInt(sVol) - 1;
    }
    OnSendText("º¼·ý " + sVol);
  } else {
    // NO JOBS
  }
  OnSetVolume(sVol);

  // Cookie Àç¼³Á¤
  setTTSCookie("voiceVolum", sVol, 1);
  OnSetVolume(sVol);
}

/*
function font_size(d, v)
{
  scale = readTTSCookie("CoreZoom");

  if (v == 1) scale = '150%';
  else if (v == 2) scale = '80%';
  else if (v == 0) scale = '100%';

  d.getElementById('CoreZoom').style.zoom = scale;

  setTTSCookie("CoreZoom", scale, 1);
  font_size(scale);
}
*/

function readTTSCookie(str)
{
  var key = str + "=";
  var key_len = key.length;
  var cookie_len = document.cookie.length;
  var i = 0;

  while(i < cookie_len) {
    var j = i + key_len;
    if (document.cookie.substring(i, j) == key) {
      var cookie_end = document.cookie.indexOf(";", j);

      if (cookie_end == -1) {
        cookie_end = document.cookie.length;
      }
      return document.cookie.substring(j, cookie_end);
    }
    i++
  }
  return ""
}

function setTTSCookie(key, value, term)
{
  var expire = new Date();
  expire.setDate(expire.getDate() + term);
  document.cookie = key + "=" + escape(value) + "; path=/; expires=" + expire.toGMTString() + ";";
}

function f_VoiceInit()
{
//  var scale = readTTSCookie("CoreZoom");
//  document.getElementById('CoreZoom').style.zoom = scale;
  var vStart = readTTSCookie("voiceStart");
  
  if (vStart == "start") OnStart();
  else OnStop();
}
