function heftlink (searchNode)
{
    var Hefte   = new Array ( "1/89", "2/89", "3/89", "4/89", "5/89", "1/90",
			      "2/90", "3/90", "4/90", "5/90", "1/91", "2/91",
			      "3/91", "4/91", "5/91", "1/92", "2/92", "3/92",
			      "4/92", "5/92", "1/93", "2/93", "4/93", "5/93",
			      "1/94", "2/94", "3/93", "3/94", "4/94", "1/95",
			      "2/95", "3/95", "4/95", "1/96", "2/96", "3/96",
			      "4/96", "1/97", "2/97", "3/97", "4/97", "1/98",
			      "2/98", "3/98", "4/98", "1/99", "2/99", "3/99",
			      "4/99", "1/00", "2/00", "3/00", "4/00", "1/01",
			      "2/01", "3/01", "4/01", "1/02", "2/02", "3/02",
			      "4/02", "1/03", "2/03", "3/03", "1/04", "2/04",
			      "3/04", "1/05", "2/05", "3/05", "1/06", "2/06",
			      "3/06", "1/07", "2/07", "3/07", "1/08", "2/08",
			      "3/08", "1/09", "2/09", "3/09", "1/10", "2/10",
			      "3/10" );



    var PageIDs = new Array ( "495",  "495",  "501",  "503",  "506",  "512",
			      "514",  "514",  "516",  "518",  "520",  "522",
			      "524",  "524",  "526",  "528",  "530",  "532", 
			      "534",  "534",  "536",  "538",  "540",  "542",
			      "544",  "546",  "540",  "548",  "550",  "562",
			      "565",  "567",  "569",  "573",  "575",  "578",
			      "580",  "584",  "586",  "588",  "590",  "593", 
			      "595",  "597",  "599",  "602",  "604",  "606",
			      "608",  "611",  "613",  "615",  "617",  "620",
			      "645",  "647",  "649",  "654",  "656",  "658",
			      "660",  "665",  "667",  "669",  "673",  "675",
			      "677",  "683",  "685",  "687",  "690",  "692",
			      "694",  "697",  "699",  "404",  "372",  "369",
			      "362",  "249",  "251",  "270", "1059", "1061",
			     "1065" );


    var childNodes = (searchNode || document.body).childNodes;
    var cnLength = childNodes.length;
    var excludes = 'html,head,style,title,link,meta,script,object,iframe';

    while (cnLength--) {
        var currentNode = childNodes[cnLength];
        if (currentNode.nodeType === 1 &&
            (excludes + ',').indexOf(currentNode.nodeName.toLowerCase() + ',') === -1) {
            arguments.callee(currentNode);
        }
        if (currentNode.nodeType !== 3) {
            continue;
        }
        var parent = currentNode.parentNode;
        var frag = (function(){
                var html = currentNode.data;
                for (var i = 0; i < Hefte.length; i++)
                {
                    var regex = new RegExp(Hefte[i],'g');
                    var replacement = "<a href='http://www.mantis-verlag.de/?page_id="+PageIDs[i]+"'>"+Hefte[i]+"</a>";
                    html = html.replace(regex, replacement);
                }
                var wrap = document.createElement('div');
                var frag = document.createDocumentFragment();
                wrap.innerHTML = html;
                while (wrap.firstChild) 
                {
                    frag.appendChild(wrap.firstChild);
                }
                return frag;
            })();
        parent.insertBefore(frag, currentNode);
        parent.removeChild(currentNode);
    }
}
