///////////////////////////////////////////////////////////////////////
//
//   This program is free software; you can redistribute it and/or
//   modify it under the terms of the GNU General Public License (GPL)
//   as published by the Free Software Foundation; either version
//   2 of the License, or (at your option) any later version.
//
//   This program is distributed in the hope that it will be
//   useful, but WITHOUT ANY WARRANTY; without even the implied
//   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
//   PURPOSE. See the GNU General Public License for more details.
//
//   You can read the terms of GPL at http://www.gnu.org/copyleft/gpl.html
//   if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
//   Cambridge, MA 02139, USA.
//
//   NOTES
//
//   - IE 5.00.29 does not understand non-grouping regular expressions: '?:'
//
///////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////
//
//  Generic Window class
//
///////////////////////////////////////////////////////////////////////

function LibWin(strName, strTitle, strAttrib, msg)
{
    this.lib        = "LibWin.";
    var id          = this.lib + "constructor";

    this.win        = null;
    this.name       = strName  ? strName  : "window";
    this.title      = strTitle ? strTitle : "window";
    this.mime       = "text/html";
    this.msg        = msg;

    this.attrib = strAttrib
        ? strAttrib
        : "width=500,height=400,resizable,status";
}

LibWin.prototype.Window = function()
{
    var id = this.lib + "Window";

    if ( (this.win == null) || this.win.closed )
    {
        if ( this.msg != null )
        {
            status = this.msg;
        }

        this.win = window.open("", this.name, this.attrib);
        this.win.document.open( this.mime );

        if ( ! this.opener )
        {
            //  This browser version does not support Javascript 1.2
            //  and `opener' property, so add it

            this.opener = self;
        }

        if ( this.msg != null )
        {
            status = '';
        }

    }

    return this.win;
}

LibWin.prototype.WriteMsg = function(strMsg)
{
    var id = this.lib + "WriteMsg";

    var win = this.Window();
    win.document.write( strMsg );
    win.document.close();
}

///////////////////////////////////////////////////////////////////////
//
//  Utility functions
//
///////////////////////////////////////////////////////////////////////

function FillZeroes(str, max)
{
    var ret = '';

    for ( var i = str.length; i < max; i++ )
    {
        ret += '0';
    }

    return ret + str;
}

function Is(val)
{
    if (  (val == null)  || (val == '' ) )
    {
        return null;
    }
    else
    {
        return val;
    }
}

function MySleep(count, msg)
{
    if ( msg )
    {
        msg += ' / ';
    }
    else
    {
        msg = '';
    }

    for (var i = 0; i < count; i++)
    {
        i++;
        var x = Math.sqrt(100 / 2);        //  Doing something
        window.status = msg + i;
    }
}

function GetVerse()
{
    return LAST_VERSE;
}

