/*
 * À¥Á¨ Script Standard
 * (C)Copyright 2009 Data2Technolog. Co, LTD.
 *
 * Written by J. H. Lee.
 * Date 20091109
 *
 */

/******************************************************************************
 * È¯°æ¼³Á¤º¯¼ö
 *****************************************************************************/

/* À½¼º ÁßÁö¹öÆ° ´­·¶À»¶§ (ON->OFF) : »ç¿ëÀÚ ¼³Á¤ ÇÊ¿ä */
var ttsenv_onstop_href = "javascript:f_voiceStart('start')";
var ttsenv_onstop_src = "/nlic/img/common/tts_sound_off.gif";
var ttsenv_onstop_alt = 'À½¼º ½ÃÀÛ';
var ttsenv_onstop_title = 'À½¼º ½ÃÀÛ';

/* À½¼º ½ÃÀÛ¹öÆ° ´­·¶À»¶§ (OFF->ON) : »ç¿ëÀÚ ¼³Á¤ ÇÊ¿ä */
var ttsenv_onstart_href = "javascript:f_voiceStart('stop');";
var ttsenv_onstart_src = "/nlic/img/common/tts_sound_on.gif";
var ttsenv_onstart_alt = 'À½¼º ÁßÁö';
var ttsenv_onstart_title = 'À½¼º ÁßÁö';

/* IE »ç¿ë½Ã È­¸é È®´ëÃà¼Ò ºñÀ² */
var ttsenv_zoomRate = 10;   /* È­¸é È®´ëÃà¼Ò ºñÀ² º¯µ¿Æø (% ´ÜÀ§) */
var ttsenv_zoommaxRate = 160;   /* È­¸é È®´ëÃà¼Ò½Ã ¿øÅ©±â´ë ÃÖ´ë È®´ëºñÀ² (% ´ÜÀ§) */
var ttsenv_zoomminRate = 100;   /* È­¸é È®´ëÃà¼Ò½Ã ¿øÅ©±â´ë ÃÖ´ë Ãà¼ÒºñÀ² (% ´ÜÀ§) */
var ttsenv_zoomDefault = 100;	/* ±âº» È­¸é Å©±â */

/* NS »ç¿ë½Ã ±ÛÀÚ È®´ëÃà¼Ò ºñÀ² */
var ttsenv_fontRate = 2;    /* 2pt ´ÜÀ§ */
var ttsenv_fontmaxRate = 19;    /* ÃÖ´ë 19pt */
var ttsenv_fontminRate = 9; /* ÃÖ¼Ò 9pt */
var ttsenv_fontDefault = '';    /* µðÆúÆ® ¼ýÀÚ Å©±â */

/* IE¿¡µµ ±ÛÀÚ È®´ëÃà¼Ò »ç¿ë¿©ºÎ */
var ttsenv_mustadjustfont = false;

/* IE¿¡¼­ È­¸éÈ®´ëÃà¼Ò »ç¿ë½Ã(ttsenv_mustadjustfont=false) HTML Ç¥ÁØ¸ðµå »ç¿ë¿©ºÎ - ºñÇ¥ÁØ¹æ½ÄÀÇ °æ¿ì body¸¸ zoomÇÑ´Ù. */
var ttsenv_zoomstyle_std = true;

/* ÀÔ·Â¶õ ÀÐ±â½Ã ¶óº§À» title ¼Ó¼ºº¸´Ù ¸ÕÀú ÀÐÀ»Áö ¿©ºÎ */
var ttsenv_opt_readlabelfirst = true;

/* FireFox : Ç¥ÁØ¸ðµå ÀÐ±â ¿©ºÎ(<embed> »ç¿ë¾ÈÇÔ) ==> 3´Ü°è¸¦ °ÅÄ¡¹Ç·Î ¼Óµµ´Â ´õ ´À¸² */
var ttsenv_firefox_stdread = true;

/* ´ÜÃàÅ° »ç¿ë¿©ºÎ */
var ttsenv_opt_useshortcut = true;

/* µµ¿ò¸» »ç¿ë¿©ºÎ */
var ttsenv_opt_usehelpment = false;

/* Ç×¸ñÁ¾·ùº° ÀÐ±â±â´É ¿É¼ÇÈ­ (~±×·¡ÇÈ, ~ÅØ½ºÆ® ... etc) */
var ttsenv_opt_readelement = true;

/* Å¸»çÀÌÆ®ÀÇ À½¼ºÇÕ¼ºÆäÀÌÁö È£Ãâ¿É¼Ç(trueÀÏ °æ¿ì À½¼ºÇÕ¼º°ú Àç»ýÀ» ÇÏ´Â Æ¯Á¤ ÆäÀÌÁö·Î ¹Ù·Î Post¸¦ ³¯¸²) */
var ttsenv_opt_directpost = false;

/* ´ÙÁßÇÁ·¹ÀÓ Ã³¸®¿©ºÎ */
var ttsenv_opt_multiframe = false;

/* addEventListener(), attachEvent() µîÀ» ÀÌ¿ëÇÑ ÀÌº¥Æ® ºÙÀÌ±â Çã¿ë ¿©ºÎ */
var ttsenv_opt_attachevent = true;

/* tts_master º¯¼ö (À½¼ºÀç»ý ¸¶½ºÅÍ/½½·¹ÀÌºê) ÀÚµ¿¼Â ¿©ºÎ ¼³Á¤. ÀÚµ¿¼ÂÆÃ½Ã´Â Åø¹Ù Á¸Àç¿©ºÎ·Î ÆÄ¾Ç */
var ttsenv_opt_automaster = false;

/* ÄíÅ° ¾ÏÈ£È­ ¿©ºÎ (true = ¾ÏÈ£È­Ã³¸®) */
var ttsenv_opt_encrypt = false;

/* Áö¿¬ ÃÊ±âÈ­ (À½¼º ON ÀÏ¶§¸¸ ÃÊ±âÈ­) --> ttsenv_opt_multiframe°ú µ¿½Ã¿¡ true·Î ÇÏ¸é ¾ÈµÊ */
var ttsenv_opt_delayinit = true;

/* ±ÛÀÚ»ö ¹è¿­ */
var ttsenv_fontcolor = new Array();
ttsenv_fontcolor[0] = "";
ttsenv_fontcolor[1] = "#000000";
ttsenv_fontcolor[2] = "#ffff00";
ttsenv_fontcolor[3] = "#ffffff";
ttsenv_fontcolor[4] = "#6666ff";
ttsenv_fontcolor[5] = "#ff6666";
ttsenv_fontcolor[6] = "#ff66ff";
ttsenv_fontcolor[7] = "#66ff66";

/* ¹è°æ»ö ¹è¿­ */
var ttsenv_bgcolor = new Array();
ttsenv_bgcolor[0] = "";
ttsenv_bgcolor[1] = "#ffffff";
ttsenv_bgcolor[2] = "#000000";
ttsenv_bgcolor[3] = "#6666ff";
ttsenv_bgcolor[4] = "#ff6666";
ttsenv_bgcolor[5] = "#ff66ff";
ttsenv_bgcolor[6] = "#66ff66";

/* ±âº» À½¼º¼Óµµ (1~5) */
var ttsenv_defaultspeed = 3;
/* ±âº» À½¼ºº¼·ý (1~5) */
var ttsenv_defaultvolume = 3;

/* TTS¿¡ ÀÇÇØ »ðÀÔµÇ´Â SPAN ÅÂ±×ÀÇ CSS class name */
var ttsenv_insideclass = "webgen";

/* À½¼ºÇÕ¼º ÆäÀÌÁö ÁöÁ¤ */
var ttsenv_createwave = "/eswebgen/webgen.jsp";

/* ÇÕ¼ºÀ½ Àç»ýÆäÀÌÁö ÁöÁ¤ */
var ttsenv_playwave = "/eswebgen/webplay.jsp";

var SoundPath = "/eswebgen/webwav.jsp?tts_name=";
var Domain = "";

/* ÇÏºÎÆäÀÌÁö ÀÚµ¿»ðÀÔ½Ã »ðÀÔµÇ´Â ½ºÅ©¸³Æ® source °æ·Î */
var ttsenv_script_source="/eswebgen/webgen.js";

/* onload ÀÌº¥Æ® ÀÚµ¿ÁöÁ¤¿©ºÎ °áÁ¤ */
var ttsenv_auto_onload = true;

/* ttsenv_opt_directpost°¡ È°¼ºÈ­µÇ¾úÀ» °æ¿ì¿¡¸¸ À¯È¿, POST·Î µ¥ÀÌÅÍ¸¦ º¸³»´Â ÆäÀÌÁö ÁÖ¼Ò ÁöÁ¤ */
var ttsenv_directpost_page = "/eswebgen/webgenpost.html";

/* ActiveX »ç¿ë¿©ºÎ
 * 0 = ActiveX »ç¿ë ¾ÈÇÔ
 * 1 = ActiveX »ç¿ë (ÀÚ¹Ù½ºÅ©¸³Æ® µ¿ÀÛÁ¤Áö) */
var ttsenv_use_webgenactivex = 0;
var ttsenv_activex_wait_count=100;
var ttsenv_activex_wait_time=100;
var ttsenv_activex_fsource="/eswebgen/tts_object.html";
var ttsenv_activex_install="/eswebgen/installmodule.html";

var ttsenv_allow = new Array();
ttsenv_allow[0]="54dfa611b9da0dfc98a1dbf4f979422c";
ttsenv_allow[1]="9fb71c8a8929ed434fa91f17e985204b";
ttsenv_allow[2]="6f9c71a5d79c39bf284b16007fda0e54";
ttsenv_allow[3]="f6bfe21e152f5dbf0ec2c6a49ea52e4c";

/******************************************************************************
 * ³»ºÎ»ç¿ëº¯¼ö (°Çµå¸± ÇÊ¿ä¾øÀ½)
 *****************************************************************************/

/* ÇöÀç È®´ëÃà¼ÒºñÀ² */
var tts_curRate;
/* ÇöÀç ±ÛÀÚ»ö»ó¹øÈ£ */
var tts_fontcolorindex;
/* ÇöÀç ¹è°æ»ö»ó¹øÈ£ */
var tts_bgcolorindex;
/* ÇöÀç±ÛÀÚÅ©±â */
var tts_curfontsize;

var tts_master = true;  /* TTS Master Frame */
var tts_present = true;     /* TTS Àû¿ë ¿©ºÎ */

var tts_res_wait = false;   /* Áßº¹È£Ãâ ¹æÁö */

var tts_setinit_done = false;
var tts_setvoice_done = false;

var tts_showmap=new Array();
tts_showmap[0]=false;
tts_showmap[1]=false;
tts_showmap[2]=false;
tts_showmap[3]=false;

var tts_innerelement=new Array();
tts_innerelement[0]="TD";
tts_innerelement[1]="TH";
tts_innerelement[2]="DIV";
tts_innerelement[3]="LI";
tts_innerelement[4]="H1";
tts_innerelement[5]="H2";
tts_innerelement[6]="H3";
tts_innerelement[7]="H4";
tts_innerelement[8]="H5";
tts_innerelement[9]="H6";
tts_innerelement[10]="SPAN";
tts_innerelement[11]="P";
tts_innerelement[12]="LABEL";
tts_innerelement[13]="DD";
tts_innerelement[14]="DT";
tts_innerelement[15]="ADDRESS";
tts_innerelement[16]="B";
tts_innerelement[17]="BDO";
tts_innerelement[18]="BIG";
tts_innerelement[19]="BLOCKQUOTE";
tts_innerelement[20]="BODY";
tts_innerelement[21]="CAPTION";
tts_innerelement[22]="CENTER";
tts_innerelement[23]="CITE";
tts_innerelement[24]="CODE";
tts_innerelement[25]="DEL";
tts_innerelement[26]="DFN";
tts_innerelement[27]="EM";
tts_innerelement[28]="FIELDSET";
tts_innerelement[29]="FONT";
tts_innerelement[30]="FORM";
tts_innerelement[31]="I";
tts_innerelement[32]="INS";
tts_innerelement[33]="KBD";
tts_innerelement[34]="LEGEND";
tts_innerelement[35]="PRE";
tts_innerelement[36]="Q";
tts_innerelement[37]="S";
tts_innerelement[38]="SAMP";
tts_innerelement[39]="SMALL";
tts_innerelement[40]="STRIKE";
tts_innerelement[41]="FONT";
tts_innerelement[42]="STRONG";
tts_innerelement[43]="SUB";
tts_innerelement[44]="SUP";
tts_innerelement[45]="TT";
tts_innerelement[46]="U";
tts_innerelement[47]="VAR";

/* 2009-11-22 mute Ãß°¡ */
/* tts Àç »ý¼º ¶Ç´Â ºñ±³ ½Ã°£  */
var tts_reloadtime = 1000 * 60 * 20;

/* tts Àç»ý °´Ã¼  */
var idbgsound=null;
var idinfosound=null;

/* ÆË¾÷Ã¢ map */
var tts_popupmap=new Array();

var tts_webgenStyleSheet=null;

var tts_map1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var tts_map2="T3aSh2eRiqMUNO4PQbp5lD1ErkLKg6VuxFvOzWntf7G8HijyscoABZJmXw9dYC";

var tts_initcalled = false;

/* ActiveX ½Ç »ç¿ë¿©ºÎ °áÁ¤(ActiveX »ç¿ë ¸ðµåÀÏ °æ¿ì ºê¶ó¿ìÀú¸¦ Ã¼Å©ÇØ¼­ ActiveX ¹ÌÁö¿ø½Ã´Â ÀÚ¹Ù½ºÅ©¸³Æ®·Î »ç¿ë) */
var tts_useactivex = false;

