function keywordAD() {
    this.keywords = new Array();
    this.replaces = new Array();
}

keywordAD.prototype = {

    //Ékezetek eltávolítása és kisbetűssé alakítás
    toLowerCase: function( str ) {
        return  str.replace( /[áÁ]/gi, 'a' ).replace( /[éÉ]/gi, 'e' ).replace( /[íÍ]/gi, 'i' ).replace( /[óÓöÖőŐ]/gi, 'o' ).replace( /[úÚüÜűŰ]/gi, 'u' ).toLowerCase();
    },

    //Kiemelések készítése
    makeLinks: function( pos, kw, desc, normal ) {
        var kw2 = normal.substr(pos, kw.length);
        this.replaces[ kw2 ] = desc;
    },

    //előfordulások keresése
    findOccurrences: function( lower, normal ) {
        for ( i in this.keywords ) {
            var pos = lower.indexOf( i );
            if ( pos !== -1 )
                this.makeLinks( pos, i, this.keywords[i], normal );
        }

        for ( i in this.replaces ) {
            normal = normal.replace( new RegExp(' '+i+' ', "gi"), ' <a href="#" class="keywordAD">'+i+'<span>'+this.replaces[i]+'</span></a> ' );
        }
        return normal;
    },

    //Tároló keresése
    findHolders: function() {
        var items = document.getElementsByTagName('DIV');
        for ( i in items ) {

            if (typeof items[i].className == 'undefined')
                continue;

            if ( items[i].className.indexOf('keywordAD') == -1 )
                continue;

            this.replaces = new Array();
            items[i].innerHTML = this.findOccurrences( this.toLowerCase( items[i].innerHTML ), items[i].innerHTML );
        }
        var items = document.getElementsByTagName('P');
        for ( i in items ) {

            if (typeof items[i].className == 'undefined')
                continue;

            if ( items[i].className.indexOf('keywordAD') == -1 )
                continue;

            this.replaces = new Array();
            items[i].innerHTML = this.findOccurrences( this.toLowerCase( items[i].innerHTML ), items[i].innerHTML );
        }
    }
}