function IsVerse( re )
{
    reg = new RegExp( re );

    if ( Is(LAST_VERSE)  &&  (reg.exec(LAST_VERSE) != null) )
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

function StringReplace(str, replace, start, len)
{
    //  STR     = input string, like "abc12cde"
    //  REPLACE = Added string, like "--"
    //  START   = Replace position start, say 3
    //  LEN     = How much to replace, say 2
    //
    //  StringReplace( "abc12cde", "--", 3, 2)  => "abc--cde"

    var ret = str;

    if ( (start != null)  &&  (start > -1) )
    {
        if ( start > str.length )
        {
            ret = ret + replace;        // Add to the end
        }
        else
        {
            var left = str.substring( 0, start);
            var pos  = start + len;

            if ( pos > str.length )
            {
                ret = left + replace;
            }
            else
            {
                var right = str.substring( pos, str.length);
                ret = left + replace + right;
            }
        }
    }

    return ret;
}

function MyPrint()
{
    window.print();
    // parent.frames[1].focus();
    // parent.frames[1].print();
}

///////////////////////////////////////////////////////////////////////
//
//  Array regexp data types
//
//  'Some regexp here{extra message}!modifier'
//
///////////////////////////////////////////////////////////////////////

function StrRegexpMatcher(str)
{
    //  any character before !  or {

    var result;

    if ( result = str.match( /(.*)\{/ )  )
    {
        str = result[1];
    }
    else if ( result = str.match( /(.*)\!/ )  )
    {
        str = result[1];
    }

    return str;
}

function StrRegexpExtraString(str)
{
    //  anything inside { ... }

    var ret    = null;
    var result = str.match( /(\{[^}!]+\})/ );

    if ( result != null )
    {
        ret = result[1];
    }

    return ret;
}

function StrRegexpModifier(str)
{
    //  The string "g" or "gi" after !

    var pos      = str.indexOf('!');
    var modifier = '';

    if ( pos != -1 )
    {
        modifier = str.slice(pos + 1, str.length);
    }

    return modifier;
 }

///////////////////////////////////////////////////////////////////////
//
//  Book, Chapter, Verse parsing
//
///////////////////////////////////////////////////////////////////////

function BibleVerseParseBookVerse(str)
{
    var ret    = null;
    var result = str.match( /[12]*[A-Z][^ ]+\s+\d+:(\d+)/ );

    if ( result != null )
    {
        ret = result[1];
    }

    return ret;
}

function BibleVerseParseBookChapter(str)
{
    var ret    = null;
    var result = str.match( /^[12]*[A-Z][^ ]+\s+(\d+):/ );

    if ( result != null )
    {
        ret = result[1];
    }

    return ret;
}

function BibleVerseParseBookName(str)
{
    var ret    = null;
    var result = str.match( /^[12]*[A-Z][^ .]+/ );

    if ( result != null )
    {
        ret = result[0];
    }

    return ret;
}

///////////////////////////////////////////////////////////////////////
//
//  Blue Letter Bible interface: Original Greek text
//
///////////////////////////////////////////////////////////////////////

var bibleBlue_fi_en = new Array();

bibleBlue_fi_en['1Moos'] = 'Gen';
bibleBlue_fi_en['2Moos'] = 'Exd';
bibleBlue_fi_en['3Moos'] = 'Lev';
bibleBlue_fi_en['4Moos'] = 'Num';
bibleBlue_fi_en['5Moos'] = 'Deu';
bibleBlue_fi_en['Joosua'] = 'Jos';
bibleBlue_fi_en['Tuom'] = 'Jdg';
bibleBlue_fi_en['Ruut'] = 'Rth';
bibleBlue_fi_en['1Sam'] = '1Sa';
bibleBlue_fi_en['2Sam'] = '2Sa';
bibleBlue_fi_en['1Kun'] = '1Ki';
bibleBlue_fi_en['2Kun'] = '2Ki';
bibleBlue_fi_en['1Aik'] = '1Ch';
bibleBlue_fi_en['2Aik'] = '2Ch';
bibleBlue_fi_en['Esra'] = 'Ezr';
bibleBlue_fi_en['Neh'] = 'Neh';
bibleBlue_fi_en['Ester'] = 'Est';
bibleBlue_fi_en['Job'] = 'Job';
bibleBlue_fi_en['Ps'] = 'Psa';
bibleBlue_fi_en['Snl'] = 'Pro';
bibleBlue_fi_en['Srn'] = 'Ecc';
bibleBlue_fi_en['Kv'] = 'Sgs';
bibleBlue_fi_en['Jes'] = 'Isa';
bibleBlue_fi_en['Jer'] = 'Jer';
bibleBlue_fi_en['Val'] = 'Lam';
bibleBlue_fi_en['Hes'] = 'Eze';
bibleBlue_fi_en['Dan'] = 'Dan';
bibleBlue_fi_en['Hoos'] = 'Hsa';
bibleBlue_fi_en['Joel'] = 'Joe';
bibleBlue_fi_en['Aam'] = 'Amo';
bibleBlue_fi_en['Obad'] = 'Oba';
bibleBlue_fi_en['Joona'] = 'Jon';
bibleBlue_fi_en['Miika'] = 'Mic';
bibleBlue_fi_en['Naah'] = 'Nah';
bibleBlue_fi_en['Hab'] = 'Hab';
bibleBlue_fi_en['Sef'] = 'Zep';
bibleBlue_fi_en['Hag'] = 'Hag';
bibleBlue_fi_en['Sak'] = 'Zec';
bibleBlue_fi_en['Mal'] = 'Mal';
bibleBlue_fi_en['Matt'] = 'Mat';
bibleBlue_fi_en['Mark'] = 'Mar';
bibleBlue_fi_en['Luuk'] = 'Luk';
bibleBlue_fi_en['Joh'] = 'Jhn';
bibleBlue_fi_en['Apt'] = 'Act';
bibleBlue_fi_en['Room'] = 'Rom';
bibleBlue_fi_en['1Kor'] = '1Cr';
bibleBlue_fi_en['2Kor'] = '2Cr';
bibleBlue_fi_en['Gal'] = 'Gal';
bibleBlue_fi_en['Ef'] = 'Eph';
bibleBlue_fi_en['Fil'] = 'Phl';
bibleBlue_fi_en['Kol'] = 'Col';
bibleBlue_fi_en['1Tess'] = '1Th';
bibleBlue_fi_en['2Tess'] = '2Th';
bibleBlue_fi_en['1Tim'] = '1Ti';
bibleBlue_fi_en['2Tim'] = '2Ti';
bibleBlue_fi_en['Tiit'] = 'Tts';
bibleBlue_fi_en['Filemon'] = 'Phm';
bibleBlue_fi_en['Hepr'] = 'Hbr';
bibleBlue_fi_en['Jaak'] = 'Jam';
bibleBlue_fi_en['1Piet'] = '1Pe';
bibleBlue_fi_en['2Piet'] = '2Pe';
bibleBlue_fi_en['1Joh'] = '1Jo';
bibleBlue_fi_en['2Joh'] = '2Jo';
bibleBlue_fi_en['3Joh'] = '3Jo';
bibleBlue_fi_en['Juud'] = 'Jud';
bibleBlue_fi_en['Ilm'] = 'Rev';

function BibleBookTranslateFI_EN(book)
{
    var ret = null;
    var en = bibleBlue_fi_en[ book ];

    if ( en == null )
    {
        window.status = "Error: FI_EN " + book;
    }
    else
    {
        ret = en;
    }

    return en;
}

function UrlBlueFillZeroes(str)
{
     return FillZeroes(str, 3);
}

function UrlBlueHtmlPagePrimitive(book, chap, verse)
{
    var page    = book + UrlBlueFillZeroes( chap) + '.html';
    var section = '#' + verse;
    var ret     = page + section;

    return ret;
}

function UrlBlueHtmlPageKjv(book, chapter, verse)
{
    var url  = "http://www.blueletterbible.com/kjv/";
    var page = UrlBlueHtmlPagePrimitive(book, chapter, verse);
    var ret  = null;

    if ( Is(page) )
    {
        // Gen/Gen001.html#20
        ret = url + book + '/' + page;
    }

    return url;
}

function UrlBlueHtmlPageGreek(book, chapter, verse)
{
    // book=1Cr&chapter=6&verse=19&version=kjv
    var url = "http://www.blueletterbible.org/cgi-bin/c.pl";

    var ret = url
            + '?book='      + book
            + '&chapter='   + chapter
            + '&verse='     + verse
            + '&version=kjv'
            ;

    return ret;
}

function UrlBlueHtmlPageMain(str, type)
{
    //  TYPE = greek

    var ret     = null;

    if ( str == null )
    {
        return ret;
    }

    var book    = BibleVerseParseBookName(str);
    var chapter = BibleVerseParseBookChapter(str);
    var verse   = BibleVerseParseBookVerse(str);

    if ( (book != null)  &&  (chapter != null)  &&  (verse != null) )
    {
        var book  = BibleBookTranslateFI_EN(book);

        if ( Is(book) )
        {
            if ( (type != null)  &&  (type == 'greek') )
            {
                ret = UrlBlueHtmlPageGreek(book, chapter, verse);
            }
            else
            {
                ret = UrlBlueHtmlPageKjv(book, chapter, verse);
            }
        }
    }

    return ret;
}

function UrlBlueWindowOpenGreek(ref)
{
    // REF = Bible verse in Finnish

    var url  = UrlBlueHtmlPageMain(ref, 'greek');

    if ( Is(url) )
    {
        window.open( url, "blueletter" );
    }
}

function UrlBlueWindowOpenKjv(ref)
{
    var url  = UrlBlueHtmlPageMain(ref, 'kjv');

    if ( Is(url) )
    {
        window.open( url, "blueletter" );
    }
}

///////////////////////////////////////////////////////////////////////
//
//  Blue Letter Bible interface: Strong's words
//
///////////////////////////////////////////////////////////////////////

function UrlStrongHtmlPage(num)
{
    //  Blue Letter Bible - Strong's word search service

    var url = '';

    if ( Is(num) )
    {
        url  = 'http://www.blueletterbible.org/cgi-bin/strongs.pl';

        var lang = 'G';
        var stat = num.search( /^0\d/ );

        //  Strong numbers that start with 0 are Hebrew
        if (  stat != null  &&   stat > -1 )
        {
            lang = 'H';
        }

        url += '?language=' + lang + '&strongs=' + num;
    }

    return url;
}

function UrlStrongHref(msg)
{
    var ret     = msg;
    var re      = /&lt;\[(\d+)\]/g;
    var reLen   = "&lt;[]".length;
    var str     = '';
    var loop    = 0;
    var result  = '';

    while ( (result = re.exec(msg)) != null )
    {
        var num     = result[1];
        var href    = '<A HREF="javascript:opener.UrlStrongWindowOpen(\''
                    + num
                    + '\');">';

        //  Note: Opera 7, does not support IE 5.5 RegExp.leftContext
        //  or RegExp.rightContext

        var left    = msg.substring(0, result.index);

        str += left        //  RegExp.leftContext
            + '&lt;['
            + href
            + num
            + '</A>'
            + ']'
            ;

        //  Search only the rightmost string
        //  "msg  = RegExp.rightContext" does not work in all
        //  browsers.

        var len   = reLen + num.length + result.index;
        var right = msg.substring(len);

        // Force searching rest of the string again
        // reset the search index in regexp object.

        re.lastIndex = 0;
        msg          = right;
        loop         = 1;
    }

    if ( loop  &&  (right != null) )
    {
        ret = str + right;
    }

    return ret;
}

function UrlStrongWindowOpen(num)
{
    var url     = UrlStrongHtmlPage(num);

    if ( Is(url) )
    {
        //  This will not open new window if there is already
        //  window identified by "strong"

        window.open( url, "strong" );
    }
}

///////////////////////////////////////////////////////////////////////
//
//  Text: highlighting and marking bible verses
//
///////////////////////////////////////////////////////////////////////

// .................................................................
// Greek

function HighlightGreekMarkings(msg)
{
    var style, end, re;

    // 1Sam. 19:20. And Saul <[07586] Sha'uwl> sent

    style = '<SPAN STYLE="color:teal;">';
    end   = '</SPAN>';
    re    = /(&lt;\[(\d*)([^;]+)&gt;)/g;
    msg   = msg.replace( re, style + '$1' + end );

    return msg;
}

function HighlightGreekWords(msg)
{
    var style, end, re;

    //  Definitive article

    style = '<SPAN STYLE="color:blue;font-style:italic;">';
    end   = '</SPAN>';
    re    = /\b(ho|ton)\b/g;
    msg   = msg.replace( re, style + '$1' + end );

    return msg;
}

function HighlightGreekPrepositions(msg)
{
    var style, end, re;

    // In Finnish: kreikan prepositiot
    // en   = -ssa, sisalla jossakin
    // ek   = -sta, pois jostakin
    // eis  = -een, -aan, -iin, johonkin (esim. haneen)
    // hypo = -lta

    style = '<SPAN STYLE="text-decoration:underline;">';
    end   = '</SPAN>';
    re    = /\b(en|ek|eis|dia|hutos|hupo|huper|para|kata)([& ])/g;
    msg   = msg.replace( re, style + ' $1' + end + '$2');

    return msg;
}

function HighlightGreekPrepositionsFinnish(msg)
{
    var style, end, re;

    style = '<SPAN STYLE="text-decoration:underline;">';
    end   = '</SPAN>';
    re = /\B(lla|ll&auml;|lta|l&auml;|lle|ssa|ss&auml;|sta|st&auml;aan|een|iin|oon)( +&[^ ]+ +(en|eks?|eis|dia|hutos|para|kata|hupo)\b)/g;
    msg   = msg.replace( re, style + '$1' + end + '$2');

    return msg;
}

function HighlightGreekPrepositionsEnglish(msg)
{
    var style, end, re;

    style = '<SPAN STYLE="text-decoration:underline;">';
    end   = '</SPAN>';
    re    = /\b(in|from|by|under|above|below|whereby|at)\b/g;
    msg   = msg.replace( re, style + ' $1' + end );

    return msg;
}

function highlightBlueEnglish(msg)
{
    var style, end, re;

    style = '<SPAN STYLE="font-family=Arial;font-style:italic;font-size:1.1em;color:red;font-weight:bold;">';
    end   = '</SPAN>';
    re = /\b(punish[^ ]*|torment|kolazo|kolasis|glory|glorious|doxa|spirit|pneuma|ruwach|salvation|soteria[^& ]*|[lL]ord|kyri[^& ]+|kurio[^& ]*|worship|proskyn[^& ]+|latreuo|magnif[^ ]+|megalun[^& ]+|power|dunamis|Y.hovah|LORD|redeem[^ ]*|lutro[^ ]+|proseuchomai|marturia|witness)\b/g;
    msg = msg.replace( re, style + '$1' + end );


    style = '<SPAN STYLE="font-size:1.0em;color:navy;font-weight:bold;">';
    end   = '</SPAN>';
    re    = /\b(grace|charis|euaggeli[^ ]+|gospel|onoma|name)\b/g;
    msg   = msg.replace( re, style + '$1' + end );

    return msg;
}

function HighlightGreekBlue(msg)
{
    msg = highlightBlueEnglish(msg);
    msg = HighlightGreekMarkings(msg);
    msg = HighlightGreekPrepositions(msg);
    msg = HighlightGreekPrepositionsEnglish(msg);

    //  Add STRONG links

    msg = UrlStrongHref(msg);

    return msg;
}

function HighlightGreekNovum(msg)
{
    msg = HighlightGreekPrepositionsFinnish(msg);
    msg = HighlightGreekWords(msg);
    msg = HighlightGreekMarkings(msg);
    msg = HighlightGreekPrepositions(msg);

    return msg;
}

function HighlightGreekKit(msg)
{
    msg = HighlightGreekPrepositionsEnglish(msg);
    msg = HighlightGreekWords(msg);

    return msg;
}

// .................................................................
//  UM

var UMwordAdded = new Array();

//UMwordAdded['']       = '';
UMwordAdded['Matt. 5:19']       = '(n&auml;hden)!g';
UMwordAdded['Matt. 10:32']      = '(yhteyden)!g';
UMwordAdded['Matt. 11:25']      = '(julkisesti)';
UMwordAdded['Mark. 1:4']        = '(vertauskuvaksi)';
UMwordAdded['Luuk. 1:3']        = '(johdonmukaisessa)';
UMwordAdded['Luuk. 1:37']       = '(julistus)';
UMwordAdded['Luuk. 1:80']       = '(julkisesti)';
UMwordAdded['Luuk. 10:21']      = '(julkisesti)';
UMwordAdded['Luuk. 24:47']      = '(perusteella)';
UMwordAdded['Joh. 3:21']        = '(sopusoin[^ ]+)';
UMwordAdded['Joh. 4:22']        = '(l&auml;ht&ouml;isin)';
UMwordAdded['Joh. 8:42']        = '(luota|omasta aloitteestani)!g';
UMwordAdded['Joh. 10:38']       = '(yhteyd[^,. ]+)!g';
UMwordAdded['Joh. 17:3']        = '(hankkivat)';
UMwordAdded['Joh. 17:11']       = '(takia)';
UMwordAdded['Joh. 17:12']       = '(takia)';
UMwordAdded['Joh. 20:31']       = '(avulla)';
UMwordAdded['Apt. 2:22']        = '(julkisesti|v&auml;lit[^ ]+)!g';
UMwordAdded['Apt. 3:12']        = '(jumal.*antaum[^,. ]+)';
UMwordAdded['Apt. 4:12']        = '(ihmisten +keskuudessa)';
UMwordAdded['Apt. 5:28']        = '(perusteella)';
UMwordAdded['Apt. 10:36']       = '\\b(muu[^ ]*|mui[^ ]+|v&auml;l[^ ]+)!g';
UMwordAdded['Apt. 13:2']        = '(julkisesti)';
UMwordAdded['Apt. 13:24']       = '(julkisesti)';
UMwordAdded['Apt. 17:23']       = '(huolellisesti|jumal.*antaum[^,. ]+)!g';
UMwordAdded['Apt. 18:25']       = '(suullisesti|koskevia asioita)!g';
UMwordAdded['Apt. 20:20']       = '(julkisesti)';
UMwordAdded['Apt. 23:8']        = '(julkisesti)';
UMwordAdded['Apt. 20:24']       = '(perusteellisen)';
UMwordAdded['Room. 1:28']       = '\\b(t&uml;sm[^,. ]+)';
UMwordAdded['Room. 3:20']       = '\\b(t&uml;sm[^,. ]+)';
UMwordAdded['Luuk. 3:22']       = '(v&auml;lityksell[^,. ]+){?}';
UMwordAdded['Room. 8:8']        = '(sopusoin[^ ]+)';
UMwordAdded['Room. 8:9']        = '(sopusoin[^ ]+|todella)!g';
UMwordAdded['Room. 8:11']       = '(yhteyd[^,. ]+)!g';
UMwordAdded['Room. 8:12']       = '(yhteyd[^,. ]+)!g';
UMwordAdded['Room. 8:32']       = '(huomaavaisesti|muuta)!g';
UMwordAdded['Room. 12:15']      = '(yhteyd[^,. ]+)!g';
UMwordAdded['Room. 10:9']       = '(julkisesti)';
UMwordAdded['Room. 15:27']      = '(julkisesti)';
UMwordAdded['1. Kor. 1:2']      = '(yhteyd[^,. ]+)!g';
UMwordAdded['1. Kor. 1:30']     = '(yhteyd[^,. ]+|vap.*perusteella|ansiostaan)!g';
UMwordAdded['1. Kor. 14:14']    = '(lahj[ao][^,. ]*)!g';
UMwordAdded['1. Kor. 14:15']    = '(lahj[ao][^,. ]*)!g';
UMwordAdded['1. Kor. 14:16']    = '(lahj[ao][^,. ]*)!g';
UMwordAdded['2. Kor. 4:6']      = '(v&auml;lityksell[^,. ]+)';
UMwordAdded['2. Kor. 5:19']     = '(v&auml;lityksell[^,. ]+)';
UMwordAdded['2. Kor. 9:13']     = '(julkisesti|koskevalle|antamassanne +avustuksessa)!g';
// UMwordAdded['2. Kor. 11:2']     = '(siveellisesti)';
UMwordAdded['Gal. 2:16']        = '(kohdistuv[^ ]+)';
UMwordAdded['Gal. 5:4']         = '(h&auml;nen)';
UMwordAdded['Ef. 1:6']          = '(v&auml;lityksell[^,. ]+)';
UMwordAdded['Ef. 1:10']         = '(hallinto|rajalla)!g';
UMwordAdded['Ef. 1:12']         = '(palvelisimme)';
UMwordAdded['Ef. 1:17']         = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Ef. 2:3']          = '(sopusoin[^ ]+)';
UMwordAdded['Ef. 2:21']         = '(sopusoin[^ ]+|yhteyde[^ ]+)';
UMwordAdded['Ef. 3:12']         = '(jonka.*vapaasti|kohdistuv[^ ]+)';
UMwordAdded['Ef. 4:13']         = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Ef. 4:16']         = '(sopusoin[^ ]+)';
UMwordAdded['Fil. 1:9']         = '(t&auml;sm&auml;l[^,. ]+|jatkuvasti)!g';
UMwordAdded['Fil. 1:20']        = '(sopusoin[^ ]+|avulla)!g';
UMwordAdded['Fil. 1:29']        = '(etu)';
UMwordAdded['Fil. 2:9']         = '\\b(mu[ui][^,. ]*|huomaavai[^ ]+)!g';
UMwordAdded['Kol. 1:6']         = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Kol. 1:9']         = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Kol. 1:10']        = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Kol. 1:15']        = '\\b(muu[^,. ]*)!g';
UMwordAdded['Kol. 1:16']        = '\\b(muu)!g';
UMwordAdded['Kol. 1:17']        = '\\b(mu[iu][^,. ]*|v&auml;lityk[^,. ]+)!g';
UMwordAdded['Kol. 2:2']         = '(t&auml;sm&auml;l[^,. ]+|sopusoin[^ ]+|sopusoin[^ ]+|silm[^ ]+)!g';
UMwordAdded['Kol. 2:3']         = '(huolellisesti)';
UMwordAdded['Kol. 2:9']         = '(ominai[^ ]+)';
UMwordAdded['Kol. 2:10']        = '(v&auml;lityk[^,. ]+)';
UMwordAdded['Kol. 2:12']        = '(yhteyd[^,. ]+|kohdistuv[^ ]+)';
UMwordAdded['Kol. 2:19']        = '(sopusoin[^ ]+)';
UMwordAdded['Kol. 3:10']        = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Gal. 6:18']        = '(ilmaisemanne)';
UMwordAdded['2. Tess. 2:4']     = '(julkisesti)';
UMwordAdded['1. Tim. 2:2']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 2:4']      = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['1. Tim. 3:16']     = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 4:3']      = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['1. Tim. 4:7']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 4:8']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 4:13']     = '(Kiinnit.*huomiota.*julkise[^ ]+)';
UMwordAdded['1. Tim. 4:16']     = '(alitajuisesti)';
UMwordAdded['1. Tim. 5:4']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 5:24']     = '(julkisesti)';
UMwordAdded['1. Tim. 5:25']     = '(julkisesti)';
UMwordAdded['1. Tim. 6:3']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 6:5']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 6:6']      = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 6:11']     = '(antaum[^,. ]+)';
UMwordAdded['1. Tim. 6:15']     = '(hallitsevien)';
UMwordAdded['2. Tim. 2:1']      = '(yhteyd[^,. ]+)';
UMwordAdded['2. Tim. 2:10']     = '(yhteyd[^,. ]+|ohella)!g';
UMwordAdded['2. Tim. 2:25']     = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['2. Tim. 3:5']      = '(antaum[^,. ]+|n&auml;hden)!g';
UMwordAdded['2. Tim. 3:7']      = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['2. Tim. 3:12']     = '(antaum[^,. ]+|yhteyde[^,. ]+)!g';
UMwordAdded['Tiit. 1:1']        = '(t&auml;sm&auml;l[^,. ]+|antaumuksen)!g';
UMwordAdded['Tiit. 1:16']       = '(julistavat +julkisesti)';
UMwordAdded['Tiit. 2:12']       = '(antaum.*osoittaen)';
UMwordAdded['Hepr. 10:32']      = '(jatkuvasti)';
UMwordAdded['Hepr. 11:13']      = '(julkisesti)';
UMwordAdded['Hepr. 10:26']      = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['Hepr. 12:28']      = '(jatkuvasti)';
UMwordAdded['1. Piet. 4:19']    = '(sopusoin[^ ]+)';
UMwordAdded['2. Piet. 1:2']     = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['2. Piet. 1:3']     = '(t&auml;sm&auml;l[^,. ]+|auliisti|antaumusta)!g';
UMwordAdded['2. Piet. 1:8']     = '(t&auml;sm&auml;l[^,. ]+|suhteen)!g';
UMwordAdded['2. Piet. 1:6']     = '(antaum[^,. ]+)';
UMwordAdded['2. Piet. 1:7']     = '(antaum[^,. ]+)';
UMwordAdded['2. Piet. 2:9']     = '(antaum[^,. ]+)';
UMwordAdded['2. Piet. 2:20']    = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['2. Piet. 2:21']    = '(t&auml;sm&auml;l[^,. ]+)';
UMwordAdded['2. Piet. 3:11']    = '(antaum[^,. ]+ +teoissa)';
UMwordAdded['1. Joh. 4:4']      = '(yhteyde[^,. ]+)';
UMwordAdded['1. Joh. 3:24']     = '(yhteyde[^,. ]+)!g';
UMwordAdded['Ilm. 1:4']         = '(piirikunnassa)';