/******************************************************************************
 * ¿ÜºÎ¿¡¼­ »ç¿ëÇÒ ÁÖ¿ä ½ºÅ©¸³Æ®
 *****************************************************************************/

/*****************************************************************************
 * f_setinit()
 *
 * ¿ªÇÒ : ÄíÅ°°ªÀ» ÀÐ¾î¼­ ±ÛÀÚ Å©±â¿Í »ö»óÀ» ¼³Á¤ÇÑ´Ù.
 *****************************************************************************/
function f_setInit()
{
    if(tts_setinit_done==true) {
        return;
    }
    tts_setinit_done=true;
    tts_fontcolorindex=webgen_rd_fontcolorindex();
    tts_bgcolorindex=webgen_rd_bgcolorindex();
    tts_curfontsize=webgen_rd_fontsize();
    tts_curRate=webgen_rd_zoomVal();
    f_scalescreen(0);
    webgen_setface();
}

/*****************************************************************************
 * f_setFontColor2()
 *
 * ÀÔ·ÂÀÎ¼ö1 : »ö»ó ¹øÈ£ (»ö»óÀº ttsenv_fontcolor ¹è¿­ÀÇ °¢ °ª)
 * ¿ªÇÒ : ±ÛÀÚ»öÀ» ¼³Á¤ÇÕ´Ï´Ù.
 *****************************************************************************/
function f_setFontColor2(param)
{
    if ( (param >= 0) && (param < ttsenv_fontcolor.length) ) {
        tts_fontcolorindex = param;
        webgen_setface();
    }
}

/*****************************************************************************
 * f_setBgColor2()
 *
 * ÀÔ·ÂÀÎ¼ö1 : »ö»ó ¹øÈ£ (»ö»óÀº ttsenv_fontcolor ¹è¿­ÀÇ °¢ °ª)
 * ¿ªÇÒ : ¹è°æ»öÀ» ¼³Á¤ÇÕ´Ï´Ù.
 *****************************************************************************/
function f_setBgColor2(param)
{
    if ( (param >= 0) && (param <= ttsenv_bgcolor.length) ) {
        tts_bgcolorindex = param;
        webgen_setface();
    }
}

var webgen_userAgent = navigator.userAgent.toLowerCase();