var UMwordDeleted = new Array();
UMwordDeleted['Mark. 9:41']     = '(perusteella){&lt;=muutos/puuttuu:minun nimess&auml;ni}';
UMwordDeleted['Room. 8:1']      = '(t&auml;hden){puuuttu:nyt}';
UMwordDeleted['Room. 15:20']    = '(Kristus){puuuttu:nimi}';
UMwordDeleted['2. Kor. 5:18']   = '(meid&auml;t){puuttuu:itsens&auml;}';
UMwordDeleted['2. Kor. 5:19']   = '(kanssaan){puuttuu:itsens&auml;}';
UMwordDeleted['Hepr. 10:34']    = '(on){puuttuu:taivaissa}';


var UMwordModified = new Array();
UMwordModified['1. Moos. 1:2']  = '(vaikut[^ ]+ +voima){&lt;=muutos:Henki}';
UMwordModified['1. Moos. 1:30'] = '(sieleuna){&lt;=muutos:henki}';
UMwordModified['1. Aik. 12:18'] = '(verhosi){&lt;=tarkemmin:vaatettaa,pukeutua,t&auml;ytt&auml;&auml;}';
UMwordModified['Matt. 2:8']     = '(kumartamaan){&lt;=muutos:palvoa}';
UMwordModified['Matt. 22:43']   = '(henkey[^,. ]+){&lt;=muutos:hengess&auml;}';
// UMwordModified['Mark. 9:41']    = '(perusteella){&lt;=muutos:minun nimess&auml;ni}';
UMwordModified['Luuk. 4:22']    = '(miellyttäviä){&lt;=muutos:armo)';
UMwordModified['Luuk. 2:38']    = '(vapaut[^,. ]+){&lt;=muutos:lunastusta}';
UMwordModified['Luuk. 24:21']   = '(vapaut[^,. ]+){&lt;=muutos:lunastaa}';
UMwordModified['Luuk. 18:13']   = '(suosiollinen){&lt;=armollinen)';
UMwordModified['Luuk. 24:47']   = '(saarnattaisiin){&lt;=muutos:k&auml;sky?}';
UMwordModified['Joh. 1:4']      = '(v&auml;[^ ]){&lt;=muutos:oli}';
UMwordModified['Joh. 5:36']     = '(m&auml;&auml;r&auml;si){&lt;=muutos:antoi}';
UMwordModified['Joh. 17:3']     = '(tuntem[^ ]){{&lt;=muutos:tuntevat}';
UMwordModified['Joh. 20:31']    = '\\b(takia)';
UMwordModified['Apt. 3:16']     = '(tulee +h&auml;nen +kauttaan){&lt;=muutos:h&auml;n vaikuttaa}';
UMwordModified['Apt. 6:8']      = '(miellytt&auml;vyytt[^ ]+){&lt;=muutos:armoa,uskoa}';
UMwordModified['Apt. 7:10']     = '(miellytt[^ ]+){&lt;=armon)';
UMwordModified['Apt. 7:59']     = '(esitt.*vetoomusta){&lt;=muutos:huutaa avuksi}';
UMwordModified['Apt. 13:48']    = '(asetetut ehdolle){&lt;=muutos:m&auml;&auml;r&auml;t&auml;}';
UMwordModified['Apt. 20:24']    = '(sieluani){&lt;=tarkemmin:el&auml;m&auml;ni,henkeni}';
UMwordModified['Room. 3:25']    = '(uhriksi|jolloin.*noudatti +k[^ ]+)!g';
UMwordModified['Room. 8:26']    = '(puhuu){&lt;=muutos:rukoilee}';
UMwordModified['Room. 8:34']    = '(puhuu){&lt;=muutos:rukoilee}';
UMwordModified['Room. 11:12']   = '(kansakuntien +ihmi[^ ]+|t&auml;ysi lukunsa)!g';
UMwordModified['Room. 15:27']   = '(kansakuntien +ihmi[^ ]+){&lt;=muutos:pakanat}';
UMwordModified['Ef. 1:6']       = '(rakkaansa){muutos:-ssa}';
UMwordModified['Ef. 4:16']      = '(yhteistoim[^ ]+)';
UMwordModified['Fil. 1:9']      = '(t&auml;yden.*ohella)';
UMwordModified['Fil. 1:20']     = '(tulee.*julist[^ ]+){&lt;=muutos:ylist&auml;&auml;}';
UMwordModified['Kol. 2:10']     = '\\b(teil.*eys)\\b';
UMwordModified['1. Tim. 3:16']  = '(kansakuntien){&lt;=muutos:pakanoiden}';
UMwordModified['1. Tim. 4:1']   = '(henkey[^ ]+ +ilma[^ ]+){&lt;=muutos:henki}!g';
UMwordModified['1. Tim. 4:14']  = '(lahjaa){&lt;=muutos:armolahjaa}';

UMwordModified['2. Tim. 3:5']   = '(osoittautuvat +pettymykseksi){&lt;=muutos:kielt&auml;&auml;}';
UMwordModified['Tiit. 2:11']    = '(kaikenlaisille){&lt;=muutos:kaikille}';
UMwordModified['Hepr. 9:12']    = '(vapaut[^ ]+){&lt;=muutos:lunastuksen}';
UMwordModified['Hepr. 11:7']    = '(jumalallinen){&lt;=muutos:Jumalan}';
UMwordModified['Hepr. 11:7']    = '(vapauttanne){&lt;=muutos:luottamus,rohkeus,uskallus}';
UMwordModified['Hepr. 12:9']    = '(hengellisen +el[^ ]+){&lt;=muutos:henkien}';
UMwordModified['Hepr. 12:23']   = '(hengell[^ ]+ +el[^ ]+){&lt;=muutos:henkien luo}';
UMwordModified['1. Piet. 1:18'] = '(vapaut[^ ]+){&lt;=muutos:lunastettu}';
UMwordModified['1. Piet. 1:11'] = '(henki +Kristuksesta){&lt;=Kristuksen henki}';
UMwordModified['1. Piet. 5:12'] = '(pysyk[^ ]+ lujina){&lt;=muutos:jossa olette}';
UMwordModified['2. Piet. 2:9']  = '(vapaut[^ ]+){&lt;=muutos:pelastaa}';
UMwordModified['2. Piet. 3:11'] = '(k&auml;t[^ ]+){&lt;=tarkemmin:vaellus,el&auml;mel&auml;}';
UMwordModified['Juud. 1:19']      = '(hengellisy[^,. ]+){&lt;=muutos:Henke&auml;}';
UMwordModified['1. Joh. 4:1']   = '(henkey[^ ]+ +ilma[^,. ]+){&lt;=muutos:henki}!g';
UMwordModified['1. Joh. 4:2']   = '(henkey[^ ]+ +ilma[^,. ]+){&lt;=muutos:henki}!g';
UMwordModified['1. Joh. 4:3']   = '(henkey[^ ]+ +ilma[^,. ]+){&lt;=muutos:henki}!g';
UMwordModified['1. Joh. 4:4']   = '(teid&auml;n){&lt;=muutos:teiss&auml;}!g';
UMwordModified['1. Joh. 4:6']   = '(henkey[^ ]+ +ilma[^,. ]+){&lt;=muutos:henki}!g';
UMwordModified['Ilm. 1:9']      = '(puhumisen){&lt;=muutos:sana}';
UMwordModified['Ilm. 1:10']     = '(henkeytyksest[^ ]+){&lt;=muutos:hengess&auml;}';
UMwordModified['Ilm. 6:9']      = '(todistus[^ ]+){&lt;=muutos:todistuksen}';
UMwordModified['Ilm. 16:14']    = '(henkeytt&auml;mi&auml; +ilmauksia){&lt;=muutos:henki&auml;}';
UMwordModified['Ilm. 12:17']    = '(Jees.*todistamis[^ ]+ +ty[^ ]+){&lt;=muutos:Jeesuksen todistus}';
UMwordModified['Ilm. 19:10']    = '(Jees.*todistamis[^ ]+ +ty[^ ]+){&lt;=muutos:Jeesuksen todistus}';


function HighlightWordChange(verse, msg, type, array)
{
    var style   = '<SPAN STYLE="color:blue;">';
    var end     = '</SPAN>';

    var str     = array[verse];

    if ( str != null )
    {

        // alert( type + ' ' + str);


        var modifier = StrRegexpModifier( str );
        var re1      = StrRegexpMatcher( str);
        var re       = new RegExp( re1, modifier);
        var add      = StrRegexpExtraString( str );

        if ( type == 'added' )
        {

            msg     = msg.replace( re,
                    style
                    + '$1'
                    + '{&lt;=lis&auml;ys}'
                    + end
                    , modifier);

        }
        else if ( type == 'deleted' )
        {
            add     = add ? add : '{}';

            msg     = msg.replace( re, '$1'
                    + style
                    + ' ' + add + ' '
                    + end
                    , modifier);

        }
        else if ( type == 'modified' )
        {
            add         = add ? add : '{&lt;=muutos}';
            var style2  = '<SPAN STYLE="text-decoration:underline;">';

            msg     = msg.replace( re,
                    style
                        + style2
                        + '$1'
                        + end
                    + add
                    + end
                    , modifier);
        }
    }

    return msg;
}

function HighlightUMwords(msg)
{
    var verse = GetVerse();

    msg = HighlightWordChange(verse, msg, 'added'   , UMwordAdded);
    msg = HighlightWordChange(verse, msg, 'deleted' , UMwordDeleted);
    msg = HighlightWordChange(verse, msg, 'modified', UMwordModified);

    return msg;
}

function HighlightUMwords2(msg, verse, one, two, type)
{
    if ( IsVerse(verse) )
    {
        var arr = new Array();
        arr[verse] = one;
        msg = HighlightWordChange(verse, msg, type, arr);

        arr[verse] = two;
        msg = HighlightWordChange(verse, msg, type, arr);
    }

    return msg;
}