var webgen_browser =
{
	version: (webgen_userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
	safari: /webkit/.test( webgen_userAgent ),
	opera: /opera/.test( webgen_userAgent ),
	msie: /msie/.test( webgen_userAgent ) && !/opera/.test( webgen_userAgent ),
	mozilla: /mozilla/.test( webgen_userAgent ) && !/(compatible|webkit)/.test( webgen_userAgent )
};


/* È­¸é È®´ë/Ãà¼Ò - ¿ÜºÎÈ£Ãâ */
/*****************************************************************************
 * f_scalescreen()
 *
 * ÀÔ·ÂÀÎ¼ö1 : mode = 0 ÇöÀç°ª À¯Áö, 1=È®´ë, -1=Ãà¼Ò
 * ¿ªÇÒ : ±ÛÀÚ³ª È­¸é È®´ë Ãà¼Ò¸¦ ¼³Á¤ÇÕ´Ï´Ù. (ttsenv_mustabjustfont°¡
 *  trueÀÌ°Å³ª zoom ½ºÅ¸ÀÏÀ» Áö¿øÇÏÁö ¾Ê´Â °æ¿ì ±ÛÀÚÈ®´ëÃà¼Ò, ±× ¿Ü´Â
 *  È­¸éÈ®´ëÃà¼Ò°¡ Àû¿ëµË´Ï´Ù)
 *****************************************************************************/
function f_scalescreen(mode)
{
    function zoomHTML(zoomValue) {
        if (webgen_browser.msie) {
            if(webgen_browser.version == "8.0") {
                zoomHTML_IE8(zoomValue);
            } else {
                zoomHTML_IE7(zoomValue);
            }
        }
    }
    function zoomHTML_IE8(zoomValue) {
        document.body.style.zoom  = zoomValue + "%";
        applyOverflow(document.body, false);
        if (tts_webgenStyleSheet == null) {
            tts_webgenStyleSheet = document.createStyleSheet('webgen.css');
        }
        if(parseInt(zoomValue) > 100) {
            if (tts_webgenStyleSheet != null) {
                if (tts_webgenStyleSheet.rules.length > 0 ) {
                    tts_webgenStyleSheet.removeRule(0);
                }
                tts_webgenStyleSheet.addRule("html","overflow: scroll;");
            }
        } else {
            if (tts_webgenStyleSheet != null) {
                if (tts_webgenStyleSheet.rules.length > 0 ) {
                    tts_webgenStyleSheet.removeRule(0);
                }
            }
        }
    }
    function applyOverflow(rootNode, parentApply) {
        var nodeItem;
        var isApply = parentApply;
        for(var i=0; i<rootNode.childNodes.length; i++) {
            nodeItem = rootNode.childNodes[i];
            if(nodeItem.nodeType == "1") {
                if (!parentApply) {
                    nodeItem.style.overflow = "hidden";
                    isApply = true;
                }
                applyOverflow(rootNode.childNodes.item(i),isApply);
            }
        }
    }
    function zoomHTML_IE7(zoomValue) {
        applyZoom(document.body, false, zoomValue);
    }

    function applyZoom(rootNode, parentZoom, zoomValue) {
        var nodeItem;
        var isZoom = parentZoom;
        for(var i=0; i<rootNode.childNodes.length; i++) {
            nodeItem = rootNode.childNodes[i];
            if(nodeItem.nodeType == "1") {
                if (!parentZoom) {
                    nodeItem.style.zoom = zoomValue+ "%";
                    isZoom = true;
                }
                applyZoom(rootNode.childNodes.item(i),isZoom, zoomValue);
            }
        }
    }

    if((document.body.style.zoom==null)||(ttsenv_mustadjustfont==true)) {
        /* ±ÛÀÚÈ®´ëÃà¼Ò±â´É »ç¿ë½Ã */
        if(mode==1) { /* È®´ë */
            if(tts_curfontsize==null) {
                tts_curfontsize=ttsenv_fontminRate;
            } else if(tts_curfontsize=='') {
                tts_curfontsize=ttsenv_fontminRate;
            } else {
                tts_curfontsize=tts_curfontsize-(-ttsenv_fontRate);
                if(tts_curfontsize>ttsenv_fontmaxRate) {
                    tts_curfontsize=ttsenv_fontmaxRate;
                }
            }
        } else if(mode==-1) { /* Ãà¼Ò */
            if(tts_curfontsize!=null) {
                if(tts_curfontsize!='') {
                    tts_curfontsize=tts_curfontsize-ttsenv_fontRate;
                    if(tts_curfontsize<ttsenv_fontminRate) {
                        tts_curfontsize='';
                    }
                }
            }
        } else {
            if(tts_curfontsize!=null) {
                if(tts_curfontsize!='') {
                    if(tts_curfontsize<ttsenv_fontminRate) {
                        tts_curfontsize='';
                    } else if(tts_curfontsize>ttsenv_fontmaxRate) {
                        tts_curfontsize=ttsenv_fontmaxRate;
                    }
                }
            }
        }
        webgen_setcookie("fontSize", tts_curfontsize, 1);
        webgen_setface();
    } else {
        /* È­¸éÈ®´ëÃà¼Ò±â´É »ç¿ë½Ã (ºñÇ¥ÁØ zoom½ºÅ¸ÀÏ »ç¿ë) */
        if(tts_curRate==null)
            tts_curRate=ttsenv_zoomDefault;
        if(tts_curRate=='')
            tts_curRate=ttsenv_zoomDefault;
        if (mode==1) {   /* È®´ë½Ã */
            tts_curRate=tts_curRate-(-ttsenv_zoomRate);
            if(tts_curRate>ttsenv_zoommaxRate) {
                tts_curRate=ttsenv_zoommaxRate;
            }
        } else if (mode==-1) {    /* Ãà¼Ò½Ã */
            tts_curRate=tts_curRate-ttsenv_zoomRate;
            if(tts_curRate<ttsenv_zoomminRate) {
                tts_curRate=ttsenv_zoomminRate;
            }
        }
        if(tts_curRate>ttsenv_zoommaxRate) {
            tts_curRate = ttsenv_zoommaxRate;
        }
        if(tts_curRate<ttsenv_zoomminRate) {
            tts_curRate = ttsenv_zoomminRate;
        }
        if(ttsenv_zoomstyle_std==true) {
            zoomHTML(tts_curRate);
        } else {
            document.body.style.zoom=tts_curRate+"%";
        }
        webgen_setcookie("zoomVal",tts_curRate, 1);
    }
}

/*****************************************************************************
 * f_setBasic()
 *
 * ¿ªÇÒ : ±ÛÀÚ ¹× À½¼ºÁ¤º¸¸¦ ÃÊ±âÈ­ÇÑ´Ù.
 *****************************************************************************/
function f_setBasic()
{
    /* ±ÛÀÚÅ©±â ¹× »ö ÃÊ±âÈ­ */
    webgen_setcookie("fontColorIndex", 0, 1);
    tts_fontcolorindex = 0;
    webgen_setcookie("bgColorIndex", 0, 1);
    tts_bgcolorindex = 0;
    if((document.body.style.zoom!=null)&&(ttsenv_mustadjustfont==false)) {
        webgen_setcookie("zoomVal",ttsenv_zoomDefault, 1);
        tts_curRate = ttsenv_zoomDefault;
        f_scalescreen(0);
    } else {
        webgen_setcookie("fontSize",ttsenv_fontDefault,1);
        tts_curfontsize = ttsenv_fontDefault;
    }
    webgen_setface();
    /* À½¼º ÃÊ±âÈ­ */
    webgen_setcookie("voiceStart", "stop", 1);
    if(tts_useactivex==true) {
        webgen_setcookie("voiceStartX", "stop", 1);
    }
    f_voiceStart("stop");
    webgen_setcookie("voiceSpeed", ttsenv_defaultspeed, 1);
    voice_speed = ttsenv_defaultspeed;
    f_setVoiceSpeed( "NO" );
    webgen_setcookie("voiceVolum", ttsenv_defaultvolume, 1);
    voice_volume = ttsenv_defaultvolume;
    f_setVoiceVolume( "NO" );
}

/*****************************************************************************
 * f_setVoice()
 *
 * ¿ªÇÒ : ÄíÅ°¿¡ ÀúÀåµÈ °ú°Å À½¼ºÁ¤º¸¸¦ ºÒ·¯µéÀÎ´Ù.
 *  ÆäÀÌÁö »ç¿ë½Ã body onload ÀÌº¥Æ®¿¡ ³Ö¾îÁÖ¾î¾ß ÇÔ
 *****************************************************************************/
function f_setVoice()
{
    if(tts_setvoice_done==true) {
        return;
    }
    tts_setvoice_done=true;
    if(ttsenv_use_webgenactivex==1) {
        if(navigator!=null) {
            if(navigator.appName == "Microsoft Internet Explorer") {    /* IE */
                tts_useactivex=true;
            }
        }
    }
    if(ttsenv_opt_delayinit==false) {
        onTTSSoundInit(document.body, false);
    }
    voice_speed=webgen_rd_voiceSpeed();
    voice_volume=webgen_rd_voiceVolume();
    var val=webgen_rd_voiceStart();
    if(val=="start") {
        f_voiceStart("start");
        f_setVoiceSpeed("NO");
        f_setVoiceVolume("NO");
    }
    var val=webgen_rd_voiceStartX();
    if(val=="start") {
        f_voiceStartX("start");
    } else {
        f_voiceStartX("start");
        f_voiceStartX("stop");
    }
    if(ttsenv_opt_useshortcut==true) {
        if(document.addEventListener) {
            document.addEventListener("keydown",f_ctrlkey_ff,false/*,0,true*/);
        } else {
            document.attachEvent("onkeydown",f_ctrlkey_ie);
        }
    }
}

/*****************************************************************************
 * f_setVoiceSpeed()
 *
 * ÀÔ·ÂÀÎ¼ö 1 : ¼Óµµ up/down ¿©ºÎ ÁöÁ¤.
 *  'up' => ¼Óµµºü¸£°Ô, 'down' => ¼Óµµ´À¸®°Ô
 * ¿ªÇÒ : À½¼º ¼Óµµ¸¦ ºü¸£°Ô È¤Àº ´À¸®°Ô ÇÑ´Ù.
 *****************************************************************************/
function f_setVoiceSpeed(mode)
{
    var strPlay = "";

    voice_speed=webgen_rd_voiceSpeed();
    if(tts_useactivex==true) {
        OnSetSpeed(voice_speed);
    }
    if( mode == "up" ) {
        if( voice_speed < 5 ) {
            voice_speed = parseInt(voice_speed) + 1;
        }
        f_playinput_d("À½¼º ¼Óµµ "+ voice_speed);
    } else if( mode == "down" ) {
        if( voice_speed > 1 ) {
            voice_speed = parseInt(voice_speed) - 1;
        }
        f_playinput_d("À½¼º ¼Óµµ "+ voice_speed);
    }
    webgen_setcookie( "voiceSpeed", voice_speed, 1 );
}

/*****************************************************************************
 * f_setVoiceVolume()
 *
 * ÀÔ·ÂÀÎ¼ö 1 : º¼·ý up/down ¿©ºÎ ÁöÁ¤. 'up' => º¼·ýÅ©°Ô, 'down' => º¼·ýÀÛ°Ô
 * ¿ªÇÒ : º¼·ýÀ» ÁÙÀÌ°Å³ª ´Ã¸°´Ù
 *****************************************************************************/
function f_setVoiceVolume(mode)
{
    voice_volume=webgen_rd_voiceVolume();
    if(tts_useactivex==true) {
        OnSetVolume(voice_speed);
    }
    if( mode == "up" ) {
        if( voice_volume < 5 ) {
            voice_volume = parseFloat(voice_volume) + 1;
        }
        f_playinput_d("À½¼º º¼·ý "+ voice_volume);
    } else if( mode == "down" ) {
        if( voice_volume > 1 ) {
            voice_volume = parseFloat(voice_volume) - 1;
        }
        f_playinput_d("À½¼º º¼·ý "+ voice_volume);
    }
    //Cookie Àç¼³Á¤
    webgen_setcookie( "voiceVolum", voice_volume, 1 );
}

/*****************************************************************************
 * f_playinput()
 *
 * ÀÔ·ÂÀÎ¼ö1 : À½¼ºÀ¸·Î µéÀ» ¹®ÀÚ¿­
 * ¿ªÇÒ : ¹®ÀÚ¿­À» ÀÔ·Â¹Þ¾Æ À½¼ºÀ¸·Î ³»º¸³½´Ù.
 *****************************************************************************/
function f_playinput(inText) {
    onDirectOut(inText);
}

/*****************************************************************************
 * f_playinput_d()
 *
 * ÀÔ·ÂÀÎ¼ö1 : À½¼ºÀ¸·Î µéÀ» ¹®ÀÚ¿­
 * ¿ªÇÒ : ¹®ÀÚ¿­À» ÀÔ·Â¹Þ¾Æ À½¼ºÀ¸·Î ³»º¸³½´Ù. (f_playinput_d()¿Í µ¿ÀÏÇÔ)
 *****************************************************************************/
function f_playinput_d(inText) {
    onDirectOut(inText);
}

/*****************************************************************************
 * f_voiceStart()
 *
 * ÀÔ·ÂÀÎ¼ö 1 : À½¼º ON/OFF¿©ºÎ. "start" -> À½¼ºON, "stop" -> À½¼º OFF
 * ¿ªÇÒ : À½¼º ON/OFF ±â´ÉÀ» ¼öÇàÇÑ´Ù.
 *****************************************************************************/
function f_voiceStart(val)
{
    function webgen_displayon(mode) {
        var i;
        if(mode==1) {   /* OFF -> ON */
            for(i=1;i<=2;i++) {
                var obj=document.getElementById('tts_tool_on_'+i);
                if(obj!=null) {
                    obj.style.display='block';
                }
            }
        } else {    /* ON -> OFF */
            for(i=1;i<=2;i++) {
                var obj=document.getElementById('tts_tool_on_'+i);
                if(obj!=null) {
                    obj.style.display='none';
                }
            }
        }
    }

    if(val == "start") {
        if(ttsenv_opt_delayinit==true) {
            if(tts_initcalled==false) {
                tts_initcalled=true;
                onTTSSoundInit(document.body, false);
            }
        }
        /* À½¼º¹öÆ°Àº ÀÏ´Ü ON ÇÑ´Ù. ½ÇÆÐ½Ã´Â ÀÚµ¿À¸·Î OFFÇÑ´Ù. */
        var lobj = document.getElementById("voice_link");
        var tobj = document.getElementById("voice_start");
	if(lobj!=null) {
            lobj.href = ttsenv_onstart_href;
	}
        if(tobj!=null) {
            tobj.src = ttsenv_onstart_src;
            tobj.alt = ttsenv_onstart_alt;
            tobj.title = ttsenv_onstart_title;
        }
        webgen_displayon(1);
        webgen_setcookie("voiceStart", "start", 1);
        uvoice_mode = true;
        //f_voiceStartX("start");
    } else if(val == "stop") {
        var lobj = document.getElementById("voice_link");
        var tobj = document.getElementById("voice_start");
        if(lobj!=null) {
            lobj.href = ttsenv_onstop_href;
        }
        if(tobj!=null) {
            tobj.src = ttsenv_onstop_src;
            tobj.alt = ttsenv_onstop_alt;
            tobj.title = ttsenv_onstop_title;
        }
        webgen_displayon(0);
        webgen_setcookie("voiceStart", "stop", 1);
        uvoice_mode = false;
        //f_voiceStartX("stop");
    }
}

function f_voiceStartX(val)
{
    function webgen_displayon(mode) {
        var i;
        if(mode==1) {   /* OFF -> ON */
            for(i=1;i<=2;i++) {
                var obj=document.getElementById('tts_tool_on_'+i);
                if(obj!=null) {
                    obj.style.display='block';
                }
            }
        } else {    /* ON -> OFF */
            for(i=1;i<=2;i++) {
                var obj=document.getElementById('tts_tool_on_'+i);
                if(obj!=null) {
                    obj.style.display='none';
                }
            }
        }
    }

    if(val == "start") {
        if(ttsenv_opt_delayinit==true) {
            if(tts_initcalled==false) {
                tts_initcalled=true;
                onTTSSoundInit(document.body, false);
            }
        }
        /* À½¼º¹öÆ°Àº ÀÏ´Ü ON ÇÑ´Ù. ½ÇÆÐ½Ã´Â ÀÚµ¿À¸·Î OFFÇÑ´Ù. */
        var lobj = document.getElementById("voice_link");
        var tobj = document.getElementById("voice_start");
	if(lobj!=null) {
            lobj.href = ttsenv_onstart_href;
	}
        if(tobj!=null) {
            tobj.src = ttsenv_onstart_src;
            tobj.alt = ttsenv_onstart_alt;
            tobj.title = ttsenv_onstart_title;
        }
        webgen_displayon(1);
        webgen_setcookie("voiceStartX", "start", 1);
        //uvoice_mode = true;
        if(tts_useactivex==true) {
            var sRes = OnStart();
            if(sRes == 0) {
                return;
            }
        }
    } else if(val == "stop") {
        var lobj = document.getElementById("voice_link");
        var tobj = document.getElementById("voice_start");
        if(lobj!=null) {
            lobj.href = ttsenv_onstop_href;
        }
        if(tobj!=null) {
            tobj.src = ttsenv_onstop_src;
            tobj.alt = ttsenv_onstop_alt;
            tobj.title = ttsenv_onstop_title;
        }
        webgen_displayon(0);
        webgen_setcookie("voiceStartX", "stop", 1);
        //uvoice_mode = false;
        if(tts_useactivex==true) {
            OnStop();
        }
    }
}

function f_activexinstall() {
    if(DetectActiveXControl()==false) {
        if(navigator.appName == "Microsoft Internet Explorer") {
            window.open("/eswebgen/installmodule.html","","width=500px,height=250px,toolbar=no,menubar=no,location=no,scrollbars=no,directories=no");
            /*
            var ifr = document.createElement("iframe");
            ifr.id="TTS_INSTALL";
            ifr.style.width ="0";
            ifr.style.height="0";
            ifr.style.borderWidth="0";
            ifr.style.margin="0";
            ifr.style.padding="0";
            ifr.title="À½¼º¸ðµâ¼³Ä¡ÇÁ·¹ÀÓ";
            ifr.src=ttsenv_activex_install;
            document.body.appendChild(ifr);
            */
        }
    }
}

/*****************************************************************************
 * f_voiceStart2()
 *
 * ¿ªÇÒ : f_voiceStart()ÀÇ ´Ü¼øÈ­ ¹öÀü. ÄíÅ° »óÅÂ¿¡ µû¶ó¼­ ONÀÏ°æ¿ì OFF,
 *  OFFÀÏ °æ¿ì ONÇÑ´Ù.
 *****************************************************************************/
function f_voiceStart2() {
    if(webgen_readcookie("voiceStart") == "start") {   /* À½¼º ON ½Ã */
        f_voiceStart("stop");
    } else {
        f_voiceStart("start");
    }
}

/*****************************************************************************
 * f_reinitialize()
 *
 * ÀÔ·ÂÀÎ¼ö : innerHTMLÀ» º¯°æÇÑ Tag Object(object ÀÚÃ¼´Â ÃÊ±âÈ­µÇ¾úÁö¸¸,
 *  innerHTMLÀÌ º¯°æµÇ¾î ³»ºÎ°¡ ¹Ù²ï °Í)À» ³Ö½À´Ï´Ù. ÀÔ·ÂÇÑ object´Â ÃÊ±âÈ­ÇÏÁö
 *  ¾ÊÁö¸¸, objectÀÇ ÀÚ½ÄÀÌ µÇ´Â objectµéÀº ÃÊ±âÈ­ ´ë»óÀÌ µË´Ï´Ù.
 * ¿ªÇÒ : innerHTML µîÀ¸·Î º¯°æÇÑ °æ¿ì À½¼ºÀ¸·Î ÀÐÈú ¼ö ÀÖµµ·Ï ÀçÃÊ±âÈ­ÇÑ´Ù.
 *****************************************************************************/
function f_reinitialize(obj) {
    var mode=0;
    if(obj==null) {
        return;
    }
    if(obj.childNodes==null) {
        mode=0;
    } else {
        if(obj.childNodes.length==0) {
            mode=0;
        } else if(obj.childNodes.length>=2) {
            mode=1;
        } else {
            if(obj.childNodes[0].nodeName=="#text") {
                mode=2;
            } else {
                mode=1;
            }
        }
    }
    if(ttsenv_opt_attachevent==false) {
        webgen_eventreset(obj);
        if(mode==1) {
            InitElement(obj,false);
        } else {
            webgen_eventchain(obj,false,true,true,false);
        }
    } else {
        webgen_eventreset_lis(obj);
        if(mode==1) {
            webgen_InitElement_lis(obj,false);
        } else {
            webgen_eventchain_lis(obj,false,true,true,false);
        }
    }
}

/*****************************************************************************
 * f_CtrlKey()
 *
 * ¿ªÇÒ : Å°º¸µå ÀÌº¥Æ® Ã³¸®·çÆ¾. (ÀÌÀü onkeydown ÀÚµ¿È£Ãâ±â´É Æ÷ÇÔ)
 *****************************************************************************/
function f_ctrlkey_ie()
{
    if(ttsenv_opt_useshortcut==true) {
        /* Ctrl+F12 À½¼º on/off ´ÜÃàÅ° ±â´É */
        if (window.event.ctrlKey && (event.keyCode == 123)){
            var vStart = webgen_rd_voiceStart();
            if (vStart == "start") {
                f_voiceStart( "stop");
            } else {
                f_voiceStart( "start");
            }
        }
        /* Ctrl+Shift+T »ó´Ü¸Þ´º ´ÜÃàÅ° ±â´É */
        if (window.event.ctrlKey &&  window.event.shiftKey && event.keyCode == 84){
            if(document.getElementById('tmenuptr')!=null) {
                document.getElementById('tmenuptr').focus();	// »ó´Ü HomeÀ¸·Î focus() ÀÌµ¿
            }
        }
        /* Ctrl+Shift+L ÁÂÃø¼­ºê¸Þ´º ´ÜÃàÅ° ±â´É */
        if (window.event.ctrlKey &&  window.event.shiftKey && event.keyCode == 76){
            if(document.getElementById('lmenuptr')!=null) {
                document.getElementById('lmenuptr').focus();	// ÁÂÃø focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        /* Ctrl+Shift+C º»¹® ´ÜÃàÅ° ±â´É */
        if (window.event.ctrlKey &&  window.event.shiftKey && event.keyCode == 67){
            if(document.getElementById('startptr')!=null) {
                document.getElementById('startptr').focus();	// º»¹® focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        /* Ctrl+Shift+B ¹®¼­³¡ ´ÜÃàÅ° ±â´É */
        if (window.event.ctrlKey &&  window.event.shiftKey && event.keyCode == 66){
            if(document.getElementById('bottomptr')!=null) {
                document.getElementById('bottomptr').focus();	// ÇÏ´Ü focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        if (window.event.ctrlKey &&  window.event.shiftKey && event.keyCode == 72){
            if(document.getElementById('movehelp')!=null) {
                document.getElementById('movehelp').focus();
            }
            if(document.getElementById('Helpplayer')!=null) {
                document.getElementById("Helpplayer").play();
            }
        }
    }
}

function f_ctrlkey_ff(e)
{
    if(ttsenv_opt_useshortcut==true) {
        /* Ctrl+F12 À½¼º on/off ´ÜÃàÅ° ±â´É */
        if (e.ctrlKey && (e.keyCode == 123)){
            var vStart = webgen_readcookie("voiceStart");
            if (vStart == "start") {
                f_voiceStart( "stop");
            } else {
                f_voiceStart( "start");
            }
        }
        /* Ctrl+Shift+T »ó´Ü¸Þ´º ´ÜÃàÅ° ±â´É */
        if (e.ctrlKey &&  e.shiftKey && e.keyCode == 84){
            if(document.getElementById('tmenuptr')!=null) {
                document.getElementById('tmenuptr').focus();	// »ó´Ü HomeÀ¸·Î focus() ÀÌµ¿
            }
        }
        /* Ctrl+Shift+L ÁÂÃø¼­ºê¸Þ´º ´ÜÃàÅ° ±â´É */
        if (e.ctrlKey &&  e.shiftKey && e.keyCode == 76){
            if(document.getElementById('lmenuptr')!=null) {
                document.getElementById('lmenuptr').focus();	// ÁÂÃø focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        /* Ctrl+Shift+C º»¹® ´ÜÃàÅ° ±â´É */
        if (e.ctrlKey &&  e.shiftKey && e.keyCode == 67){
            if(document.getElementById('startptr')!=null) {
                document.getElementById('startptr').focus();	// º»¹® focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        /* Ctrl+Shift+B ¹®¼­³¡ ´ÜÃàÅ° ±â´É */
        if (e.ctrlKey &&  e.shiftKey && e.keyCode == 66){
            if(document.getElementById('bottomptr')!=null) {
                document.getElementById('bottomptr').focus();	// ÇÏ´Ü focusÀÌµ¿ÇÒ ºÎºÐÀÇ ¾ÆÀÌµð ÀÔ·Â
            }
        }
        if (e.ctrlKey &&  e.shiftKey && e.keyCode == 72){
            if(document.getElementById('movehelp')!=null) {
                document.getElementById('movehelp').focus();
            }
            if(document.getElementById('Helpplayer')!=null) {
                document.getElementById("Helpplayer").play();
            }
        }
    }
}

/* ³»ºÎ ÇÔ¼ö : ±ÛÀÚÅ©±â / ±ÛÀÚ»ö / ¹è°æ»ö ¼³Á¤ (IEÀü¿ë È­¸éÈ®´ëÃà¼Ò´Â ¿©±â°¡ ¾Æ´Ñ f_scalescreen¿¡¼­ Á÷Á¢ Ã³¸®ÇÑ´Ù.) */
function webgen_setface()
{
    webgen_setface_run(document.body);
    if(document.getElementById('select2')!=null) {
        document.getElementById('select2').selectedIndex = parseInt(tts_fontcolorindex);
    }
    if(document.getElementById('select')!=null) {
        document.getElementById('select').selectedIndex = parseInt(tts_bgcolorindex);
    }
    webgen_setcookie("fontColorIndex", tts_fontcolorindex , 1);
    webgen_setcookie("bgColorIndex", tts_bgcolorindex , 1);
    if((document.body.style.zoom==null)||(ttsenv_mustadjustfont==true)) {
        webgen_setcookie("fontSize", tts_curfontsize, 1);
    }
    if(ttsenv_opt_multiframe==true) {
        webgen_setface_fr(top);
    }
}

function webgen_setface_fr(frobj) {
    var odomain=false;
    if(frobj==null) {
        return;
    }
    try {
        var domain=frobj.document.location.href;
    } catch(e) {
        odomain=true;
    }
    if(odomain==true) {
        return;
    }
    if(frobj!=this) {
        webgen_setface_run(frobj.document.body);
    }
    var i;
    if(frobj.frames!=null) {
        if(frobj.frames.length>0) {
            for(i=0;i<frobj.frames.length;i++) {
                webgen_setface_fr(frobj.frames[i]);
            }
        }
    }
}

function webgen_setface_run(obj) {
    if(obj==null) {
        return;
    }
    if(obj.childNodes!=null) {
        if(obj.childNodes.length>0) {
            var i;
            var s=false;
            if(obj.style!=null) {
                obj.style.backgroundColor=ttsenv_bgcolor[tts_bgcolorindex];
                obj.style.color=ttsenv_fontcolor[tts_fontcolorindex];
            }
            for(i=0;i<obj.childNodes.length;i++) {
                if(obj.childNodes[i].nodeName=="#text") {
                    if(s==false) {
                        if(obj.style!=null) {
                            if((document.body.style.zoom==null)||(ttsenv_mustadjustfont==true)) {
                                if(tts_curfontsize==null) {
                                    obj.style.fontSize='';
                                } else if(tts_curfontsize=='') {
                                    obj.style.fontSize='';
                                } else {
                                    obj.style.fontSize=tts_curfontsize+'pt';
                                }
                            }
                        }
                        s=true;
                    }
                } else {
                    webgen_setface_run(obj.childNodes[i]);
                }
            }
        }
    }
}

/* ³»ºÎ ÇÔ¼ö : ÄíÅ° ÀÐ±â, str = ÀÐ¾îµéÀÏ ÄíÅ° Å° ÀÌ¸§ */
function webgen_readcookie(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;
            }
            var val=document.cookie.substring(j,cookie_end );
            if(ttsenv_opt_encrypt==true) {
                val=webgen_decrypt(val);
            }
            return val;
        }
        i++;
    }
    return "";
}

/* ÄíÅ° ¼³Á¤ÇÔ¼ö, key = ÄíÅ° Å°ÀÌ¸§, value = ÄíÅ° Å°°ª, term = À¯È¿ÀÏÀÚ(º¸Åë 1·Î ³ÖÀ½) */
function webgen_setcookie(key, value, term){
    var nval='';
    if(ttsenv_opt_encrypt==true) {
        nval=webgen_encrypt(value);
    } else {
        nval=value.toString();
    }
    var expire = new Date();
    expire.setDate( expire.getDate() + term );
    document.cookie = key + "=" + escape( nval ) + "; path=/; expires=" + expire.toGMTString() + ";";
}

/* ÆË¾÷Ã¢/ÇÁ·¹ÀÓ³»ºÎÃ¢ ·çÆ¾¿¡¼­ »ç¿ë : ¸¶½ºÅÍ ÇÁ·¹ÀÓ(TTSÁ¦¾î ÇÁ·¹ÀÓ)À» Ã£´Â´Ù. */
function webgen_findmaster(win) {
    var od=false;
    if(win==null) {
        return null;
    }
    try {
        if(win.tts_master!=null) {
            if(win.tts_master==true) {
                return win;
            }
        }
    } catch(e) {
        od=true;
    }
    if(od==true) {
        return null;
    }
    if(win.frames!=null) {
        if(win.frames.length>0) {
            var i;
            for(i=0;i<win.frames.length-1;i++) {
                var obj=webgen_findmaster(win.frames[i]);
                if(obj!=null) {
                    return obj;
                }
            }
        }
    }
    if(win.opener!=null) {
        var obj=webgen_findmaster(win.opener.top);
        if(obj!=null) {
            return obj;
        }
    }
    return null;
}

/* º»Ã¢¿¡¼­ »ç¿ë : °¢Á¾ ÇÁ·¹ÀÓÀ» Ã£¾Æ ¼³Á¤³»¿ëÀ» ¹Ý¿µ Àû¿ëÇÑ´Ù */
function webgen_findslave(win,zoomrate,fontsize,fground,bground,mode,speed,volume) {
    if(win==null) {
        return;
    }
    if(win.tts_present!=null) {
        if(win.tts_master==false) {
            win.webgen_findslave_mkmod(zoomrate,fontsize,fground,bground,mode,speed,volume);
        }
    }
    if(win.frames!=null) {
        if(win.frames.length>0) {
            var i;
            for(i=0;i<win.frames.length-1;i++) {
                var obj=webgen_findmaster(win.frames[i]);
                if(obj!=null) {
                    webgen_findslave(win,zoomrate,fontsize,fground,bground,mode,speed,volume);
                }
            }
            if(win.opener!=null) {
                webgen_findslave(win,zoomrate,fontsize,fground,bground,mode,speed,volume);
            }
        }
    }
}

/* º»Ã¢¿¡¼­ È£ÃâÇÏ´Â ÆË¾÷Ã¢ ¼­ºê·çÆ¾ */
function webgen_findslave_mkmod(zoomrate,fontsize,fground,bground,mode,speed,volume) {
    uvoice_mode=mode;
    voice_speed=speed;
    voice_volume=volume;
    tts_curRate=zoomrate;
    tts_fontcolorindex=fground;
    tts_bgcolorindex=bground;
    tts_curfontsize=fontsize;
    f_scalescreen(0);
}

function webgen_encrypt(intext) {
    intext=intext.toString();
    var ret='';
    if(intext==null) {
        return null;
    }
    if(intext.length==0) {
        return null;
    }
    var i;
    var j;
    for(i=0;i<intext.length;i++) {
        var s=intext.charAt(i);
        for(j=0;j<tts_map1.length;j++) {
            if(s==tts_map1.charAt(j)) {
                s=tts_map2.charAt(j);
                j=tts_map1.length;
            }
        }
        ret=ret.concat(s);
    }
    return ret;
}

function webgen_decrypt(intext) {
    intext=intext.toString();
    var ret='';
    if(intext==null) {
        return null;
    }
    if(intext.length==0) {
        return null;
    }
    var i;
    var j;
    for(i=0;i<intext.length;i++) {
        var s=intext.charAt(i);
        for(j=0;j<tts_map2.length;j++) {
            if(s==tts_map2.charAt(j)) {
                s=tts_map1.charAt(j);
                j=tts_map2.length;
            }
        }
        ret=ret.concat(s);
    }
    return ret;
}

function webgen_rd_fontcolorindex() {
    var val='';
    val=webgen_readcookie("fontColorIndex");
    if(val==null) {
        val=0;
    }
    if(isNaN(val)==true) {
        val=0;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=0;
    }
    if(val<0) {
        val=0;
    }
    if(val>ttsenv_fontcolor.length) {
        val=ttsenv_fontcolor.length-1;
    }
    webgen_setcookie("fontColorIndex", val, 1);
    return val;
}

function webgen_rd_bgcolorindex() {
    var val='';
    val=webgen_readcookie("bgColorIndex");
    if(val==null) {
        val=0;
    }
    if(isNaN(val)==true) {
        val=0;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=0;
    }
    if(val<0) {
        val=0;
    }
    if(val>ttsenv_bgcolor.length) {
        val=ttsenv_bgcolor.length-1;
    }
    webgen_setcookie("bgColorIndex", val, 1);
    return val;
}

function webgen_rd_fontsize() {
    var val='';
    val=webgen_readcookie("fontSize");
    if(val==null) {
        val=ttsenv_fontDefault;
    }
    if(isNaN(val)==true) {
        val=ttsenv_fontDefault;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=ttsenv_fontDefault;
    }
    if(val!='') {
        if(val<ttsenv_fontminRate) {
            val=ttsenv_fontDefault;
        } else if(val>ttsenv_fontmaxRate) {
            val=ttsenv_fontmaxRate;
        }
    }
    webgen_setcookie("fontSize", val, 1);
    return val;
}

function webgen_rd_zoomVal() {
    var val='';
    val=webgen_readcookie("zoomVal");
    if(val==null) {
        val=ttsenv_zoomDefault;
    }
    if(isNaN(val)==true) {
        val=ttsenv_zoomDefault;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=ttsenv_zoomDefault;
    }
    if(val<ttsenv_zoomminRate) {
        val=ttsenv_zoomminRate;
    } else if(val>ttsenv_zoommaxRate) {
        val=ttsenv_zoommaxRate;
    }
    webgen_setcookie("zoomVal", val, 1);
    return val;
}

function webgen_rd_voiceStart() {
    var val='';
    val=webgen_readcookie("voiceStart");
    if(val==null) {
        val="stop";
    }
    if((val!="start")&&(val!="stop")) {
        webgen_setcookie("voiceStart", "stop", 1);
        val="stop";
    }
    webgen_setcookie("voiceStart", val, 1);
    return val;
}

function webgen_rd_voiceStartX() {
    var val='';
    val=webgen_readcookie("voiceStartX");
    if(val==null) {
        val="stop";
    }
    if((val!="start")&&(val!="stop")) {
        webgen_setcookie("voiceStartX", "stop", 1);
        val="stop";
    }
    webgen_setcookie("voiceStartX", val, 1);
    return val;
}

function webgen_rd_voiceSpeed() {
    var val='';
    val=webgen_readcookie("voiceSpeed");
    if(val==null) {
        val=ttsenv_defaultspeed;
    }
    if(isNaN(val)==true) {
        val=ttsenv_defaultspeed;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=ttsenv_defaultspeed;
    }
    if(val<1) {
        val=ttsenv_defaultspeed;
    } else if(val>5) {
        val=ttsenv_defaultspeed;
    }
    webgen_setcookie("voiceSpeed",val,1);
    return val;
}

function webgen_rd_voiceVolume() {
    var val='';
    val=webgen_readcookie("voiceVolum");
    if(val==null) {
        val=ttsenv_defaultvolume;
    }
    if(isNaN(val)==true) {
        val=ttsenv_defaultvolume;
    } else {
        val=parseInt(val);
    }
    if(isNaN(val)==true) {
        val=ttsenv_defaultvolume;
    }
    if(val<1) {
        val=ttsenv_defaultvolume;
    } else if(val>5) {
        val=ttsenv_defaultvolume;
    }
    webgen_setcookie("voiceVolum",val,1);
    return val;
}

/*
 * webgen java version
 */

var uvoice_mode = false;
var voice_speed = 3;
var voice_volume = 3;

var debug			 = true;
var HttpRequestObject= null;

function GetXmlHttp() {
    if(HttpRequestObject){
        HttpRequestObject.abort()
    }

    if (window.XMLHttpRequest){
        HttpRequestObject = new XMLHttpRequest();
    }else if (window.ActiveXObject) {// code for IE
        try{
            HttpRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e){
            try{
                HttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                HttpRequestObject=null;
            }
        }
    }

    return HttpRequestObject;
}

function PostAjaxResponseToFunction(url, parameters, callbackFunction, obj, callback, type, async) {
    var xmlhttp=new GetXmlHttp();
    if (xmlhttp) {
        timeoutId = window.setTimeout(function() {
                xmlhttp.abort();
                tts_res_wait = false;
                }, 5);
        xmlhttp.open('POST', url, async);
        if(async==true) {
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp && xmlhttp.readyState==4){//we got something back..
                    if (xmlhttp.status==200){
                        var re = /^\s+|\s+$/g;
                        var response = xmlhttp.responseText;
                        if(response){
                            response = response.replace(re, '');
                        }
                        var functionToCall = callbackFunction+'(response, obj, callback, type)';
                        eval(functionToCall);
                    } else if(debug){ }
                }
                window.clearTimeout(timeoutId);
            };
        }
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", parameters.length);
        //xmlhttp.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
        //xmlhttp.setRequestHeader("Pragma", "no-cache");
        xmlhttp.setRequestHeader("Accept-Language", "ko");
        xmlhttp.setRequestHeader("Connection", "close");
        xmlhttp.send(parameters);
        if(async==false) {
            if (xmlhttp.status==200){
                var re = /^\s+|\s+$/g;
                var response = xmlhttp.responseText;
                if(response){
                    response = response.replace(re, '');
                }
                var functionToCall = callbackFunction+'(response, obj, callback, type)';
                eval(functionToCall);
            } else if(debug){ }
            window.clearTimeout(timeoutId);
        }
    }
}


var MD5 = function (string) {

    function RotateLeft(lValue, iShiftBits) {
        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
    }

    function AddUnsigned(lX,lY) {
        var lX4,lY4,lX8,lY8,lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
            if (lResult & 0x40000000) {
                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
            } else {
                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
            }
        } else {
            return (lResult ^ lX8 ^ lY8);
        }
    }

    function F(x,y,z) { return (x & y) | ((~x) & z); }
    function G(x,y,z) { return (x & z) | (y & (~z)); }
    function H(x,y,z) { return (x ^ y ^ z); }
    function I(x,y,z) { return (y ^ (x | (~z))); }

    function FF(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function GG(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function HH(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function II(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function ConvertToWordArray(string) {
        var lWordCount;
        var lMessageLength = string.length;
        var lNumberOfWords_temp1=lMessageLength + 8;
        var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
        var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
        var lWordArray=Array(lNumberOfWords-1);
        var lBytePosition = 0;
        var lByteCount = 0;
        while ( lByteCount < lMessageLength ) {
            lWordCount = (lByteCount-(lByteCount % 4))/4;
            lBytePosition = (lByteCount % 4)*8;
            lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
            lByteCount++;
        }
        lWordCount = (lByteCount-(lByteCount % 4))/4;
        lBytePosition = (lByteCount % 4)*8;
        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
        lWordArray[lNumberOfWords-2] = lMessageLength<<3;
        lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
        return lWordArray;
    };

    function WordToHex(lValue) {
        var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
        for (lCount = 0;lCount<=3;lCount++) {
            lByte = (lValue>>>(lCount*8)) & 255;
            WordToHexValue_temp = "0" + lByte.toString(16);
            WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
        }
        return WordToHexValue;
    };

    function Utf8Encode(string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                //alert("==");
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    };

    var x=Array();
    var k,AA,BB,CC,DD,a,b,c,d;
    var S11=7, S12=12, S13=17, S14=22;
    var S21=5, S22=9 , S23=14, S24=20;
    var S31=4, S32=11, S33=16, S34=23;
    var S41=6, S42=10, S43=15, S44=21;

    string = Utf8Encode(string);
    x = ConvertToWordArray(string);


    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

    for (k=0;k<x.length;k+=16) {
        AA=a; BB=b; CC=c; DD=d;
        a=FF(a,b,c,d,x[k +0],S11,0xD76AA478);
        d=FF(d,a,b,c,x[k +1],S12,0xE8C7B756);
        c=FF(c,d,a,b,x[k +2],S13,0x242070DB);
        b=FF(b,c,d,a,x[k +3],S14,0xC1BDCEEE);
        a=FF(a,b,c,d,x[k +4],S11,0xF57C0FAF);
        d=FF(d,a,b,c,x[k +5],S12,0x4787C62A);
        c=FF(c,d,a,b,x[k +6],S13,0xA8304613);
        b=FF(b,c,d,a,x[k +7],S14,0xFD469501);
        a=FF(a,b,c,d,x[k +8],S11,0x698098D8);
        d=FF(d,a,b,c,x[k +9],S12,0x8B44F7AF);
        c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
        b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
        a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
        d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
        c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
        b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
        a=GG(a,b,c,d,x[k +1],S21,0xF61E2562);
        d=GG(d,a,b,c,x[k +6],S22,0xC040B340);
        c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
        b=GG(b,c,d,a,x[k +0],S24,0xE9B6C7AA);
        a=GG(a,b,c,d,x[k +5],S21,0xD62F105D);
        d=GG(d,a,b,c,x[k+10],S22,0x2441453);
        c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
        b=GG(b,c,d,a,x[k +4],S24,0xE7D3FBC8);
        a=GG(a,b,c,d,x[k +9],S21,0x21E1CDE6);
        d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
        c=GG(c,d,a,b,x[k +3],S23,0xF4D50D87);
        b=GG(b,c,d,a,x[k +8],S24,0x455A14ED);
        a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
        d=GG(d,a,b,c,x[k +2],S22,0xFCEFA3F8);
        c=GG(c,d,a,b,x[k +7],S23,0x676F02D9);
        b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
        a=HH(a,b,c,d,x[k +5],S31,0xFFFA3942);
        d=HH(d,a,b,c,x[k +8],S32,0x8771F681);
        c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
        b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
        a=HH(a,b,c,d,x[k +1],S31,0xA4BEEA44);
        d=HH(d,a,b,c,x[k +4],S32,0x4BDECFA9);
        c=HH(c,d,a,b,x[k +7],S33,0xF6BB4B60);
        b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
        a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
        d=HH(d,a,b,c,x[k +0],S32,0xEAA127FA);
        c=HH(c,d,a,b,x[k +3],S33,0xD4EF3085);
        b=HH(b,c,d,a,x[k +6],S34,0x4881D05);
        a=HH(a,b,c,d,x[k +9],S31,0xD9D4D039);
        d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
        c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
        b=HH(b,c,d,a,x[k +2],S34,0xC4AC5665);
        a=II(a,b,c,d,x[k +0],S41,0xF4292244);
        d=II(d,a,b,c,x[k +7],S42,0x432AFF97);
        c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
        b=II(b,c,d,a,x[k +5],S44,0xFC93A039);
        a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
        d=II(d,a,b,c,x[k +3],S42,0x8F0CCC92);
        c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
        b=II(b,c,d,a,x[k +1],S44,0x85845DD1);
        a=II(a,b,c,d,x[k +8],S41,0x6FA87E4F);
        d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
        c=II(c,d,a,b,x[k +6],S43,0xA3014314);
        b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
        a=II(a,b,c,d,x[k +4],S41,0xF7537E82);
        d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
        c=II(c,d,a,b,x[k +2],S43,0x2AD7D2BB);
        b=II(b,c,d,a,x[k +9],S44,0xEB86D391);
        a=AddUnsigned(a,AA);
        b=AddUnsigned(b,BB);
        c=AddUnsigned(c,CC);
        d=AddUnsigned(d,DD);
    }

    var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

    return temp.toLowerCase();
}

var name_i = new Array();
var name_n = new Array();


function InitEvent  (oElement, bFrame){
    oElement.onmouseover  = function(event){onElementOver('m', event, this);};
    oElement.onfocus	  = function(event){onElementOver('f', event, this);};
    oElement.onchange	  = function(event){onElementOver('c', event, this);};
}

function InitElement(oElement, bFrame){
    var elemArray = oElement.childNodes;
    if(elemArray){
        for (var i = 0; i < elemArray.length; i++) {
            var element  = elemArray[i];
            var elemTag  = element.tagName;
            var elemChild= element.childNodes;
            if (elemTag) {
                elemTag = elemTag.toUpperCase();
                if(elemTag=="!" || elemTag=="SCRIPT"){
                    continue;
                }else if((webgen_elementinner(elemTag))==true) {
                    var bEvent	= false;
                    var bText	= false;

                    for(var ii=0; ii<elemChild.length;ii++){
                        if(elemChild[ii].tagName){
                        }else{
                            if(elemChild[ii].nodeName=="#text"){
                                if(webgen_checkemptystr(elemChild[ii].nodeValue)==false) {
                                    if(elemChild.length>1) {
                                        var elemNew = document.createElement("SPAN");
                                        elemNew.style.padding = 0;
                                        elemNew.style.margin = 0;
                                        elemNew.style.borderWidth = 0;
                                        elemNew.style.overflow="hidden";
                                        elemNew.innerHTML = elemChild[ii].nodeValue;
                                        if(ttsenv_insideclass!=null) {
                                            elemNew.className = ttsenv_insideclass;
                                        }
                                        if(elemChild[ii].replaceNode){
                                            elemChild[ii].replaceNode (elemNew);
                                        }else{
                                            element.replaceChild(elemNew,elemChild[ii]);
                                        }
                                        bEvent = false;
                                    } else {
                                        bEvent = true;
                                    }
                                }
                            }
                        }
                    }
                    if(bEvent){
                        webgen_eventchain(element,bFrame,true,true,false);
                    }else{
                        InitElement(element, bFrame);
                    }
                }else if(elemTag=="SELECT"){
                    webgen_eventchain(element,bFrame,true,true,true);
                }else if((elemTag=="AREA")||(elemTag=="A")||(elemTag=="BUTTON")) {
                    webgen_eventchain(element,bFrame,true,true,false);
                }else if(elemTag=="TEXTAREA") {
                    webgen_eventchain(element,bFrame,true,true,false);
                    webgen_eventchain2(element);
                }else if(elemTag=="INPUT"){
                    var eletype = element.type.toUpperCase();
                    if((eletype=="TEXT")||(eletype=="PASSWORD")||(eletype=="CHECKBOX")||(eletype=="RADIO")||(eletype=="IMAGE")||(eletype=="FILE")||(eletype=="BUTTON")) {
                        webgen_eventchain(element,bFrame,true,true,false);
                        if((eletype=="TEXT")||(eletype=="PASSWORD")) {
                            webgen_eventchain2(element);
                        }
                    }
                }else if(elemTag=="IMG") {
                    if(element.useMap) {
                    }else{
                        webgen_eventchain(element,bFrame,true,true,false);
                    }
                }else if(elemTag=="IFRAME"){
                }else if(elemChild){
                    InitElement(element, bFrame);
                }
            }else{
                if(element.nodeName=="#text"){
                    if(webgen_checkemptystr(element.nodeValue)==false) {
                        var elemNew = document.createElement("SPAN");
                        elemNew.style.padding = 0;
                        elemNew.style.margin = 0;
                        elemNew.style.borderWidth = 0;
                        elemNew.style.overflow="hidden";
                        elemNew.innerHTML = element.nodeValue;
                        if(ttsenv_insideclass!=null) {
                            elemNew.className = ttsenv_insideclass;
                        }
                        if(element.replaceNode){
                            element.replaceNode (elemNew);
                        }else{
                            oElement.replaceChild(elemNew,element);
                        }
                        webgen_eventchain(elemNew,bFrame,true,true,false);
                    }
                }
            }
        }
    }
}

function webgen_eventchain(obj,bFrame,mode1,mode2,mode3) {
    if(mode1==true) {
        if(obj.ttsinit1!=null) {
            if(obj.ttsinit1==true) {
                return;
            }
        }
        obj.ttsinit1=true;
        if((obj.temp1!=null)||(obj.temp1!='')) {
            obj.temp1 = obj.onmouseover;
            obj.onmouseover  = function(event){onElementOver('m', bFrame, this, this.temp1);};
        }
    }
    if(mode2==true) {
        if(obj.ttsinit2!=null) {
            if(obj.ttsinit2==true) {
                return;
            }
        }
        obj.ttsinit2=true;
        if((obj.temp2!=null)||(obj.temp2!='')) {
            obj.temp2 = obj.onfocus;
            obj.onfocus = function(event){onElementOver('f', bFrame, this, this.temp2);};
        }
    }
    if(mode3==true) {
        if(obj.ttsinit3!=null) {
            if(obj.ttsinit3==true) {
                return;
            }
        }
        obj.ttsinit3=true;
        if((obj.temp3!=null)||(obj.temp3!='')) {
            obj.temp3 = obj.onchange;
            obj.onchange = function(event){onElementOver('c', bFrame, this, this.temp3);};
        }
    }
}

function webgen_elementinner(name) {
    if(name==null) {
        return false;
    }
    if(tts_innerelement!=null) {
        if(tts_innerelement.length>0) {
            var i;
            for(i=0;i<tts_innerelement.length;i++) {
                if(tts_innerelement[i]==name) {
                    return true;
                }
            }
        }
    }
    return false;
}

function webgen_eventchain2(obj) {
    if(obj.ttsinit4!=null) {
        if(obj.ttsinit4==true) {
            return;
        }
    }
    obj.ttsinit4=true;
    if((obj.temp4!=null)||(obj.temp4!='')) {
        obj.temp4=obj.onkeyup;
        obj.onkeyup=function(event){onElementDown('m', false, this, this.temp3);};
    }
}

function webgen_checkemptystr(str) {
    if(str==null) {
        return true;
    }
    if(str.length==0) {
        return true;
    }
    var i;
    for(i=0;i<str.length;i++) {
        if(str.charCodeAt(i)>32) {
            return false;
        }
    }
    return true;
}

function webgen_eventreset(obj) {
    if(obj.ttsinit1!=null) {
        if(obj.ttsinit1==true) {
            obj.ttsinit1=false;
            if(obj.temp1!=null) {
                obj.onmouseover=obj.temp1;
            } else {
                obj.onmouseover=null;
            }
        }
    }
    if(obj.ttsinit2!=null) {
        if(obj.ttsinit2==true) {
            obj.ttsinit2=false;
            if(obj.temp2!=null) {
                obj.onfocus=obj.temp2;
            } else {
                obj.onfocus=null;
            }
        }
    }
    if(obj.ttsinit3!=null) {
        if(obj.ttsinit3==true) {
            obj.ttsinit3=false;
            if(obj.temp3!=null) {
                obj.onchange=obj.temp3;
            } else {
                obj.onchange=null;
            }
        }
    }
    if(obj.ttsinit4!=null) {
        if(obj.ttsinit4==true) {
            obj.ttsinit4=false;
            if(obj.temp4!=null) {
                obj.onkeyup=obj.temp4;
            } else {
                obj.onkeyup=null;
            }
        }
    }
}

/* listener¸¦ ÀÌ¿ëÇÑ ÃÊ±âÈ­ */
function webgen_InitElement_lis(oElement, bFrame){
    var elemArray = oElement.childNodes;
    if(elemArray){
        for (var i = 0; i < elemArray.length; i++) {
            var element  = elemArray[i];
            var elemTag  = element.tagName;
            var elemChild= element.childNodes;
            if (elemTag) {
                elemTag = elemTag.toUpperCase();
                if(elemTag=="!" || elemTag=="SCRIPT"){
                    continue;
                }else if((webgen_elementinner(elemTag))==true) {
                    var bEvent	= false;
                    var bText	= false;

                    for(var ii=0; ii<elemChild.length;ii++){
                        if(elemChild[ii].tagName){
                        }else{
                            if(elemChild[ii].nodeName=="#text"){
                                if(webgen_checkemptystr(elemChild[ii].nodeValue)==false) {
                                    if(elemChild.length>1) {
                                        var elemNew = document.createElement("SPAN");
                                        elemNew.style.padding = 0;
                                        elemNew.style.margin = 0;
                                        elemNew.style.borderWidth = 0;
                                        elemNew.style.overflow="hidden";
                                        elemNew.innerHTML = elemChild[ii].nodeValue;
                                        if(ttsenv_insideclass!=null) {
                                            elemNew.className = ttsenv_insideclass;
                                        }
                                        if(elemChild[ii].replaceNode){
                                            elemChild[ii].replaceNode (elemNew);
                                        }else{
                                            element.replaceChild(elemNew,elemChild[ii]);
                                        }
                                        bEvent = false;
                                    } else {
                                        bEvent = true;
                                    }
                                }
                            }
                        }
                    }
                    if(bEvent){
                        webgen_eventchain_lis(element,bFrame,true,true,false);
                    }else{
                        webgen_InitElement_lis(element, bFrame);
                    }
                }else if(elemTag=="SELECT"){
                    webgen_eventchain_lis(element,bFrame,true,true,true);
                }else if((elemTag=="AREA")||(elemTag=="A")||(elemTag=="BUTTON")) {
                    webgen_eventchain_lis(element,bFrame,true,true,false);
                }else if(elemTag=="TEXTAREA") {
                    webgen_eventchain_lis(element,bFrame,true,true,false);
                    webgen_eventchain2_lis(element);
                }else if(elemTag=="INPUT"){
                    var eletype = element.type.toUpperCase();
                    if((eletype=="TEXT")||(eletype=="PASSWORD")||(eletype=="CHECKBOX")||(eletype=="RADIO")||(eletype=="IMAGE")||(eletype=="FILE")||(eletype=="BUTTON")) {
                        webgen_eventchain_lis(element,bFrame,true,true,false);
                        if((eletype=="TEXT")||(eletype=="PASSWORD")) {
                            webgen_eventchain2_lis(element);
                        }
                    }
                }else if(elemTag=="IMG") {
                    if(element.useMap) {
                    }else{
                        webgen_eventchain_lis(element,bFrame,true,true,false);
                    }
                }else if(elemTag=="IFRAME"){
                }else if(elemChild){
                    webgen_InitElement_lis(element, bFrame);
                }
            }else{
                if(element.nodeName=="#text"){
                    if(webgen_checkemptystr(element.nodeValue)==false) {
                        var elemNew = document.createElement("SPAN");
                        elemNew.style.padding = 0;
                        elemNew.style.margin = 0;
                        elemNew.style.borderWidth = 0;
                        elemNew.style.overflow="hidden";
                        elemNew.innerHTML = element.nodeValue;
                        if(ttsenv_insideclass!=null) {
                            elemNew.className = ttsenv_insideclass;
                        }
                        if(element.replaceNode){
                            element.replaceNode (elemNew);
                        }else{
                            oElement.replaceChild(elemNew,element);
                        }
                        webgen_eventchain_lis(elemNew,bFrame,true,true,false);
                    }
                }
            }
        }
    }
}

function webgen_eventchain_lis(obj,bFrame,mode1,mode2,mode3) {
    if(mode1==true) {
        if(obj.ttsinit1!=null) {
            if(obj.ttsinit1==true) {
                return;
            }
        }
        obj.ttsinit1=true;
        if(obj.addEventListener) {
            obj.addEventListener("mouseover",webgen_over_lis_ff,false/*,0,true*/);
        } else {
            obj.attachEvent("onmouseover",webgen_over_lis_ie);
        }
    }
    if(mode2==true) {
        if(obj.ttsinit2!=null) {
            if(obj.ttsinit2==true) {
                return;
            }
        }
        obj.ttsinit2=true;
        if(obj.addEventListener) {
            obj.addEventListener("focus",webgen_over_lis_ff,false/*,0,true*/);
        } else {
            obj.attachEvent("onfocus",webgen_over_lis_ie);
        }
    }
    if(mode3==true) {
        if(obj.ttsinit3!=null) {
            if(obj.ttsinit3==true) {
                return;
            }
        }
        obj.ttsinit3=true;
        if(obj.addEventListener) {
            obj.addEventListener("change",webgen_over_lis_ff,false/*,0,true*/);
        } else {
            obj.attachEvent("onchange",webgen_over_lis_ie);
        }
    }
}

function webgen_eventchain2_lis(obj) {
    if(obj.ttsinit4!=null) {
        if(obj.ttsinit4==true) {
            return;
        }
    }
    obj.ttsinit4=true;
    if(obj.addEventListener) {
        obj.addEventListener("keyup",webgen_down_lis_ff,false/*,0,true*/);
    } else {
        obj.attachEvent("onkeyup",webgen_down_lis_ie);
    }
}

function webgen_eventreset_lis(obj) {
    if(obj.ttsinit1!=null) {
        if(obj.ttsinit1==true) {
            obj.ttsinit1=false;
            if(obj.removeEventListener) {
                obj.removeEventListener("mouseover",webgen_over_lis_ff,false);
            } else {
                obj.detachEvent("onmouseover",webgen_over_lis_ff);
            }
        }
    }
    if(obj.ttsinit2!=null) {
        if(obj.ttsinit2==true) {
            obj.ttsinit2=false;
            if(obj.removeEventListener) {
                obj.removeEventListener("focus",webgen_over_lis_ff,false);
            } else {
                obj.detachEvent("onfocus",webgen_over_lis_ff);
            }
        }
    }
    if(obj.ttsinit3!=null) {
        if(obj.ttsinit3==true) {
            obj.ttsinit3=false;
            if(obj.removeEventListener) {
                obj.removeEventListener("change",webgen_over_lis_ff,false);
            } else {
                obj.detachEvent("onchange",webgen_over_lis_ff);
            }
        }
    }
    if(obj.ttsinit4!=null) {
        if(obj.ttsinit4==true) {
            obj.ttsinit4=false;
            if(obj.removeEventListener) {
                obj.removeEventListener("keyup",webgen_down_lis_ff,false);
            } else {
                obj.detachEvent("onkeyup",webgen_down_lis_ff);
            }
        }
    }
}

function utf8_encode(string) {
    var ret = string;

    if(ret){
        ret = ret.toString();
        ret = encodeURIComponent(ret);
        ret = ret.replace(/\+/g, "%2B");
    }
    return ret;
}

function GetElementText(oElement){
    function webgen_gettext(obj) {
        if(obj==null) {
            return '';
        }
        if(obj.nodeName=="#text") {
            return obj.nodeValue;
        }
        if((obj.tagName==null)||(obj.tagName=='')) {
            return '';
        }
        var tagname=obj.tagName.toUpperCase();
        if(tagname=="AREA") {
            return obj.alt;
        }
        if(tagname=="IMG") {
            if(obj.style.display!="none") {
                return obj.alt;
            }
            return "";
        }
        var i;
        var objs=obj.childNodes;
        var alltext='';
        if(objs.length==0) {
            return '';
        }
        for(i=0;i<objs.length;i++) {
            if(objs[i].nodeName=="#text") {
                alltext=alltext+objs[i].nodeValue;
            } else {
                alltext=alltext+(webgen_gettext(objs[i]));
            }
            alltext=alltext+" ";
        }
        return alltext;
    };

    function webgen_findlabel(idval) {
        var lobjs=document.getElementsByTagName("label");
        if(lobjs!=null) {
            var i;
            for(i=0;i<lobjs.length;i++) {
                if(lobjs[i].htmlFor!=null) {
                    if(lobjs[i].htmlFor==idval) {
                        var str=webgen_gettext(lobjs[i]);
                        if(str==null) {
                            return '';
                        }
                        return str;
                    }
                }
            }
        }
        return '';
    }

    if(!oElement){
        return null;
    }
    var tagname  = oElement.tagName.toUpperCase();
    var tts_text = null;
    var textmode = 0;
    if(tagname=="IMG" || tagname=="AREA"){
        tts_text = oElement.alt;
        if(tagname=="IMG") {
            textmode=1;
        } else {
            textmode=5;
        }
    }else if(tagname=="SELECT"){
        if(oElement.options!=null) {
            if(oElement.options.length > 0) {
                if(oElement.selectedIndex!=-1) {
                    option  = oElement.options[oElement.selectedIndex];
                    tts_text= option.innerHTML;
                    textmode=2;
                } else {
                    tts_text = oElement.title;
                    textmode=3;
                }
            }
        }
    }else if(tagname=="INPUT"){
        if(oElement.type.toUpperCase()=="IMAGE") {
            tts_text = oElement.alt;
            textmode=4;
        } else {
            tts_text='';
            if(ttsenv_opt_readlabelfirst==true) {
                if(oElement.id!=null) {
                    tts_text=webgen_findlabel(oElement.id);
                }
                if(oElement.type.toUpperCase()=="TEXT") {
                    textmode=6;
                } else if(oElement.type.toUpperCase()=="PASSWORD") {
                    textmode=7;
                } else if(oElement.type.toUpperCase()=="RADIO") {
                    textmode=8;
                } else if(oElement.type.toUpperCase()=="CHECKBOX") {
                    textmode=9;
                } else if(oElement.type.toUpperCase()=="SUBMIT") {
                    textmode=10;
                } else if(oElement.type.toUpperCase()=="RESET") {
                    textmode=11;
                }
            }
            if(tts_text=='') {
                tts_text = oElement.title;
                if(oElement.type.toUpperCase()=="TEXT") {
                    textmode=6;
                } else if(oElement.type.toUpperCase()=="PASSWORD") {
                    textmode=7;
                } else if(oElement.type.toUpperCase()=="RADIO") {
                    textmode=8;
                } else if(oElement.type.toUpperCase()=="CHECKBOX") {
                    textmode=9;
                } else if(oElement.type.toUpperCase()=="SUBMIT") {
                    textmode=10;
                } else if(oElement.type.toUpperCase()=="RESET") {
                    textmode=11;
                }
                if(tts_text=='') {
                    tts_text=oElement.value;
                    textmode=12;
                }
            }
        }
    }else if(tagname=="BUTTON") {
        tts_text = oElement.title;
        textmode=13;
        if(tts_text=='') {
            tts_text=oElement.value;
            textmode=12;
        }
    }else if(tagname=="TEXTAREA") {
        textmode=14;
        if((oElement.title==null)||(oElement.title=='')) {
            if (navigator.userAgent.indexOf("Firefox")>-1) {
                tts_text = oElement.innerHTML;
                tts_text = tts_text.replace(/&nbsp;/ig," ");
                tts_text = tts_text.replace(/<br>/ig,"\n");
                tts_text = tts_text.replace(/<br[^>]+>/ig,"\n");
                tts_text = tts_text.replace(/<[^>]+>/g,"");
            } else {
                tts_text = oElement.innerText;
            }
        } else {
            tts_text = oElement.title;
        }
    }else if(tagname=="A") {
        textmode=15;
        tts_text=webgen_gettext(oElement);
    }else if((tagname=="FRAME")||(tagname=="IFRAME")||(tagname=="NOFRAMES")||(tagname=="FRAMESET")) {
        textmode=16;
        tts_text = oElement.title;
    }else{
        if (navigator.userAgent.indexOf("Firefox")>-1) {
            tts_text = oElement.innerHTML;
            tts_text = tts_text.replace(/&nbsp;/ig," ");
            tts_text = tts_text.replace(/<br>/ig,"\n");
            tts_text = tts_text.replace(/<br[^>]+>/ig,"\n");
            tts_text = tts_text.replace(/<[^>]+>/g,"");
        } else {
            tts_text = oElement.innerText;
        }
    }
    if(tts_text!=null) {
        if(tts_text.length > 0){
            if(ttsenv_opt_readelement==true) {
                if(textmode==1) {
                    tts_text = tts_text + " ÀÌ¹ÌÁö";
                } else if(textmode==2) {
                    tts_text = tts_text + " ¼±ÅÃ°ª";
                } else if(textmode==3) {
                    tts_text = tts_text + " ¼±ÅÃ»óÀÚ";
                } else if(textmode==4) {
                    tts_text = tts_text + " ÀÌ¹ÌÁö¹öÆ°";
                } else if(textmode==5) {
                    tts_text = tts_text + " ÀÌ¹ÌÁö¿µ¿ª";
                } else if(textmode==6) {
                    tts_text = tts_text + " ÅØ½ºÆ®ÀÔ·Â¶õ";
                } else if(textmode==7) {
                    tts_text = tts_text + " ¾ÏÈ£ÀÔ·Â¶õ";
                } else if(textmode==8) {
                    tts_text = tts_text + " ¶óµð¿À¹öÆ°";
                } else if(textmode==9) {
                    tts_text = tts_text + " Ã¼Å©¹Ú½º";
                } else if(textmode==10) {
                    tts_text = tts_text + " ÀÔ·Â¹öÆ°";
                } else if(textmode==11) {
                    tts_text = tts_text + " Ãë¼Ò¹öÆ°";
                } else if(textmode==12) {
                    tts_text = tts_text + " ÀÔ·Â°ª";
                } else if(textmode==13) {
                    tts_text = tts_text + " ÀÔ·Â¹öÆ°";
                } else if(textmode==14) {
                    tts_text = tts_text + " ÅØ½ºÆ®¿µ¿ª";
                } else if(textmode==15) {
                    tts_text = tts_text + " ¸µÅ©";
                } else if(textmode==16) {
                    tts_text = tts_text + " ÇÁ·¹ÀÓ";
                }
            }
            return tts_text;
        }
    }
    return null;
}

function onElementOver(type, bFrame, obj, callback){
    if(type=='m') {
        if(obj.temp1!=null) {
            if(tts_showmap[0]!=true) {
                tts_showmap[0]=true;
                obj.temp1();
                tts_showmap[0]=false;
            }
        }
    } else if(type=='f') {
        if(obj.temp2!=null) {
            if(tts_showmap[1]!=true) {
                tts_showmap[1]=true;
                obj.temp2();
                tts_showmap[1]=false;
            }
        }
    } else if(type=='c') {
        if(obj.temp3!=null) {
            if(tts_showmap[2]!=true) {
                tts_showmap[2]=true;
                obj.temp3();
                tts_showmap[2]=false;
            }
        }
    }
    if(tts_res_wait){
    }else{
        var tts_text = GetElementText(obj);
        if(tts_text){
            md5_url = MD5(document.location.href);
            md5_text= MD5(tts_text);
            if(tts_master==true) {
                tts_res_wait = true;
                if(uvoice_mode==true) {
                    if(forwardcheck()==true) {
                        if(ttsenv_opt_directpost==false) {
                            PostAjaxResponseToFunction(Domain + ttsenv_createwave, "ttstext="+utf8_encode(tts_text)+"&md5_text="+md5_text+"&ttsvolume="+voice_volume+"&ttsspeed="+voice_speed, "webgen_callbackReturn", obj, callback, type, true);
                        } else {
                            webgen_playpage(md5_text,tts_text,voice_speed,voice_volume);
                        }
                    }
                }
                tts_res_wait = false;
            } else {
                var obj=webgen_findmaster(top);
                if(obj!=null) {
                    obj.onDirectOut(tts_text);
                }
            }
        }
    }
}

/* mouse over½Ã °¢ element¿¡¼­ È£ÃâµÇ´Â ÇÔ¼ö (FF) */
function webgen_over_lis_ff(e) {
    webgen_over_lis_main(e.target);
}

/* mouse over½Ã °¢ element¿¡¼­ È£ÃâµÇ´Â ÇÔ¼ö (IE) */
function webgen_over_lis_ie() {
    webgen_over_lis_main(window.event.srcElement);
}

function webgen_over_lis_main(obj){
    if(tts_res_wait){
    }else{
        var tts_text = GetElementText(obj);
        if(tts_text){
            md5_url = MD5(document.location.href);
            md5_text= MD5(tts_text);
            if(tts_master==true) {
                tts_res_wait = true;
                if(uvoice_mode==true) {
                    if(forwardcheck()==true) {
                        if(ttsenv_opt_directpost==false) {
                            PostAjaxResponseToFunction(Domain + ttsenv_createwave, "ttstext="+utf8_encode(tts_text)+"&md5_text="+md5_text+"&ttsvolume="+voice_volume+"&ttsspeed="+voice_speed, "webgen_callbackReturn", obj, null, null, true);
                        } else {
                            webgen_playpage(md5_text,tts_text,voice_speed,voice_volume);
                        }
                    }
                }
                tts_res_wait = false;
            } else {
                var obj=webgen_findmaster(top);
                if(obj!=null) {
                    obj.onDirectOut(tts_text);
                }
            }
        }
    }
}

function onDirectOut(text,bFrame) {
    if(!(tts_res_wait)) {
        if(text) {
            md5_url = MD5(document.location.href);
            md5_text= MD5(text);
            if(tts_master==true) {
                tts_res_wait = true;
                if(uvoice_mode==true) {
                    if(forwardcheck()==true) {
                        if(ttsenv_opt_directpost==false ) {
                            PostAjaxResponseToFunction(Domain + ttsenv_createwave, "ttstext="+utf8_encode(text)+"&md5_text="+md5_text+"&ttsvolume="+voice_volume+"&ttsspeed="+voice_speed, "webgen_callbackReturn", null, null, null, true);
                        } else {
                            webgen_playpage(md5_text,text,voice_speed,voice_volume);
                        }
                    }
                }
                if(tts_useactivex==true) {
                    if(tts_activex_sbot!=null) {
                        tts_activex_sbot.OnSendText(text);
                    }
                }
                tts_res_wait = false;
            } else {
                var obj=webgen_findmaster(top);
                if(obj!=null) {
                    obj.onDirectOut(text);
                }
            }
        }
    }
}

function webgen_callbackReturn(ttsWaveId, obj, callback, type)
{
    if(idbgsound==null) {
        tts_res_wait=false;
        return;
    }
    if(idbgsound.tagName.toUpperCase()=="IFRAME") {
        idbgsound.src = Domain +  ttsenv_playwave + "?tts_name="+ ttsWaveId;
    } else {
        idbgsound.src = Domain +  SoundPath + ttsWaveId;
    }
    tts_res_wait = false;
}

function onElementDown(type, bFrame, obj, callback) {
    if(obj.temp4!=null) {
        if(tts_showmap[3]!=true) {
            tts_showmap[3]=true;
            obj.temp4();
            tts_showmap[3]=false;
        }
    }
    if(tts_res_wait==false) {
        var tts_text = obj.value;
        if(tts_text){
            if(tts_text.length>0) {
                var outtext=tts_text.substring(tts_text.length-1,tts_text.length);
                if(outtext!=null) {
                    if(outtext==' ') {
                        outtext="";
                        tts_res_wait = false;
                        return;
                    } else if(outtext=='¤¤') {
                        outtext="±â¿ª";
                    } else if(outtext=='¤¤') {
                        outtext="´ÏÀº";
                    } else if(outtext=='¤§') {
                        outtext="µð±Ú";
                    } else if(outtext=='¤©') {
                        outtext="¸®À»";
                    } else if(outtext=='¤±') {
                        outtext="¹ÌÀ½";
                    } else if(outtext=='¤²') {
                        outtext="ºñÀ¾";
                    } else if(outtext=='¤µ') {
                        outtext="½Ã¿Ê";
                    } else if(outtext=='¤·') {
                        outtext="ÀÌÀÀ";
                    } else if(outtext=='¤¸') {
                        outtext="ÁöÀÁ";
                    } else if(outtext=='¤º') {
                        outtext="Ä¡ÀÂ";
                    } else if(outtext=='¤»') {
                        outtext="Å°ÀÃ";
                    } else if(outtext=='¤¼') {
                        outtext="Æ¼±Ú";
                    } else if(outtext=='¤½') {
                        outtext="ÇÇÀÅ";
                    } else if(outtext=='¤¾') {
                        outtext="È÷ÀÆ";
                    } else if(outtext=='¤¢') {
                        outtext="½Ö±â¿ª";
                    } else if(outtext=='¤¨') {
                        outtext="½Öµð±Ú";
                    } else if(outtext=='¤³') {
                        outtext="½ÖºñÀ¾";
                    } else if(outtext=='¤¶') {
                        outtext="½Ö½Ã¿Ê";
                    } else if(outtext=='¤¹') {
                        outtext="½ÖÁöÀÁ";
                    }
                    if(obj.tagName.toUpperCase()=="INPUT") {
                        if(obj.type.toUpperCase()=="PASSWORD") {
                            outtext="º°Ç¥";
                        }
                    }
                }
                md5_url = MD5(document.location.href);
                md5_text= MD5(outtext);
                if(tts_master==true) {
                    tts_res_wait = true;
                    if(uvoice_mode==true) {
                        if(forwardcheck()==true) {
                            if(ttsenv_opt_directpost==false) {
                                PostAjaxResponseToFunction(Domain + ttsenv_createwave, "ttstext="+utf8_encode(outtext)+"&md5_text="+md5_text+"&ttsvolume="+voice_volume+"&ttsspeed="+voice_speed, "webgen_callbackReturn", obj, callback, null, true);
                            } else {
                                webgen_playpage(md5_text,outtext,voice_speed,voice_volume);
                            }
                        }
                    }
                    tts_res_wait = false;
                } else {
                    var obj=webgen_findmaster(top);
                    if(obj!=null) {
                        obj.onDirectOut(outtext);
                    }
                }
            }
        }
    }
}

function webgen_down_lis_ff(e) {
    webgen_down_lis_main(e.target);
}

function webgen_down_lis_ie() {
    webgen_down_lis_main(window.event.srcElement);
}

function webgen_down_lis_main(obj) {
    if(tts_res_wait==false) {
        var tts_text = obj.value;
        if(tts_text){
            if(tts_text.length>0) {
                var outtext=tts_text.substring(tts_text.length-1,tts_text.length);
                if(outtext!=null) {
                    if(outtext==' ') {
                        outtext="";
                        tts_res_wait = false;
                        return;
                    } else if(outtext=='¤¤') {
                        outtext="±â¿ª";
                    } else if(outtext=='¤¤') {
                        outtext="´ÏÀº";
                    } else if(outtext=='¤§') {
                        outtext="µð±Ú";
                    } else if(outtext=='¤©') {
                        outtext="¸®À»";
                    } else if(outtext=='¤±') {
                        outtext="¹ÌÀ½";
                    } else if(outtext=='¤²') {
                        outtext="ºñÀ¾";
                    } else if(outtext=='¤µ') {
                        outtext="½Ã¿Ê";
                    } else if(outtext=='¤·') {
                        outtext="ÀÌÀÀ";
                    } else if(outtext=='¤¸') {
                        outtext="ÁöÀÁ";
                    } else if(outtext=='¤º') {
                        outtext="Ä¡ÀÂ";
                    } else if(outtext=='¤»') {
                        outtext="Å°ÀÃ";
                    } else if(outtext=='¤¼') {
                        outtext="Æ¼±Ú";
                    } else if(outtext=='¤½') {
                        outtext="ÇÇÀÅ";
                    } else if(outtext=='¤¾') {
                        outtext="È÷ÀÆ";
                    } else if(outtext=='¤¢') {
                        outtext="½Ö±â¿ª";
                    } else if(outtext=='¤¨') {
                        outtext="½Öµð±Ú";
                    } else if(outtext=='¤³') {
                        outtext="½ÖºñÀ¾";
                    } else if(outtext=='¤¶') {
                        outtext="½Ö½Ã¿Ê";
                    } else if(outtext=='¤¹') {
                        outtext="½ÖÁöÀÁ";
                    }
                    if(obj.tagName.toUpperCase()=="INPUT") {
                        if(obj.type.toUpperCase()=="PASSWORD") {
                            outtext="º°Ç¥";
                        }
                    }
                }
                md5_url = MD5(document.location.href);
                md5_text= MD5(outtext);
                if(tts_master==true) {
                    tts_res_wait = true;
                    if(uvoice_mode==true) {
                        if(forwardcheck()==true) {
                            if(ttsenv_opt_directpost==false) {
                                PostAjaxResponseToFunction(Domain + ttsenv_createwave, "ttstext="+utf8_encode(outtext)+"&md5_text="+md5_text+"&ttsvolume="+voice_volume+"&ttsspeed="+voice_speed, "webgen_callbackReturn", obj, null, null, true);
                            } else {
                                webgen_playpage(md5_text,outtext,voice_speed,voice_volume);
                            }
                        }
                    }
                    tts_res_wait = false;
                } else {
                    var obj=webgen_findmaster(top);
                    if(obj!=null) {
                        obj.onDirectOut(outtext);
                    }
                }
            }
        }
    }
}

function forwardcheck() {
    var i;
    var tg=MD5(document.location.hostname);
    if(ttsenv_allow.length==0) {
        return false;
    }
    for(i=0;i<ttsenv_allow.length;i++) {
	if(tg==ttsenv_allow[i]) {
	    return true;
        }
    }
    return false;
}

function webgen_playpage(md5,text,speed,volume) {
    var sndframe=window.frames['sndFrame2'];
    if(sndframe!=null) {
        var imd5=sndframe.document.getElementById('md5_text');
        var itext=sndframe.document.getElementById('ttstext');
        var ivol=sndframe.document.getElementById('ttsvolume');
        var ispd=sndframe.document.getElementById('ttsspeed');
        var fr=sndframe.document.getElementById('sndPage');
        imd5.value=md5;
        itext.value=utf8_encode(text);
        ivol.value=volume;
        ispd.value=speed;
        fr.submit();
    }
}

function onTTSSoundInit(body, bFrame){
    if(!bFrame){
        if(ttsenv_opt_attachevent==false) {
            InitElement(body, false);
        } else {
            webgen_InitElement_lis(body, false);
        }
        if(tts_master==true) {
            if(ttsenv_opt_directpost==true) {   /* Direct POST send -> POST ¹Þ´Â ¼ûÀº iframe Ã³¸® */
                var iframe = document.createElement("iframe");
                iframe.id="sndFrame2";
                iframe.name="sndFrame2";
                iframe.style.width ="0";
                iframe.style.height="0";
                iframe.style.borderWidth="0";
                iframe.style.margin="0";
                iframe.style.padding="0";
                iframe.title="À½¼ºÀç»ýÇÁ·¹ÀÓ";
                document.body.appendChild(iframe);
                iframe.src=ttsenv_directpost_page;
                var iframe2 = document.createElement("iframe");
                iframe2.id="infoPlayer";
                iframe2.style.width ="0";
                iframe2.style.height="0";
                iframe2.style.borderWidth="0";
                iframe2.style.margin="0";
                iframe2.style.padding="0";
                iframe2.title="À½¼ºÁ¤º¸ÇÁ·¹ÀÓ";
                document.body.appendChild(iframe2);
            } else if(navigator.appVersion.indexOf("MSIE")>=0) {
            /*
                var bgsound = document.createElement("bgsound");
                bgsound.id="sndPlayer";
                bgsound.style.width ="0";
                bgsound.style.height="0";
                bgsound.src="";
                document.body.appendChild(bgsound);
                var bgsound2 = document.createElement("bgsound");
                bgsound2.id="infoPlayer";
                bgsound2.style.width ="0";
                bgsound2.style.height="0";
                bgsound2.src="";
                document.body.appendChild(bgsound2);
            */
                var iframe = document.createElement("iframe");
                iframe.id="sndPlayer";
                iframe.style.width ="0";
                iframe.style.height="0";
                iframe.style.borderWidth="0";
                iframe.style.margin="0";
                iframe.style.padding="0";
                iframe.title="À½¼ºÀç»ýÇÁ·¹ÀÓ";
                document.body.appendChild(iframe);
                var iframe2 = document.createElement("iframe");
                iframe2.id="infoPlayer";
                iframe2.style.width ="0";
                iframe2.style.height="0";
                iframe2.style.borderWidth="0";
                iframe2.style.margin="0";
                iframe2.style.padding="0";
                iframe2.title="À½¼ºÁ¤º¸ÇÁ·¹ÀÓ";
                document.body.appendChild(iframe2);
            } else if((navigator.userAgent.indexOf("Firefox")>-1)&&(ttsenv_firefox_stdread==false)) {
                var bgsound = document.createElement("embed");
                bgsound.id="sndPlayer";
                bgsound.style.width ="0";
                bgsound.style.height="0";
                bgsound.type="audio/wav";
                bgsound.hidden="true";
                bgsound.src="";
                document.body.appendChild(bgsound);
                var bgsound2 = document.createElement("embed");
                bgsound2.id="infoPlayer";
                bgsound2.style.width ="0";
                bgsound2.style.height="0";
                bgsound2.type="audio/wav";
                bgsound2.hidden="true";
                bgsound2.src="";
                document.body.appendChild(bgsound2);
            } else {
                var iframe = document.createElement("iframe");
                iframe.id="sndPlayer";
                iframe.style.width ="0";
                iframe.style.height="0";
                iframe.style.borderWidth="0";
                iframe.style.margin="0";
                iframe.style.padding="0";
                iframe.title="À½¼ºÀç»ýÇÁ·¹ÀÓ";
                document.body.appendChild(iframe);
                var iframe2 = document.createElement("iframe");
                iframe2.id="infoPlayer";
                iframe2.style.width ="0";
                iframe2.style.height="0";
                iframe2.style.borderWidth="0";
                iframe2.style.margin="0";
                iframe2.style.padding="0";
                iframe2.title="À½¼ºÁ¤º¸ÇÁ·¹ÀÓ";
                document.body.appendChild(iframe2);
            }
            idbgsound = document.getElementById("sndPlayer");
            idinfosound = document.getElementById("infoPlayer");
            if(ttsenv_opt_multiframe) {
                webgen_frinit(this);
                //webgen_frinit(top);
            }
        }
    }else{
        if(ttsenv_opt_attachevent==false) {
            InitElement(body, true);
        } else {
            webgen_InitElement_lis(body, true);
        }
    }
}

/* ÁöÁ¤µÈ Ã¢ÀÇ ÇÁ·¹ÀÓÀ» ÀüºÎ ½ºÄµÇØ¼­ ÃÊ±âÈ­½ÃÅ²´Ù. ´ÙÁßÇÁ·¹ÀÓ Áö¿øÈ°¼ºÈ­½Ã ÀÛµ¿ */
function webgen_frinit(win) {
    var fr1=win.document.getElementsByTagName("frame");
    var fr2=win.document.getElementsByTagName("iframe");
    var i;
    if(fr1!=null) {
        if(fr1.length>0) {
            for(i=0;i<fr1.length;i++) {
                try {
                    if(fr1[i].webgen_ival==null) {
                        fr1[i].webgen_ival=false;
                    }
                    if(fr1[i].webgen_ival==false) {
                        fr1[i].webgen_ival=true;
                        if(fr1[i].addEventListener) { // FF, Chrome, Opera ...
                            fr1[i].addEventListener('load',webgen_frinit_ff,true);
                            webgen_frinit_s(fr1[i].contentWindow);
                        } else {    // IE
                            fr1[i].attachEvent('onload',webgen_frinit_ie);
                            webgen_frinit_s(fr1[i].contentWindow);
                        }
                    }
                } catch(e) {
                }
            }
        }
    }
    if(fr2!=null) {
        if(fr2.length>0) {
            for(i=0;i<fr2.length;i++) {
                try {
                    if(fr2[i].webgen_ival==null) {
                        fr2[i].webgen_ival=false;
                    }
                    if(fr2[i].webgen_ival==false) {
                        fr2[i].webgen_ival=true;
                        if(fr2[i].addEventListener) { // FF, Chrome, Opera ...
                            fr2[i].addEventListener('load',webgen_frinit_ff,true);
                            webgen_frinit_s(fr2[i].contentWindow);
                        } else {    // IE
                            fr2[i].attachEvent('onload',webgen_frinit_ie);
                            webgen_frinit_s(fr2[i].contentWindow);
                        }
                    }
                } catch(e) {
                }
            }
        }
    }
}

/* Å¸ ÇÁ·¹ÀÓ¿¡µµ ¿µÇâÀ» ¹ÌÄ¡±â À§ÇØ¼­ Ãß°¡ÇØ¾ß µÉ ºÎºÐ. frm = window °´Ã¼ (DOM³» iframe °´Ã¼ ¾Æ´Ô) */
function webgen_frinit_s(frm) {
    if(frm==null) {
        return;
    }
    if(frm.tts_present!=null) {
        if(frm.tts_present==true) {
            return;
        }
    }
    var doc=frm.document.createElement("script");
    doc.setAttribute("language","javascript");
    doc.setAttribute("type","text/javascript");
    doc.setAttribute("src",ttsenv_script_source);
    frm.document.body.appendChild(doc);
}

function webgen_frinit_ff(e) {
    try {
        if(e.target.contentWindow!=this) {
            webgen_setface_run(e.target.contentWindow.document.body);
            webgen_frinit_s(e.target.contentWindow);
        }
    } catch(e) {}
}

function webgen_frinit_ie() {
    try {
        if(window.event.srcElement.contentWindow!=this) {
            webgen_setface_run(window.event.srcElement.contentWindow.document.body);
            webgen_frinit_s(window.event.srcElement.contentWindow);
        }
    } catch(e) {}
}

function webgen_onload_ff(e) {
    if(ttsenv_opt_automaster==true) {
        var obj=document.getElementById('voice_start');
        tts_master=false;
        if(obj!=null) {
            tts_master=true;
        }
    }
    f_setInit();
    f_setVoice();
}

function webgen_onload_ie() {
    if(ttsenv_opt_automaster==true) {
        var obj=document.getElementById('voice_start');
        tts_master=false;
        if(obj!=null) {
            tts_master=true;
        }
    }
    f_setInit();
    f_setVoice();
}

if(ttsenv_auto_onload==true) {
    if(this.addEventListener) {
        this.addEventListener("load",webgen_onload_ff,false/*,0,true*/);
    } else {
        this.attachEvent("onload",webgen_onload_ie);
    }
}

/* ActiveX Control Code */
/*----------------------------------------------------------------------------*/
/*-·¹Áö½ºÆ®¸®¿¡ activeX°¡ ¼³Ä¡µÇÀÖ´ÂÁö °Ë»ç--*/
/*----------------------------------------------------------------------------*/
function DetectActiveXControl()
{
    if(navigator!=null) {
        if(navigator.appName != "Microsoft Internet Explorer") {    /* IE */
            return false;
        }
    }
    try {
	var xObj = new ActiveXObject("HCIGENNAVI.HCIGenNaviCtrl.1");
	if(xObj) {
	    Installed = true;
        } else {
	    Installed = false;
        }
    } catch(ex) {
	Installed = false;
    }
    if(Installed == true) {
	return true;
    }
    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 ¹öÆ° Å¬¸¯½Ã
{
    sRes = IsAvailable();
    if(sRes) {
	try {
	    CoreWebGen.SetSpeed(lSpeed, 0);
	} catch(e) {}
    }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSetVolume()                                                       */
/* DESC : À½¼º º¼·ý ¼³Á¤ ÇÔ¼ö                                                 */
/*----------------------------------------------------------------------------*/
function OnSetVolume(lVolume) //Volume ¹öÆ° Å¬¸¯½Ã
{
    sRes = IsAvailable();
    if(sRes) {
	try {
	    CoreWebGen.SetVolume(lVolume, 0);
	} catch(e) {}
    }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSendText()                                                        */
/* DESC : À½¼ºÀ¸·Î º¯È¯ÇÏ´Â ÇÔ¼ö                                              */
/*----------------------------------------------------------------------------*/
function OnSendText(bText) // bText:º¸³¾ ÅØ½ºÆ®
{
    sRes = IsAvailable();
    if(sRes && bText.length > 0) {
	try {
	    CoreWebGen.SendSentence(bText);
	} catch(e) {}
    }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSetZoom()                                                         */
/* DESC : ÁÜ °ü·Ã ¼³Á¤ÇÔ¼ö                                                    */
/*----------------------------------------------------------------------------*/
function OnSetZoom(rate)    // rate : È®´ëÃà¼ÒºñÀ²
{
    sRes = IsAvailable();
    if(sRes) {
        var obj = document.getElementById('CoreWebGen');
        obj.SetZoom(rate);
    }
    return sRes;
}


/*----------------------------------------------------------------------------*/
/* NAME : OnStart()                                                           */
/* DESC : À½¼º½ÃÀÛÇÔ¼ö                                                        */
/*----------------------------------------------------------------------------*/
function OnStart()//À½¼º¼³Á¤ ½ÃÀÛ½Ã
{
    var sRes;

    sRes = IsAvailable();
    if(sRes) {
	try {
	    sRes = CoreWebGen.CoreXStart();
	} catch(e) {}
    }
    return sRes;
}

/*----------------------------------------------------------------------------*/
/* NAME : OnStop()                                                            */
/* DESC : À½¼ºÁßÁöÇÔ¼ö                                                        */
/*----------------------------------------------------------------------------*/
function OnStop()
{
    sRes = IsAvailable();
    if(sRes) {
	try {
	    CoreWebGen.CoreXStop();
	    startFlag = false;
	} catch(e) {}
    }
}

/*----------------------------------------------------------------------------*/
/* NAME : OnSetZoom()                                                         */
/* DESC : È®´ëÃà¼Ò½Ã ÅØ½ºÆ® ÀÎ½ÄÈ­¸éµµ ¿¬°èµÇµµ·Ï ÇÏ´Â ÇÔ¼ö                   */
/*----------------------------------------------------------------------------*/
function OnSetZoom(rate)    // rate : È®´ëÃà¼ÒºñÀ²
{
    sRes = IsAvailable();
    if(sRes) {
        var obj = document.getElementById('CoreWebGen');
        obj.SetZoom(rate);
    }
    return sRes;
}

/* Áßº¹ include¿¡ µû¸¥ Áßº¹¼±¾ð ¹æÁö ÄÚµå */
/*
var tts_nested=0;

if(DetectActiveXControl()==true) {
    if(navigator!=null) {
        if(navigator.appName == "Microsoft Internet Explorer") {
            if(tts_nested == 0) {
                tts_nested=1;
                document.write("<OBJECT ID='CoreWebGen' CLASSID='CLSID:ED09EF25-4CCC-415D-872B-7A1AC00D9688' CODEBASE='/eswebgen/HCIGenNavi.cab#version=1,0,0,43' width='0' height='0' tabindex='-1' title='À½¼º¼­ºñ½º' style='display:none;'>");
                document.write("<PARAM NAME='HotkeyFile' value='shortcut.sdd'>");
                document.write("<PARAM NAME='TTSServer' value='B1A5BCF4A9BCAEF4A0BDA6EEBBB2A9B9B6BA'>");
                document.write("<PARAM NAME='FRAME_MODE' value='0'>");
                document.write("<PARAM NAME='DomainCount' value='3'>");
                document.write("<PARAM NAME='DomainAddress1' value='F1F1EEF4FCE7B1B1E7'>");
                document.write("<PARAM NAME='DomainAddress2' value='B1A5BCF4A9BCAEF4A0BDA6EEBB'>");
                document.write("<PARAM NAME='DomainAddress3' value='B2A5A1E9ABA6A9F4A4BEBF'>");
                document.write("<PARAM NAME='DomainAddress4' value=''>");
                document.write("<PARAM NAME='DomainAddress5' value=''>");
                document.write("</OBJECT>");
            }
        }
    }
}
*/

var ttsState = 0;
var IsCoreExist = 0;
IsCoreExist = document.getElementById('CoreWebGen');