function HighlightUM (msg)
{

    var style, end, re;

    msg = HighlightUMwords(msg);


    msg = HighlightUMwords2(  msg
                        , 'Luuk. 1:68'
                        , '(vapaut[^,. ]+){&lt;=muutos:lunastuksen}'
                        , '(toteuttanut){&lt;=tarkemmin:valmistanut}'
                        , 'modified'
                        );

    msg = HighlightUMwords2(  msg
                        , 'Joh. 14:14'
                        , '(tahansa){&lt;=poistettu:minulta}'
                        , '(niin){&lt;=poistettu:min&auml;}'
                        , 'deleted'
                        );

    msg = HighlightUMwords2(  msg
                        , 'Room. 8:27'
                        , '(puhuu){&lt;=muutos:rukoilee}'
                        , '(tarkoitus){&lt;=muutos:mieli}'
                        , 'modified'
                        );

    msg = HighlightUMwords2(  msg
                        , '2. Tim. 1:10'
                        , '(luonut valoa +el[^ ]+){&lt;=muutos:tuoda p&auml;iv&auml;nvaloon,}'
                        , '(ja turmeltumattomuuteen){&lt;=muutos:el&auml;m&auml;n ja kuolemattomuuden}'
                        , 'modified'
                        );


    msg = HighlightUMwords2(  msg
                        , 'Tiit. 2:14'
                        , '(vapaut[^ ]+){&lt;=muutos:lunastaa}'
                        , '(kaikenlaisesta){&lt;=tarkemmin:kaikesta}'
                        , 'modified'
                        );

    //      Other Changes

    if ( ! GetVerse().match( /(Aik|Moos|Sam|Job)\./ ))
    {
        style   = '<SPAN STYLE="color:blue;">';
        end     = '</SPAN>';
        re      = /(Jehov[^,. ]+)/g;
        msg     = msg.replace( re, style + '$1{&lt;=lis&auml;ys}' + end );
    }

    //  if ( IsVerse('Room. 8:39') )
    //  Jeesuksessa, Kristuksessa
    style   = '<SPAN STYLE="color:teal;">';
    end     = '</SPAN>';
    re      = /\b([JK][^{,. ]+se)(s[st]a)\b/g;
    msg     = msg.replace( re, '$1' + style + '$2' + end );


    style   = '<SPAN STYLE="color:blue;">';
    end     = '</SPAN>';
    re      = /(v&auml;lity[^,.{ ]+)([ ,.])/g;
    msg     = msg.replace( re, style + '$1{?}$2' + end );


    style   = '<SPAN STYLE="color:blue;">';
    end     = '</SPAN>';
    re      = /(yhteydess&auml;) /g;
    msg     = msg.replace( re, style + '$1{?} ' + end );


    re = /([Vv]aikuttava voima|elämän voima|harjoittaa|ominaisuus|alitajuisesti|uudelleen luominen|omasta aloitteestani|rinnallasi|loistoisaa [Hh]erraa|tarkoitti|persoonallisuu[^ ]+|vapauttamista|Jumalan toimintaan|täytyy olla|puolueellisuutta|vastuunalaiseksi|pelastukseen kohdistuvan uskon|sen vaikutuksesta|ikuinen elämä silm&amul;m&amul;&amul;r&amul;n&amul;|todistamisen.*ty&ouml;[^ ]*|vaikutuksella|rangaistustuomio|teh[^ ]+ palvelu[^ ]+|kumar[^ ]+|asetetut ehdolle)/g;

    style   = '<SPAN STYLE="color:blue;">';
    end     = '</SPAN>';
    msg     = msg.replace( re, style + '$1' + end );


    style = '<SPAN STYLE="color:red;">';
    end   = '</SPAN>';
    re = /(rangais[^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );



    style = '<SPAN STYLE="color:Teal;">';
    end   = '</SPAN>';
    re = /(\bte[kh][^ ]+ ilmeiseksi|tul[^ ]+ ilmeiseksi|ilmeiseksi tul[^ ]*|pois karsi[^ ]+|kirkkau[^ ]+|kirkast[^ ]+|loisto[^ ]+|hyv&auml;[^ ]* +uuti[^ ]+|ennuste[^ ]*|ainosynty[^ ]+|riiva[^ ]+|asiainj[^ ]+|armo[^ ]*|\btaiva[^ ]+|Jumalan +[Hh]enki|\bhenki\b)/g;
    msg = msg.replace( re, style + '$1' + end );


    style = '<SPAN STYLE="text-decoration:underline;">';
    end   = '</SPAN>';
    re = /([Aa]nsaitsem[^ ]+ +hyv[^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );

    style = '<SPAN STYLE="font-style:italic;">';
    end   = '</SPAN>';
    re = /(ikui[ns][^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );


    style = '<SPAN STYLE="color:blue;font-style:italic;">';
    end   = '</SPAN>';
    re = /(\[[^][]+\])/g;
    msg = msg.replace( re, style + '$1' + end );

    return msg;
}

// .................................................................
//  KR38

var KRwordAdded = new Array();
KRwordAdded['Fil. 2:9']     = '\\b(muita|muutakin)';
KRwordAdded['Room. 8:32']   = '\\b(muita|muutakin)';

var KRwordDeleted = new Array();
KRwordDeleted['Ef. 1:12']     = '(panneet){tarkemmin:ensiksi}';
KRwordDeleted['Hepr. 11:7']   = '(saatuaan){puuttuu:Jumalan}';
KRwordDeleted['Hepr. 12:28']  = '(arkuudella +ja +){(Jumalan)}';
KRwordDeleted['Hepr. 10:34']  = '(on){puuttuu:taivaissa}';

var KRwordModified = new Array();
KRwordModified['Matt. 2:8']     = '(kumartamaan){&lt;=tarkemmin:palvoa}';
KRwordModified['1. Piet. 1:11'] = '(kunniasta){&lt;=tarkemmin:kirkkaudesta}';



function HighlightKRwords(msg)
{
    var verse = GetVerse();

    msg = HighlightWordChange(verse, msg, 'added'   , KRwordAdded);
    msg = HighlightWordChange(verse, msg, 'deleted' , KRwordDeleted);
    msg = HighlightWordChange(verse, msg, 'modified', KRwordModified);

    return msg;
}

function HighlightKR(msg)
{
    var re, style, end;


    msg = HighlightKRwords(msg);

    // Kristuksessa, Jeesuksessa, Jumalasta, Isässä

    re    = /\b((J[ue]|Kr|Is|He|heng)[^ ]+)(s[st]a|s[st]&auml;)/g;

    if ( msg.match( re ) )
    {
        style = '<SPAN STYLE="text-decoration:underline">';
        end   = '</SPAN>';
        msg = msg.replace( re,
                        '<SPAN STYLE="font-style:italic;">'
                        +  '$1'
                        + style
                        + '$3'
                        + end + end);

    }
    else
    {
        re    = /(J[ue][^ ]+|Kristu[^ ]+|Is&auml;[^ ]*|Is&auml[^ ]*|henge[^ ]+)/g;
        style = '<SPAN STYLE="font-style:italic;font-size:1.1em;">';
        end   = '</SPAN>';
        msg   = msg.replace( re, style + '$1' + end );
    }


    var re = /(Messia[^ ]+|Voidel[^ ]+|[kK]arit[^ ]+|[Kk]irkkauden +Herra[^ ]*|herrain|Sebaot|Luoja|Ihmisen Poi[^ ]+|Jumalan Po[^ ]+|Poika[^ ]*|Poja[^ ]+|Pyh[^ ]+ +Hen[gk][^ ]+|Henk[^ ]+|Puolust[^ ]+|Jumal[^ ]+ hen[^ ]+|Herran [hH]enki|\b[Mm]in&auml;[^ ]*|katse[^ ]+ kiint[^ ´]+)/g;

    // Forest Green
    // font-weight:bold;color:#809F69;font-family:Georgia, Arial;
    style = '<SPAN STYLE="font-style:italic;">';
    end   = '</SPAN>';
    msg   = msg.replace( re, style + '$1' + end );

    style = '<SPAN STYLE="color:navy;font-weight:bold;">';
    end   = '</SPAN>';
    //  EI: uskottomat, uskontomme
    re = /(\bnim[ie][^ ]*|\buskon\b|\buskoi?tt?e?\b|usko[^t ][^t ]+)/g;
    msg = msg.replace( re, style + '$1' + end );

    style   = '<SPAN STYLE="color:teal;">';
    end     = '</SPAN>';
    re      = /(lunast[^ ]+|saarna[^ ]+|julis[^ ]+|opetta[^ ]+|tunte[^ ]+|kumar[^ ]+ +rukoi[^ ]+|rukoi[^ ]+|iankaik[^ ]+el[^ ]+|iankaik[^ ]+ +autu[^ ]+|iankaik[^ ]+ +kirkkau[^ ]+|[tT]aiva[^ ]+|iankaik[^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );

    style   = '<SPAN STYLE="color:Teal;">';
    end     = '</SPAN>';
    re      = /(kirkkau[^ ]+|kirkast[^ ]+|valkeu[^ ]+)/g;
    msg     = msg.replace( re, style + '$1' + end );

    style = '<SPAN STYLE="color:red;font-weight:bold;">';
    end   = '</SPAN>';
    re = /(evankelium[^ ]+|hyvä[^ ]* +sanom[^ ]+|ilosanom[^ ]+|\bkaikk?i[^ ]*|jokai[^ ]+|yksik..n|\byh&tauml[^ ]*|yhdelle[^ ]+|yhdess.k..n|[^>(]muuta[^ ]*|\bmit&auml;&auml;n|\btoista\b|\bmik&auml;&auml;n|pelas[^ ]+|\bver[ie][^ ]*|rangais[^ ]+|todist[^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );

    style = '<SPAN STYLE="text-decoration:underline;">';
    end   = '</SPAN>';
    re = /(armolah[^ ]+|armo[^ ]*|lahja[^ ]*|synti[^ ]* +anteek[^ ]+|synnit +anteek[^ ]+|syn[tn]i[^ ]*|salais[^ ]+|aarte[^ ]+|rikkaud[^ ]+|(opetus)?laps[^ ]+)/g;
    msg = msg.replace( re, style + '$1' + end );

    return msg;
}

///////////////////////////////////////////////////////////////////////
//
//  Text: Make HTML
//
///////////////////////////////////////////////////////////////////////

function HtmlifyStyle(attrib)
{
    return '<SPAN STYLE="' + attrib + '">';
}

function HtmlifyHrefJSopen(str, func, param)
{
    return '<A HREF="javascript:'
                    + 'opener.'
                    + func + '('
                    + param
                    + ');">'
                    + str
                    + '</A>'
                    ;
}

function HtmlifyHrefBasic(url, str)
{
    return '<A HREF="' + url  + '">' + str + '</A>';
}

function HtmlifyGreekHeading(verse, func, str, attrib)
{
    var ret   = str;

    var beg   = HtmlifyStyle
                (
                    attrib
                    ? attrib
                    : 'font-family:Georgia, Trebuchet MS, Times New Roman;'
                    + 'font-style:italic;'
                );

    if ( Is(verse) &&  Is(func) )
    {
        ret   = HtmlifyHrefJSopen( str, func,   '\'' + verse + '\'');
    }

    return beg + ret;
}

function HtmlifyMain(msg, type)
{

    var verse  = '';
    var verseMatch = '';
    var rest   = '';

    var result = msg.match( /^([1234]*[^0-9]+[0-9]+:[0-9]+)[.]?(.*)/ );

    if ( result != null )
    {
       verse        = result[1];
       rest         = result[2];
    }
    else
    {
        result = msg.match( /^((Juud|Jaak)\. [0-9]+)[.]?(.*)/ );

        if ( result != null )
        {
            verse   = result[1];
            rest    = result[3];
        }
    }

    if ( verse != '' )
    {
        verseMatch   = verse;          // Make copy

        if ( type == 'um' )
        {
            rest = HighlightUM(rest);
        }
        else if ( type == 'greek-blue' )
        {

            rest  = HighlightGreekBlue(rest);

            verse = HtmlifyHrefJSopen(verse,
                                      'UrlBlueWindowOpenKjv',
                                      '\'' + verse + '\'' );
        }

        else if ( type == 'greek-novum' )
        {
            rest  = HighlightGreekNovum(rest);
        }
        else if ( type == 'greek-kit' )
        {
            rest  = HighlightGreekKit(rest);
        }
        else if ( type == 'kr' )
        {
            rest = HighlightKR(rest);
        }


        msg =   '<B><SPAN STYLE="font-size:1.1em;">'
                + verse + '</SPAN></B>'
                + ': &ndash; '
                + rest;
    }

    var bible = '';
    var tmp   = '';

    if ( type == 'kr' )
    {
        bible = '<I>KR38; </I>';
    }
    else if ( type == 'um' )
    {
        bible = '<I>UM95; </I>';
    }
    else if ( type == 'greek-blue' )
    {
        tmp = 'Greek/Textus Receptus 1550';

        tmp = HtmlifyGreekHeading( verseMatch
                                   , 'UrlBlueWindowOpenGreek'
                                   , tmp);

        bible = tmp + '/Blue Letter Bible;' + '</SPAN><BR>';
    }
    else if ( type == 'greek-novum' )
    {
        tmp = 'Kreikka/Textus Receptus 1550 - Nestle Aland 25';

        tmp = HtmlifyGreekHeading( ''
                                   , ''
                                   , tmp);

        bible = tmp + '/Novum-interlineaari;' + '</SPAN><BR>';
    }
    else if ( type == 'greek-kit' )
    {
        tmp = 'Greek/Wescott and Hort 1881';

        tmp = HtmlifyGreekHeading( ''
                                   , ''
                                   , tmp);

        bible = tmp + '/Kingdom Interlinear Translation;' + '</SPAN><BR>';
    }

    return bible + msg;
}

function MyFormat(message, type)
{
    var msg  = '';          // KR38 basic format
    var bg   = '#AFB';
    var size = '14';
    var font = 'Arial';


    if ( type == 'um' )
    {
        bg   = '#FFFFFF';
        size = '14';
    }
    else if ( type == 'greek-novum' )
    {
        bg   = '#E6F1FD';
        size = '14';
        font = 'Trebuchet MS, Times New Roman';
    }
    else if ( type == 'greek-blue' )
    {
        bg   = '#D8EAFD';
        size = '14';
        font = 'Trebuchet MS, Times New Roman';
    }
    else if ( type == 'greek-kit' )
    {
        bg   = '#D2E6FC';
        size = '12';
        font = 'Trebuchet MS, Times New Roman';
    }

    if ( Is(message) )
    {
        var html = HtmlifyMain(message, type);

        msg  =   '<DIV STYLE="'
                + 'font-size:'      + size + ';'
                + 'font-family:'    + font + ';'
                + 'background:'     + bg   + ';'
                + '">'
                +  html
                + '</DIV>'
                ;
    }

    return msg;
}

///////////////////////////////////////////////////////////////////////
//
//  DISPLAY
//
///////////////////////////////////////////////////////////////////////

var myWin = null;

function HelpWindowOpen()
{
    var url =  "ohje/";
    window.open( url );
}

function HomePageOpen()
{
    var url =  "http://raamattu.cante.net";
    window.open( url );
}

function MyDisplay(msg)
{
    if ( dyn != null )
    {
        dyn.setBody(msg);
    }

    myWin.WriteMsg(msg);
}

function MyBibleKR38(arg)
{
    var verse = kr38[arg];

    if ( verse == null )
    {
        verse = '';
    }
    else
    {
        verse = MyFormat( verse, 'kr');
    }

    return verse;
}

function MyBibleUM(arg)
{
    var verse = um95[arg];

    if ( verse == null )
    {
        verse = '';
    }
    else
    {
        verse = MyFormat( verse, 'um');
    }

    return verse;
}

function MyBibleGreekBlue(arg)
{
    var verse = blue[arg];

    if ( verse == null )
    {
        verse = '';
    }
    else
    {
        verse = MyFormat( verse, 'greek-blue');
    }

    return verse;
}

function MyBibleGreekKit(arg)
{
    var verse = kit_[arg];

    if ( verse == null )
    {
        verse = '';
    }
    else
    {
        verse = MyFormat( verse, 'greek-kit');
    }

    return verse;
}

function MyBibleGreekNovum(arg)
{
    var verse = novu[arg];

    if ( verse == null )
    {
        verse = '';
    }
    else
    {
        verse = MyFormat( verse, 'greek-novum');
    }

    return verse;
}

function BibleGreekText(verse)
{
    var ret   = '';
    var greek = '';

    greek  = MyBibleGreekNovum(verse);

    if ( Is(greek) )
    {
        ret +=  greek + '<BR>';
    }

    greek = MyBibleGreekBlue(verse);

    if ( Is(greek) )
    {
        ret += greek + '<BR>';
    }

    greek = MyBibleGreekKit(verse);

    if ( Is(greek) )
    {
        ret += greek + '<BR>';
    }

    if ( ret != '' )
    {
        ret = '<BR>' + ret;
    }

    return ret;
}

function MyDisplayText(arg)
{
    var txt = '';


    txt += "<HTML>";
    txt += "<HEAD><TITLE>Jae</TITLE></HEAD>";
    txt += "<BODY>";


    var button1 = '';

    if ( IsBibleNOVUM() )
    {
        button1 = HtmlifyHrefJSopen( '[ohje]',
                                     'HelpWindowOpen', '');
    }

    var button2 = HtmlifyHrefJSopen( '[tulosta]',
                                     'MyPrint', '');
    var button3 = HtmlifyHrefJSopen( '[kotisivu]',
                                     'HomePageOpen', '');

    var style  = HtmlifyStyle( "font-size=0.8em;");

    txt +=  style
//            + button1
            + button2
//            + button3
            + '</SPAN>'
            + '<BR>'
            ;

    var kr = MyBibleKR38(arg);

    if ( Is(kr) )
    {
        txt += '<BR>' + kr;
    }

    var um = MyBibleUM(arg);

    if ( Is(um) )
    {
        txt += '<BR>' + um;
    }

    var greek = BibleGreekText(arg);

    if ( Is(greek) )
    {
        txt += greek;
    }
    else
    {
        // var url    = UrlBlueHtmlPageMain(arg, 'greek');
        // var urlAdd = HtmlifyHrefBasic(url, url);

        var urlAdd = '';
        var verse  = arg;

        urlAdd = HtmlifyHrefJSopen(
                    'Blue Letter Bible (jakeen rivienv&auml;linen sanasta sanaan teksti)'
                    , 'UrlBlueWindowOpenGreek'
                    ,  '\'' + verse + '\'');

        // urlAdd += ' Paina sivulla nappia [C]';

        txt += urlAdd;
    }

    txt += "</BODY></HTML>";


    return txt;
}

///////////////////////////////////////////////////////////////////////
//
//      Global variables and instance classes
//
///////////////////////////////////////////////////////////////////////

var LAST_VERSE  = '';

//  Bibles in finnish

var kr38        = new Array();
var um95        = new Array();

//  Greek interlinears

var blue        = new Array();  // www.blueletterbible.org
var novu        = new Array();  // Novum 1-5 book series, ISBN 951-605-650-4

// Kingdom interlinear Translation of the Greek Scriptures
// Publisher: Jehovah's Witnesses (Watchtower society)

var kit_        = new Array();

//  When the arrays are filled, each array conatains a 'check'
//  item to say that "I'm alive, you can use this array".

function IsBibleCheck(arrayName)
{
    var code = arrayName + '["used"]';

    var stat  = eval(code);
    var ret   = false;

    if ( stat == 'ok' )
    {
        ret = true;
    }

//    alert( code + ' ' + stat + ' = ' + ret);

    return ret;
}

function IsBibleKR38 ()
{
    return IsBibleCheck("kr38");
}

function IsBibleUM95 ()
{
    return IsBibleCheck("um95");
}

function IsBibleKIT ()
{
    return IsBibleCheck("kit_");
}

function IsBibleNOVUM ()
{
    return IsBibleCheck("novu");

}

function IsBibleBLUE ()
{
    return IsBibleCheck("blue");
}

///////////////////////////////////////////////////////////////////////
//
//      WINDOW INIT
//
///////////////////////////////////////////////////////////////////////

var dyn   = null;

function InitializeWindowHeight()
{
    var height = 0;

    //  find out how many bibles are available and set initial window
    //  height

    var arr = ['KR38', 'UM95', 'KIT', 'NOVUM', 'BLUE'];
    var inc = [ 140,    120,    120,   140,     160  ];

    var str = '';

    for ( var i =0; i < arr.length; i++ )
    {
        var bible = arr[i];
        var func  = 'IsBible' + bible + '()';
        var ret   = eval(func);          // Call function, see if bible is present.

// alert( str + ' - ' + bible + ' ' + func + ' ' + ret);

        if ( ret )
        {
            str    += ' ' + bible;
            height += inc[i];
        }
    }

    if ( ! height )
    {
        height = 150;
    }


    if ( str != '' )
    {
        status = "Raamatut: " + str;
    }

    return height;
}

function InitializeWindowClass()
{
    var height = InitializeWindowHeight();

    var attrib = "width=500,"
                 + "height=" + height
                 + ",resizable,status"
                 ;

    var msg = "Avataan raamatunjakeen ikkunaa, "
              + "odota hetki (5-15 sekuntia) ..."
              ;

    // This only sets parameters, does not actually yet open the window

    myWin = new LibWin( "window", "window", attrib, msg);
}

function test ()
{
    return "abc123";
}

// dyn = new DynEl( window, "d1", '', 10, 10);


///////////////////////////////////////////////////////////////////////
//
//  MOUSE
//
///////////////////////////////////////////////////////////////////////

function MyClear()
{
    if ( dyn != null )
    {
        MyMsg('');
    }
}

function MyMouseDoIt(arg)
{
    //  If same as last time, do not try to fetch
    //  Avoid extra work.

    if ( LAST_VERSE !=  arg )
    {
        LAST_VERSE = arg;

        var verse = kr38[arg];

        if ( verse == null )
        {
            MyDisplay( arg + ' <I>jae ei ole saatavilla</I>' );
        }
        else
        {
            var txt = MyDisplayText(arg);

            MyDisplay(txt);
        }
    }

    return true;
}

var BUSY = null;

function MyMouse(arg)
{
    MyMouseDoIt(arg);

    if ( 0 )
    {
        //  Non-working code commented out.

        if ( BUSY == null )             //  Make a delay
        {
            BUSY = true;
            // MySleep(1.5 * 1000, arg);
            MyMouseDoIt(arg);
            BUSY = null;
        }
    }

    return true;
}

// This call is appended to the end of file, do not TOUCH!
// LAST_CODE: InitializeWindowClass();


kr38['Joh. 11:26']='Joh. 11:26. Eik&auml; yksik&auml;&auml;n, joka el&auml;&auml; ja uskoo minuun, ikin&auml; kuole. Uskotko sen?&quot;';
kr38['1. Joh. 5:13']='1Joh. 5:13. T&auml;m&auml;n min&auml; olen kirjoittanut teille, jotka uskotte Jumalan Pojan nimeen, tiet&auml;&auml;ksenne, ett&auml; teill&auml; on iankaikkinen el&auml;m&auml;.';
kr38['Ilm. 1:5']='Ilm. 1:5. ja Jeesukselta Kristukselta, uskolliselta todistajalta, h&auml;nelt&auml;, joka on kuolleitten esikoinen ja maan kuningasten hallitsija! H&auml;nelle, joka meit&auml; rakastaa ja on p&auml;&auml;st&auml;nyt meid&auml;t synneist&auml;mme verell&auml;ns&auml;';
kr38['Ef. 2:8']='Ef. 2:8. Sill&auml; armosta te olette pelastetut uskon kautta, ette itsenne kautta - se on Jumalan lahja -';
kr38['Ef. 2:9']='Ef. 2:9. ette tekojen kautta, ettei kukaan kerskaisi.';
kr38['1. Moos. 11:4']='1Moos. 11:4 Ja he sanoivat: &quot;Tulkaa, rakentakaamme itsellemme kaupunki ja torni, jonka huippu ulottuu taivaaseen, ja tehk&auml;&auml;mme itsellemme nimi, ettemme hajaantuisi yli kaiken maan&quot;.';
kr38['1. Moos. 11:5']='1Moos. 11:5 Niin Herra astui alas katsomaan kaupunkia ja tornia, jonka ihmislapset olivat rakentaneet.';
kr38['1. Moos. 11:6']='1Moos. 11:6 Ja Herra sanoi: &quot;Katso, he ovat yksi kansa, ja heill&auml; kaikilla on yksi kieli, ja t&auml;m&auml; on heid&auml;n ensimm&auml;inen yrityksens&auml;. Ja nyt ei heille ole mahdotonta mik&auml;&auml;n, mit&auml; aikovatkin tehd&auml;.';
kr38['1. Moos. 11:7']='1Moos. 11:7 Tulkaa, astukaamme alas ja sekoittakaamme siell&auml; heid&auml;n kielens&auml;, niin ettei toinen ymm&auml;rr&auml; toisen kielt&auml;.&quot;';
kr38['1. Moos. 11:8']='1Moos. 11:8 Ja niin Herra hajotti heid&auml;t sielt&auml; yli kaiken maan, niin ett&auml; he lakkasivat kaupunkia rakentamasta.';
kr38['1. Moos. 11:9']='1Moos. 11:9 Siit&auml; tuli sen nimeksi Baabel, koska Herra siell&auml; sekoitti kaiken maan kielen; ja sielt&auml; Herra hajotti heid&auml;t yli kaiken maan.';
kr38['1. Kor. 2:2']='1Kor. 2:2. Sill&auml; min&auml; olin p&auml;&auml;tt&auml;nyt olla teid&auml;n tyk&ouml;n&auml;nne tuntematta mit&auml;&auml;n muuta paitsi Jeesuksen Kristuksen, ja h&auml;net ristiinnaulittuna.';
kr38['Joh. 4:23']='Joh. 4:23. Mutta tulee aika ja on jo, jolloin totiset rukoilijat rukoilevat Is&auml;&auml; hengess&auml; ja totuudessa; sill&auml; senkaltaisia rukoilijoita my&ouml;s Is&auml; tahtoo.';
kr38['Joh. 4:24']='Joh. 4:24. Jumala on Henki; ja jotka h&auml;nt&auml; rukoilevat, niiden tulee rukoilla hengess&auml; ja totuudessa.&quot;';
kr38['Room. 14:5']='Room. 14:5. Toinen pit&auml;&auml; yhden p&auml;iv&auml;n toista parempana, toinen pit&auml;&auml; kaikki p&auml;iv&auml;t yht&auml; hyvin&auml;; kukin olkoon omassa mieless&auml;&auml;n t&auml;ysin varma.';
kr38['Room. 14:6']='Room. 14:6. Joka valikoi p&auml;ivi&auml;, se valikoi Herran t&auml;hden; ja joka sy&ouml;, se sy&ouml; Herran t&auml;hden, sill&auml; h&auml;n kiitt&auml;&auml; Jumalaa; ja joka ei sy&ouml;, se on Herran t&auml;hden sy&ouml;m&auml;tt&auml; ja kiitt&auml;&auml; Jumalaa.';
kr38['Kol. 2:16']='Kol. 2:16. &Auml;lk&ouml;&ouml;n siis kukaan teit&auml; tuomitko sy&ouml;misest&auml; tai juomisesta, &auml;lk&ouml;&ouml;n my&ouml;s mink&auml;&auml;n juhlan tai uudenkuun tai sapatin johdosta,';
kr38['1. Kor. 1:18']='1Kor. 1:18. Sill&auml; sana ristist&auml; on hullutus niille, jotka kadotukseen joutuvat, mutta meille, jotka pelastumme, se on Jumalan voima.';
kr38['1. Kor. 1:23']='1Kor. 1:23. me taas saarnaamme ristiinnaulittua Kristusta, joka on juutalaisille pahennus ja pakanoille hullutus,';
kr38['Gal. 6:14']='Gal. 6:14. Mutta pois se minusta, ett&auml; min&auml; muusta kerskaisin kuin meid&auml;n Herramme Jeesuksen Kristuksen ristist&auml;, jonka kautta maailma on ristiinnaulittu minulle, ja min&auml; maailmalle!';
kr38['Gal. 6:17']='Gal. 6:17. &Auml;lk&ouml;&ouml;n t&auml;stedes kukaan minulle vaivoja tuottako; sill&auml; min&auml; kannan Jeesuksen arvet ruumiissani.';
kr38['Matt. 16:24']='Matt. 16:24. Silloin Jeesus sanoi opetuslapsillensa: &quot;Jos joku tahtoo minun per&auml;ss&auml;ni kulkea, h&auml;n kielt&auml;k&ouml;&ouml;n itsens&auml; ja ottakoon ristins&auml; ja seuratkoon minua.';
kr38['1. Kor. 1:19']='1Kor. 1:19. Onhan kirjoitettu: &quot;Min&auml; h&auml;vit&auml;n viisasten viisauden, ja ymm&auml;rt&auml;v&auml;isten ymm&auml;rryksen min&auml; teen mit&auml;tt&ouml;m&auml;ksi&quot;.';
kr38['1. Kor. 1:20']='1Kor. 1:20. Miss&auml; ovat viisaat? Miss&auml; kirjanoppineet? Miss&auml; t&auml;m&auml;n maailman &auml;lyniekat? Eik&ouml; Jumala ole tehnyt maailman viisautta hullutukseksi?';
kr38['1. Kor. 1:21']='1Kor. 1:21. Sill&auml; kun, Jumalan viisaudesta, maailma ei oppinut viisauden avulla tuntemaan Jumalaa, niin Jumala n&auml;ki hyv&auml;ksi saarnauttamansa hullutuksen kautta pelastaa ne, jotka uskovat,';
kr38['1. Kor. 1:22']='1Kor. 1:22. koskapa juutalaiset vaativat tunnustekoja ja kreikkalaiset etsiv&auml;t viisautta,';
kr38['1. Kor. 1:24']='1Kor. 1:24. mutta joka niille, jotka ovat kutsutut, olkootpa juutalaisia tai kreikkalaisia, on Kristus, Jumalan voima ja Jumalan viisaus.';
kr38['1. Kor. 1:25']='1Kor. 1:25. Sill&auml; Jumalan hulluus on viisaampi kuin ihmiset, ja Jumalan heikkous on v&auml;kev&auml;mpi kuin ihmiset.';
kr38['1. Kor. 1:26']='1Kor. 1:26. Sill&auml; katsokaa, veljet, omaa kutsumistanne: ei ole monta inhimillisesti viisasta, ei monta mahtavaa, ei monta jalosukuista,';
kr38['1. Kor. 1:27']='1Kor. 1:27. vaan sen, mik&auml; on hulluutta maailmalle, sen Jumala valitsi saattaaksensa viisaat h&auml;pe&auml;&auml;n, ja sen, mik&auml; on heikkoa maailmassa, sen Jumala valitsi saattaaksensa sen, mik&auml; v&auml;kev&auml;&auml; on, h&auml;pe&auml;&auml;n,';
kr38['1. Kor. 10:14']='1Kor. 10:14. Sent&auml;hden, rakkaani, paetkaa ep&auml;jumalanpalvelusta.';
kr38['2. Moos. 20:4']='2Moos. 20:4 &Auml;l&auml; tee itsellesi jumalankuvaa &auml;l&auml;k&auml; mit&auml;&auml;n kuvaa, &auml;l&auml; niist&auml;, jotka ovat ylh&auml;&auml;ll&auml; taivaassa, &auml;l&auml; niist&auml;, jotka ovat alhaalla maan p&auml;&auml;ll&auml;, &auml;l&auml;k&auml; niist&auml;, jotka ovat vesiss&auml; maan alla.';
kr38['2. Moos. 20:5']='2Moos. 20:5 &Auml;l&auml; kumarra niit&auml; &auml;l&auml;k&auml; palvele niit&auml;. Sill&auml; min&auml;, Herra, sinun Jumalasi, olen kiivas Jumala, joka kostan isien pahat teot lapsille kolmanteen ja nelj&auml;nteen polveen, niille, jotka minua vihaavat;';
kr38['2. Kor. 4:10']='2Kor. 4:10. Me kuljemme, aina kantaen Jeesuksen kuolemaa ruumiissamme, ett&auml; Jeesuksen el&auml;m&auml;kin tulisi meid&auml;n ruumiissamme n&auml;kyviin.';
kr38['Joh. 14:14']='Joh. 14:14. Jos te anotte minulta jotakin minun nimess&auml;ni, niin min&auml; sen teen.';
kr38['Apt. 7:59']='Apt. 7:59. Ja niin he kivittiv&auml;t Stefanuksen, joka rukoili ja sanoi: &quot;Herra Jeesus, ota minun henkeni!&quot;';
kr38['Apt. 15:26']='Apt. 15:26. jotka ovat panneet henkens&auml; alttiiksi meid&auml;n Herramme Jeesuksen Kristuksen nimen t&auml;hden.';
kr38['1. Kor. 11:26']='1Kor. 11:26. Sill&auml; niin usein kuin te sy&ouml;tte t&auml;t&auml; leip&auml;&auml; ja juotte t&auml;m&auml;n maljan, te julistatte Herran kuolemaa, siihen asti kuin h&auml;n tulee.';
kr38['Room. 10:17']='Room. 10:17. Usko tulee siis kuulemisesta, mutta kuuleminen Kristuksen sanan kautta.';
kr38['Joh. 6:45']='Joh. 6:45. Profeetoissa on kirjoitettuna: \'Ja he tulevat kaikki Jumalan opettamiksi\'. Jokainen, joka on Is&auml;lt&auml; kuullut ja oppinut, tulee minun tyk&ouml;ni.';
kr38['2. Kor. 10:5']='2Kor. 10:5. Me hajotamme maahan j&auml;rjen p&auml;&auml;telm&auml;t ja jokaisen varustuksen, joka nostetaan Jumalan tuntemista vastaan, ja vangitsemme jokaisen ajatuksen kuuliaiseksi Kristukselle';
kr38['2. Kor. 4:6']='2Kor. 4:6. Sill&auml; Jumala, joka sanoi: &quot;Loistakoon valkeus pimeydest&auml;&quot;, on se, joka loisti syd&auml;miimme, ett&auml; Jumalan kirkkauden tunteminen, sen kirkkauden, joka loistaa Kristuksen kasvoissa, levitt&auml;isi valoansa.';
kr38['2. Kor. 5:15']='2Kor. 5:15. ja h&auml;n on kuollut kaikkien edest&auml;, ett&auml; ne, jotka el&auml;v&auml;t, eiv&auml;t en&auml;&auml; el&auml;isi itselleen, vaan h&auml;nelle, joka heid&auml;n edest&auml;&auml;n on kuollut ja yl&ouml;snoussut.';
kr38['Apt. 28:31']='Apt. 28:31. ja h&auml;n julisti Jumalan valtakuntaa ja opetti Herran Jeesuksen Kristuksen tuntemista kaikella rohkeudella, kenenk&auml;&auml;n est&auml;m&auml;tt&auml;.';
kr38['Joh. 1:12']='Joh. 1:12. Mutta kaikille, jotka ottivat h&auml;net vastaan, h&auml;n antoi voiman tulla Jumalan lapsiksi, niille, jotka uskovat h&auml;nen nimeens&auml;,';
kr38['Joh. 20:31']='Joh. 20:31. mutta n&auml;m&auml; ovat kirjoitetut, ett&auml; te uskoisitte, ett&auml; Jeesus on Kristus, Jumalan Poika, ja ett&auml; teill&auml; uskon kautta olisi el&auml;m&auml; h&auml;nen nimess&auml;ns&auml;.';
kr38['Apt. 10:43']='Apt. 10:43. H&auml;nest&auml; kaikki profeetat todistavat, ett&auml; jokainen, joka uskoo h&auml;neen, saa synnit anteeksi h&auml;nen nimens&auml; kautta.&quot;';
kr38['Apt. 22:16']='Apt. 22:16. Ja nyt, mit&auml; viivyttelet? Nouse, huuda avuksi h&auml;nen nime&auml;ns&auml; ja anna kastaa itsesi ja pest&auml; pois syntisi.\'';
kr38['Room. 1:5']='Room. 1:5. jonka kautta me olemme saaneet armon ja apostolinviran, ett&auml; syntyisi uskon kuuliaisuus h&auml;nen nime&auml;ns&auml; kohtaan kaikissa pakanakansoissa,';
kr38['Apt. 4:12']='Apt. 4:12. Eik&auml; ole pelastusta yhdess&auml;k&auml;&auml;n toisessa; sill&auml; ei ole taivaan alla muuta nime&auml; ihmisille annettu, jossa meid&auml;n pit&auml;isi pelastuman.&quot;';
kr38['Joh. 14:6']='Joh. 14:6. Jeesus sanoi h&auml;nelle: &quot;Min&auml; olen tie ja totuus ja el&auml;m&auml;; ei kukaan tule Is&auml;n tyk&ouml; muutoin kuin minun kauttani.';
kr38['Joh. 10:9']='Joh. 10:9. Min&auml; olen ovi; jos joku minun kauttani menee sis&auml;lle, niin h&auml;n pelastuu, ja h&auml;n on k&auml;yv&auml; sis&auml;lle ja k&auml;yv&auml; ulos ja l&ouml;yt&auml;v&auml; laitumen.';
kr38['Matt. 10:40']='Matt. 10:40. Joka ottaa tyk&ouml;ns&auml; teid&auml;t, se ottaa tyk&ouml;ns&auml; minut; ja joka ottaa minut tyk&ouml;ns&auml;, ottaa tyk&ouml;ns&auml; h&auml;net, joka on minut l&auml;hett&auml;nyt.';
kr38['Joh. 14:23']='Joh. 14:23. Jeesus vastasi ja sanoi h&auml;nelle: &quot;Jos joku rakastaa minua, niin h&auml;n pit&auml;&auml; minun sanani, ja minun Is&auml;ni rakastaa h&auml;nt&auml;, ja me tulemme h&auml;nen tyk&ouml;ns&auml; ja j&auml;&auml;mme h&auml;nen tyk&ouml;ns&auml; asumaan.';
kr38['Fil. 2:10']='Fil. 2:10. niin ett&auml; kaikkien polvien pit&auml;&auml; Jeesuksen nimeen notkistuman, sek&auml; niitten, jotka taivaissa ovat, ett&auml; niitten, jotka maan p&auml;&auml;ll&auml; ovat, ja niitten, jotka maan alla ovat,';
kr38['Fil. 2:11']='Fil. 2:11. ja jokaisen kielen pit&auml;&auml; tunnustaman Is&auml;n Jumalan kunniaksi, ett&auml; Jeesus Kristus on Herra.';
kr38['Fil. 1:17']='Fil. 1:17. nuo toiset taas julistavat Kristusta itsekkyydest&auml;, ep&auml;puhtaalla mielell&auml;, luullen tuottavansa minulle murhetta kahleissani.';
kr38['Fil. 1:18']='Fil. 1:18. Vaan mit&auml;p&auml; tuosta, kunhan Kristusta vain tavalla tai toisella julistetaan, joko n&auml;&ouml;n vuoksi tai totuudessa! Ja siit&auml; min&auml; iloitsen, ja olen vastakin iloitseva.';
kr38['Joh. 20:25']='Joh. 20:25. Niin muut opetuslapset sanoivat h&auml;nelle: &quot;Me n&auml;imme Herran&quot;. Mutta h&auml;n sanoi heille: &quot;Ellen n&auml;e h&auml;nen k&auml;siss&auml;&auml;n naulojen j&auml;lki&auml; ja pist&auml; sormeani naulojen sijoihin ja pist&auml; k&auml;tt&auml;ni h&auml;nen kylkeens&auml;, en min&auml; usko&quot;.';
kr38['Joh. 19:20']='Joh. 19:20. T&auml;m&auml;n p&auml;&auml;llekirjoituksen lukivat monet juutalaiset, sill&auml; paikka, jossa Jeesus ristiinnaulittiin, oli l&auml;hell&auml; kaupunkia; ja se oli kirjoitettu hebreaksi, latinaksi ja kreikaksi.';
kr38['Luuk. 23:38']='Luuk. 23:38. Oli my&ouml;s h&auml;nen p&auml;&auml;ns&auml; p&auml;&auml;ll&auml; kirjoitus: &quot;T&auml;m&auml; on juutalaisten kuningas&quot;.';
kr38['Joh. 21:18']='Joh. 21:18. Totisesti, totisesti min&auml; sanon sinulle: kun olit nuori, niin sin&auml; vy&ouml;tit itsesi ja kuljit, minne tahdoit; mutta kun vanhenet, niin sin&auml; ojennat k&auml;tesi, ja sinut vy&ouml;tt&auml;&auml; toinen ja vie sinut, minne et tahdo.&quot;';
kr38['Joh. 21:19']='Joh. 21:19. Mutta sen h&auml;n sanoi antaakseen tiet&auml;&auml;, mink&auml;kaltaisella kuolemalla Pietari oli kirkastava Jumalaa. Ja t&auml;m&auml;n sanottuaan h&auml;n lausui h&auml;nelle: &quot;Seuraa minua&quot;.';
kr38['2. Moos. 17:11']='2Moos. 17:11 Ja niin kauan kuin Mooses piti k&auml;tens&auml; ylh&auml;&auml;ll&auml;, oli Israel voitolla; mutta kun h&auml;n antoi k&auml;tens&auml; vaipua, olivat amalekilaiset voitolla.';
kr38['Matt. 26:47']='Matt. 26:47. Ja katso, h&auml;nen viel&auml; puhuessaan tuli Juudas, yksi niist&auml; kahdestatoista, ja h&auml;nen kanssaan lukuisa joukko ylipappien ja kansan vanhinten luota miekat ja seip&auml;&auml;t k&auml;siss&auml;.';
kr38['Matt. 26:55']='Matt. 26:55. Sill&auml; hetkell&auml; Jeesus sanoi joukolle: &quot;Niinkuin ry&ouml;v&auml;ri&auml; vastaan te olette l&auml;hteneet minua miekoilla ja seip&auml;ill&auml; vangitsemaan. Joka p&auml;iv&auml; min&auml; olen istunut pyh&auml;k&ouml;ss&auml; opettamassa, ettek&auml; ole ottaneet minua kiinni.';
kr38['Luuk. 23:31']='Luuk. 23:31. Sill&auml; jos t&auml;m&auml; tehd&auml;&auml;n tuoreelle puulle, mit&auml; sitten kuivalle tapahtuu?&quot;';
kr38['Apt. 5:30']='Apt. 5:30. Meid&auml;n isiemme Jumala on her&auml;tt&auml;nyt Jeesuksen, jonka te ripustitte puuhun ja surmasitte.';
kr38['Apt. 16:24']='Apt. 16:24. Sellaisen k&auml;skyn saatuaan t&auml;m&auml; heitti heid&auml;t sisimp&auml;&auml;n vankihuoneeseen ja pani heid&auml;t jalkapuuhun.';
kr38['1. Kor. 3:12']='1Kor. 3:12. Mutta jos joku rakentaa t&auml;lle perustukselle, rakensipa kullasta, hopeasta, jalokivist&auml;, puusta, heinist&auml; tai oljista,';
kr38['Ilm. 2:7']='Ilm. 2:7. Jolla on korva, se kuulkoon, mit&auml; Henki seurakunnille sanoo. Sen, joka voittaa, min&auml; annan sy&ouml;d&auml; el&auml;m&auml;n puusta, joka on Jumalan paratiisissa.\'';
kr38['Ilm. 22:2']='Ilm. 22:2. Keskell&auml; sen katua ja virran molemmilla puolilla oli el&auml;m&auml;n puu, joka kantoi kahdettoista hedelm&auml;t, antaen joka kuukausi hedelm&auml;ns&auml;, ja puun lehdet ovat kansojen tervehtymiseksi.';
kr38['2. Tim. 2:20']='2Tim. 2:20. Mutta suuressa talossa ei ole ainoastaan kulta- ja hopea-astioita, vaan my&ouml;s puu- ja saviastioita, ja toiset ovat jaloa, toiset halpaa k&auml;ytt&ouml;&auml; varten.';
kr38['1. Moos. 1:11']='1Moos. 1:11 Ja Jumala sanoi: &quot;Kasvakoon maa vihantaa, ruohoja, jotka tekev&auml;t siement&auml;, ja hedelm&auml;puita, jotka lajiensa mukaan kantavat maan p&auml;&auml;ll&auml; hedelm&auml;&auml;, jossa niiden siemen on&quot;. Ja tapahtui niin:';
kr38['1. Moos. 1:12']='1Moos. 1:12 maa tuotti vihantaa, ruohoja, jotka tekiv&auml;t siement&auml; lajiensa mukaan, ja puita, jotka lajiensa mukaan kantoivat hedelm&auml;&auml;, jossa niiden siemen oli. Ja Jumala n&auml;ki, ett&auml; se oli hyv&auml;.';
kr38['1. Moos. 1:29']='1Moos. 1:29 Ja Jumala sanoi: &quot;Katso, min&auml; annan teille kaikkinaiset siement&auml; tekev&auml;t ruohot, joita kasvaa kaikkialla maan p&auml;&auml;ll&auml;, ja kaikki puut, joissa on siement&auml; tekev&auml; hedelm&auml;; olkoot ne teille ravinnoksi.';
kr38['1. Moos. 3:22']='1Moos. 3:22 Ja Herra Jumala sanoi: &quot;Katso, ihminen on tullut sellaiseksi kuin joku meist&auml;, niin ett&auml; h&auml;n tiet&auml;&auml; hyv&auml;n ja pahan. Kun ei h&auml;n nyt vain ojentaisi k&auml;tt&auml;ns&auml; ja ottaisi my&ouml;s el&auml;m&auml;n puusta ja s&ouml;isi ja el&auml;isi iankaikkisesti!&quot;';
kr38['1. Moos. 3:24']='1Moos. 3:24 Ja h&auml;n karkoitti ihmisen ja asetti Eedenin paratiisin it&auml;puolelle kerubit ynn&auml; v&auml;lkkyv&auml;n, leimuavan miekan vartioitsemaan el&auml;m&auml;n puun tiet&auml;.';
kr38['Apt. 9:27']='Apt. 9:27. Mutta Barnabas otti h&auml;net turviinsa ja vei h&auml;net apostolien tyk&ouml; ja kertoi heille, kuinka Saulus tiell&auml; oli n&auml;hnyt Herran, ja ett&auml; Herra oli puhunut h&auml;nelle, ja kuinka h&auml;n Damaskossa oli rohkeasti julistanut Jeesuksen nime&auml;.';
kr38['Apt. 12:25']='Apt. 12:25. Ja Barnabas ja Saulus palasivat Jerusalemista toimitettuansa avustusteht&auml;v&auml;n ja toivat sielt&auml; mukanaan Johanneksen, jota my&ouml;s Markukseksi kutsuttiin.';
kr38['Apt. 13:1']='Apt. 13:1. Ja Antiokian seurakunnassa oli profeettoja ja opettajia: Barnabas ja Simeon, jota kutsuttiin Nigeriksi, ja Lukius, kyrenel&auml;inen, ja Manaen, nelj&auml;nnysruhtinas Herodeksen kasvinkumppani, ja Saulus.';
kr38['Apt. 13:2']='Apt. 13:2. Ja heid&auml;n toimittaessaan palvelusta Herralle ja paastotessaan Pyh&auml; Henki sanoi: &quot;Erottakaa minulle Barnabas ja Saulus siihen ty&ouml;h&ouml;n, johon min&auml; olen heid&auml;t kutsunut&quot;.';
kr38['Matt. 27:45']='Matt. 27:45. Mutta kuudennesta hetkest&auml; alkaen tuli pimeys yli kaiken maan, ja sit&auml; kesti hamaan yhdeks&auml;nteen hetkeen.';
kr38['Matt. 27:46']='Matt. 27:46. Ja yhdeks&auml;nnen hetken vaiheilla Jeesus huusi suurella &auml;&auml;nell&auml; sanoen: &quot;Eeli, Eeli, lama sabaktani?&quot; Se on: Jumalani, Jumalani, miksi minut hylk&auml;sit?';
kr38['Mark. 15:34']='Mark. 15:34. Ja yhdeks&auml;nnell&auml; hetkell&auml; Jeesus huusi suurella &auml;&auml;nell&auml;: &quot;Eeli, Eeli, lama sabaktani?&quot; Se on k&auml;&auml;nnettyn&auml;: Jumalani, Jumalani, miksi minut hylk&auml;sit?';
kr38['Luuk. 23:44']='Luuk. 23:44. Ja oli jo noin kuudes hetki. Niin yli kaiken maan tuli pimeys, jota kesti hamaan yhdeks&auml;nteen hetkeen,';
kr38['2. Moos. 12:7']='2Moos. 12:7 Ja he ottakoot sen verta ja sivelk&ouml;&ouml;t sill&auml; molemmat pihtipielet ja ovenp&auml;&auml;llisen niiss&auml; taloissa, joissa he sit&auml; sy&ouml;v&auml;t.';
kr38['Hes. 9:4']='Hes. 9:4 ja Herra sanoi h&auml;nelle: &quot;Kierr&auml; kaupungin, Jerusalemin, l&auml;pi ja tee merkki niitten miesten otsiin, jotka huokaavat ja valittavat kaikkia kauhistuksia, mit&auml; sen keskuudessa tehd&auml;&auml;n&quot;.';
kr38['used']='ok'


InitializeWindowClass();
