/*
 * Std Funktion für Suche, Einträge und Etc
 */

/* Ajax */
// macht ajax anfragen
function doAjax(sWhat, mVariables, fOnFinish, bPost){
    if(bPost){ // POST
        new Ajax.Request(sDomain + sWhat + '/',
        {
            method:'POST',
            onSuccess:fOnFinish,
            postBody: 'commands=' +encodeURIComponent(Object.toJSON(mVariables))
        }
        );
    } else { // GET
        new Ajax.Request(sDomain + sWhat + '/' + convertToCommands(mVariables).replace(/\./g, '%06'),
        {
            method:'get',
            onSuccess:fOnFinish
        }
        );
    } // if(bPost)
} // function

// macht die variablen passend für GET und POST übertragung
function convertToCommands(mVariable){
    if(typeof mVariable == 'string'){ // string, als solchen markieren
        return encodeURIComponent(Object.toJSON({
            string:mVariable
        }));
    } else { // kein string, obj als json
        return encodeURIComponent(Object.toJSON(mVariable));
    } // if(typeof mVariable == 'string')
}

// std callback für ajax requests, fügt die daten ins HTML ein
function responseToDocument(oResponse){
    var obj = String(oResponse.responseText).evalJSON();
    var keys = Object.keys(obj);
    for(var i = 0; i < keys.length; i++){
        if($(keys[i]) != null){
            $(keys[i]).innerHTML = obj[keys[i]];
            if(keys[i] == 'search_result'){
                $('maincontent').style.display = '';
                if($$('#kategorien .artikel')[0]){
                    $$('#kategorien .artikel')[0].style.display = 'none';
                    var nDiv = $N('div');
                    nDiv.innerHTML =
                    '<div id="liste" style="background:url(/style/template/img/gradient.php?height=45) no-repeat; height:15px;">'+
                        '<div class="opener"><a href="/category/">'+
                        aTrans['categories_show_more']+
                        ' <img src="/style/images/more.png" alt="more"/></a></div>'+
                        '<div class="clear"></div>'+
                    '</div>';
                    $('liste').parentNode.replaceChild(nDiv.firstChild, $('liste'));
                    try {
                        supersleight.run();
                    } catch (exception) {}
                }
            } // if == 'search_result'
        } // if != null
    } // for
} // function

/* Einträge */
/* --- Kapitelwechsel */
// initialisiert Kapitel wechsel
function getChapterWidths(sID){
    if(sID == undefined){
        sID = 'entry_chapters';
    }
    var aChapters = $$('#'+sID+' .slide a.site_link');
    var iPx = 0;
    for(var i=0,len=aChapters.
        length; i<len; i++){
        var iTemp = aChapters[i].getWidth();
        if(iTemp < 45){
            aChapters[i].style.width = "45px";
            iTemp = 45;
        }
        iPx += (aChWidths[i] = iTemp+40);
    }
    $$('#'+sID+' .slide')[0].style.width = (iPx+80) + 'px';
}


// der slide effekt 
function slideChapters(iSteps, sID){
    if(sID == undefined){
        sID = 'entry_chapters';
    }
    
    var iPx = 0;
    if( (iChSlidePos+iSteps) <= 0){
        iChSlidePos = 0;
    } else if( (iChSlidePos+iSteps) >= (aChWidths.length-1) ){
        iChSlidePos = (aChWidths.length -1);
    } else {
        iChSlidePos += iSteps;
    }
    
    for(var i=0; i<iChSlidePos; i++){
        iPx += aChWidths[i];
    }
    
    if( ($$('#'+sID+' .slide')[0].getWidth()-iPx) <=
        $$('#'+sID+' .middle')[0].getWidth() ){
        iPx = $$('#'+sID+' .slide')[0].getWidth() - $$('#'+sID+' .middle')[0].getWidth();
    }
    
    $$('#'+sID+' .slide')[0].morph('left:-'+iPx+'px;');
//te(iSteps +'-'+sID+'-'+iChSlidePos+'-'+iPx);
    
} // function

/* Kaptiel & Seiten Wechsel */
function goChapterSite(iChapter, iSite){
    if(iChapter == 0 && (iSite == -1 || iSite == 1)){
        iChapter = oActiveSite[0];
        iSite = oActiveSite[1] + iSite;
    } else if(iSite == 0 && (iChapter == -1 || iChapter == 1)){
        iChapter = oActiveSite[0] + iChapter;
        //iSite = oActiveSite[1];
        iSite = 1;
    }
    if($('chapter_'+ iChapter + '_' + iSite)==null){
        return;
    }
    /* Ausblenden   */
    if($('chapter_sites_' + oActiveSite[0]) != null){
        /* - Kapitel    */
        $('chapter_sites_' + oActiveSite[0]).style.display = '';
        $('chapter_sites2_' + oActiveSite[0]).style.display = '';
        $('chapter_link_'+ oActiveSite[0]).removeClassName('now');
        $('chapter_'+ oActiveSite[0]).style.display = '';
        /* - Seite      */
        $('chapter_'+ oActiveSite[0] + '_' + oActiveSite[1]).style.display = '';
        $$('#chapter_sites_'+oActiveSite[0]+' a.l')[oActiveSite[1]-1].removeClassName('now');
        $$('#chapter_sites2_'+oActiveSite[0]+' a.l')[oActiveSite[1]-1].removeClassName('now');
    }
    /* Einblenden   */
    if($('chapter_sites_' + iChapter) != null){
        /* - Kapitel    */
        if(!$('chapter_sites_' + iChapter).hasClassName('hidden')){
            $('chapter_sites_' + iChapter).style.display = 'block';
            $('chapter_sites2_' + iChapter).style.display = 'block';
        }
        $('chapter_link_'+ iChapter).addClassName('now');
        $('chapter_'+ iChapter).style.display = 'block';
        /* - Seite      */
        /* -- Seiten Offset */
        var iOffset = 0;
        if(iChapter != 1){
            for(var i=1;i<iChapter;i++){
                iOffset += $$('#chapter_'+i+' .chapter_text').length;
            }
        }
        $('chapter_'+ iChapter + '_' + iSite).style.display = 'block';
        $$('#chapter_sites_'+iChapter+' a.l')[iSite-1].addClassName('now');
        $$('#chapter_sites2_'+iChapter+' a.l')[iSite-1].addClassName('now');
        if($('chapter_'+ iChapter + '_' + (iSite-1)) != null){
            $$('#chapter_sites_'+iChapter+' a.sign')[0].style.display = '';
            $$('#chapter_sites2_'+iChapter+' a.sign')[0].style.display = '';
            $$('#chapter_sites_'+iChapter+' a.sign')[0].setAttribute('href', 'javascript:goChapterSite(0,-1)');
            $$('#chapter_sites2_'+iChapter+' a.sign')[0].setAttribute('href', 'javascript:goChapterSite(0,-1)');

        } else {
            $$('#chapter_sites_'+iChapter+' a.sign')[0].style.display = 'none';
            $$('#chapter_sites2_'+iChapter+' a.sign')[0].style.display = 'none';
            $$('#chapter_sites_'+iChapter+' a.sign')[0].setAttribute('href', 'javascript:void(0)');
            $$('#chapter_sites2_'+iChapter+' a.sign')[0].setAttribute('href', 'javascript:void(0)');
        }
        if($('chapter_'+ iChapter + '_' + (iSite+1)) != null){
            $$('#chapter_sites_'+iChapter+' a.sign')[1].style.display = '';
            $$('#chapter_sites2_'+iChapter+' a.sign')[1].style.display = '';
            $$('#chapter_sites_'+iChapter+' a.sign')[1].setAttribute('href', 'javascript:goChapterSite(0,1)');
            $$('#chapter_sites2_'+iChapter+' a.sign')[1].setAttribute('href', 'javascript:goChapterSite(0,1)');
        } else {
            $$('#chapter_sites_'+iChapter+' a.sign')[1].style.display = 'none';
            $$('#chapter_sites2_'+iChapter+' a.sign')[1].style.display = 'none';
            $$('#chapter_sites_'+iChapter+' a.sign')[1].setAttribute('href', 'javascript:void(0)');
            $$('#chapter_sites2_'+iChapter+' a.sign')[1].setAttribute('href', 'javascript:void(0)');
        }
    }
    /* Session      */
    if(oActiveSite[0] != 0 && oActiveSite[0] != iChapter){
        slideChapters(iChapter-oActiveSite[0]);
    }
    oActiveSite = $A([iChapter, iSite]);
    updateSearch();
    /* Fakten       
    if(iChapter == 1 && iSite == 1){
        $$('.facts tr')[0].style.display = '';
    } else {
        $$('.facts tr')[0].style.display = 'none';
    }*/
} // function


/* --- Scroll */
function goToFoot(sID){
    new Effect.ScrollTo(sID,{
        afterFinish:function(){
            window.setTimeout(function(){
                new Effect.Morph(sID,{
                    style:{
                        background:'#ffffff'
                    },
                    beforeStart:function(){
                        $(sID).style.background = '#f9fe41';
                    },
                    duration:1.5
                });
            },300);
        }
    });
}

/* --- Tabs */
function goTab(sWhich){
    //$$('.entry_page_tabs a').invoke('blur');
    var iSite = checkSite();
    var nSite = $('site_' + iSite);
    var nFacts = $$('.facts')[0];
    var nSites = $$('.sites')[0];
    switch(sActiveTab){
        case 'content':
            $$('.entry_page_tabs a')[0].removeClassName('now');
            $('entry_chapters').style.display = '';
            break;
        case 'media':
            $$('.entry_page_tabs a')[1].removeClassName('now');
            $('entry_media').style.display = '';
            break;
        case 'tools':
            $$('.entry_page_tabs a')[2].removeClassName('now');
            $('entry_tools').style.display = '';
            break;
        case 'more':
            $$('.entry_page_tabs a')[3].removeClassName('now');
            $('entry_more').style.display = 'none';
            $('entry_more_under').style.display = 'none';
            try{
                if(bEditorJS){
                    if(String(navigator.userAgent).search(/Gecko/i) != -1){
                        /* Bug Fixing Firefox */
                        var nIFrame = $$('#site_' + iSite + ' iframe')[0];
                        if(nSite){nSite.style.display = '';}
                        aSites[iSite-1][1] = getIFrame(iSite).document.body.innerHTML;
                        var nIFrameNew = $(document.createElement('IFRAME'));
                        nIFrameNew.addClassName('article_iframe');
                        nIFrameNew.setAttribute("frameborder", 0);
                        nIFrameNew.setAttribute("border", 0);
                        nIFrameNew.setAttribute("onclick", "focusContent(this)");
                        nIFrameNew.setAttribute("onfocus", "focusContent(this)");
                        nIFrameNew.setAttribute("src", "/site/iframe");

                        nIFrame.parentNode.replaceChild(nIFrameNew, nIFrame);
                        //nIFrame = getIFrame(iSite);

                        nIFrame = getIFrame(iSite);
                        nIFrame.document.designMode = "On";
                    //window.setTimeout(updateFootNoteList, 500, iSite);
                    } else {
                        updateFootNoteList(iSite);
                    //window.setTimeout(updateFootNoteList, 800, iSite);
                    }
                }
            } catch(e){}
            if(nFacts){
                nFacts.show();
                nSites.show();
            }
            break;
        case 'chapters':
            $$('.entry_page_tabs a')[0].removeClassName('now');
            $('sites_chapters').style.display = '';
            break;
        case 'images':
            $$('.entry_page_tabs a')[1].removeClassName('now');
            $('entry_media').style.display = '';
            updateImagesArrows();
            break;
    }
    switch(sWhich){
        case 'content':
            $$('.entry_page_tabs a')[0].addClassName('now');
            $('entry_chapters').style.display = 'block';
            getChapterWidths();
            break;
        case 'media':
            $$('.entry_page_tabs a')[1].addClassName('now');
            $('entry_media').style.display = 'block';
            updateImagesArrows();
            break;
        case 'tools':
            $$('.entry_page_tabs a')[2].addClassName('now');
            $('entry_tools').style.display = 'block';
            useTool(3);
            break;
        case 'more':
            $$('.entry_page_tabs a')[3].addClassName('now');
            $('entry_more').style.display = 'block';
            $('entry_more_under').style.display = 'block';
            if(bEditorJS){
                closeMoreLiterature();
                updateEntryMoreQuellen();
                
                if(nSite){nSite.hide();}
            }
            if(nFacts){
                nFacts.hide();
                nSites.hide();
            }
            break;
        case 'chapters':
            $$('.entry_page_tabs a')[0].addClassName('now');
            $('sites_chapters').style.display = 'block';
            break;
        case 'images':
            $$('.entry_page_tabs a')[1].addClassName('now');
            $('entry_media').style.display = 'block';
            updateImagesArrows();
            break;
    }
    
    sActiveTab = sWhich;
}
/* --- Medien wechsel */
function updateImagesArrows(){
    if($$('#entry_media .middle .slide').length == 0){
        return;
    }
    var aCons = $$('#entry_media .middle .slide .con');
    aCons.each(function(){
        if(arguments[0].getWidth() > 0 && arguments[0].getWidth() < 60){
            arguments[0].style.width = '60px';
        }
    });
    if(aCons && $$('#entry_media .middle .slide')[0].getWidth() > $$('#entry_media .middle')[0].getWidth()){
        // Größer als .middle -> Anzeigen
        $$('#entry_media .left')[0].show();
        $$('#entry_media .right')[0].show();
        // Breiten ausrechnen
        
        var iLen = aCons.length;
        aImagesWidths = $A(new Array(iLen));
        for(var i=0;i<iLen;i++){
            var aTmp = [0,true];
            for(var j=0;j<i;j++){
                aTmp[0] += aCons[j].getWidth()+4;
            }
            var iTmp = 0;
            for(var j=i;j<iLen;j++){
                iTmp += aCons[j].getWidth()+4;
            }
            
            aTmp[1] = (iTmp > $$('#entry_media .middle')[0].getWidth());
            //console.log([i, iLen, iTmp,aTmp]);
            aImagesWidths[i] = aTmp;
        }
        // Notwendige ausblendigen
        if(iImagesPos == 0){
            // Linker Pfeil ausblenden
            $$('#entry_media .left')[0].hide();
        }
        if(iLen <= iImagesPos){
            // Rechter Pfeil ausblenden
            $$('#entry_media .right')[0].hide();
        }
    } else {
        // Kleiner -> Pfeile ausblenden
        $$('#entry_media .left')[0].hide();
        $$('#entry_media .right')[0].hide();
    }
}
function slideImagesLeft(){
    if(iImagesPos != 0){
        iImagesPos--;
        //console.log( $$('.chapters .middle .slide .con')[iImagesPos].getWidth() +'px');
        //console.log( aImagesWidths[iImagesPos]);
        $$('#entry_media .middle .slide')[0].morph(
            'left:-' + aImagesWidths[iImagesPos][0] +'px',
            {
                queue:'end'
            }
            );
        // Rechter Pfeil einblenden
        $$('#entry_media .right')[0].show();
        if(iImagesPos == 0){
            // Linker Pfeil ausblenden
            $$('#entry_media .left')[0].hide();
        }
    }
}
function slideImagesLeftEnd(){
    if(iImagesPos != 0){
        iImagesPos = 1;
        slideImagesLeft();
    }
}
function slideImagesRight(){
    if(aImagesWidths[iImagesPos][1]){
        iImagesPos++;
        //console.log('-'+ $$('.chapters .middle .slide .con')[iImagesPos].getWidth() +'px');
        //console.log( aImagesWidths[iImagesPos]);
        $$('#entry_media .middle .slide')[0].morph(
            'left:-' + aImagesWidths[iImagesPos][0] +'px',
            {
                queue:'end'
            }
            );
        $$('#entry_media .left')[0].show();
    }/* else if((135*iImagesPos)<($$('.chapters .middle .slide')[0].getWidth()-560)){
        $$('.chapters .middle .slide')[0].morph(
            'left:-' + ($$('.chapters .middle .slide')[0].getWidth()-540) +'px',
            {queue:'end'}
        );
        iImagesPos++;
        $$('.chapters .left')[0].show();
    }*/
    //if($$('.chapters .middle .slide .con').length >= iImagesPos){
    if(!aImagesWidths[iImagesPos][1]){
        // Pfeil ausblenden
        $$('#entry_media .right')[0].hide();
       
    }
}
function slideImagesRightEnd(){
    while(aImagesWidths[iImagesPos+1][1]){
        iImagesPos++;
    }
    slideImagesRight();
}
function showImage(oData, sWhat){
    /*
    $$('.ibox_background')[0].style.display = "";*/
    var nBox = $$('.image_box')[0];
    var nContent = nBox.select('.img')[0];
    while(nContent.childNodes.length > 0){
        nContent.removeChild(nContent.firstChild);
    }
    if(!nBox.hasAttribute('callback')){
        addEvent(nBox, 'click', function(){
            var nNode = $$('.image_box')[0];
            var oCB = nNode.getAttribute('callback');
            nNode.setAttribute('callback', 'void(0);');
            if(oCB == 'void(0);'){
                return;
            } else if(typeof oCB == typeof function(){}){
                oCB();
            } else {
                var fCB = new Function(oCB.toString());
                fCB();
            }
        });
        nBox.setAttribute('callback', 'void(0);');
    }
    nContent.appendChild($N('div'));
    var nHTML = nContent.firstChild;
    nContent.style.background = "#fff";
    switch(sWhat){
        case 'title_image_show':
            nHTML.innerHTML =
            '<table>'+
            '<tr><td>'+
            '<img src="' +oData.getAttribute('src').replace('small','big')+ '" style="max-width:800px;" />'+
            '<p style="width: 780px;">'+oData.getAttribute('alt')+'</p>'+
            '</td></tr>'+
            '<tr><td>'+
            '<a class="ibox_button" style="float:right" href="javascript:closeImageBox();void(0)">'+
            aTrans['do_close']+ '</a>'+
            '<div class="clear" style="height:0px;"></div>' +
            '</div></td></tr>'+
            '</table>';
            break;
        case 'title_image_edit':
            nHTML.innerHTML =
            '<table>'+
            '<tr><td><img src="' +oData.getAttribute('src').replace('small','big')+ '" style="max-width:800px;" /></td></tr>'+
            '<tr><td><textarea>'+oData.getAttribute('alt')+'</textarea></td></tr>'+
            '<tr><td><div style="position:relative">'+
            '<div id="mediaImagesReplaceDiv">' +
            '<form action="/upload/image" method="post" id="uploadForm_images" enctype="multipart/form-data">' +

            '<input type="file"'  +
            'id="imageUploadInput"' +
            'class="clickJack"' +
            'name="imageUploadInput"' +
            'onchange="imageSubmit(this);closeImageBox()"' +
            'onmouseover="$(\'image_replacer_button\').addClassName(\'hover\');"' +
            'onmouseout="$(\'image_replacer_button\').removeClassName(\'hover\');"' +
            '/>'+
            '</form>'+
            '</div>'+
            '<a id="image_replacer_button" class="ibox_button" style="float:left" href="javascript:void(0)">'+
            aTrans['image_reupload']+
            '</a>' +
            '<a class="ibox_button" style="float:right" href="javascript:closeImageBox();void(0)">'+
            aTrans['do_close']+ '</a>'+
            '<a class="ibox_button" style="float:right" href="javascript:saveTitleImageText();void(0)">'+
            aTrans['do_save']+ '</a>'+
            '<div class="clear" style="height:0px;"></div>' +
            '</div></td></tr>'+
            '</table>';
            break;
        case 'addtext':
            // Bild Anzeigen + Editor für Text
            nHTML.innerHTML =
            '<table>'+
            '<tr><td><img src="' +oData.getAttribute('name')+ '" /></td></tr>'+
            '<tr><td><textarea>'+oData.getAttribute('alt')+'</textarea></td></tr>'+
            '<tr><td><div style="position:relative">'+
            '<div id="mediaImagesReplaceDiv">' +
            '<form action="/upload/image" method="post" id="uploadForm_images" enctype="multipart/form-data">' +
                                
            '<input type="file"'  +
            'id="mediaImagesReplacer"' +
            'class="clickJack"' +
            'name="mediaImagesReplacer"' +
            'onchange="mediaReplace(this, \''+oData.getAttribute('src')+'\')"' +
            'onmouseover="$(\'image_replacer_button\').addClassName(\'hover\');"' +
            'onmouseout="$(\'image_replacer_button\').removeClassName(\'hover\');"' +
            '/>'+
            '</form>'+
            '</div>'+
            '<a id="image_replacer_button" class="ibox_button" style="float:left" href="javascript:void(0)">'+
            aTrans['image_reupload']+
            '</a>' +
            '<a class="ibox_button" style="float:right" href="javascript:closeImageBox();void(0)">'+
            aTrans['do_close']+ '</a>'+
            '<a class="ibox_button" style="float:right" href="javascript:saveImageText();void(0)">'+
            aTrans['do_save']+ '</a>'+
            '<div class="clear" style="height:0px;"></div>' +
            '</div></td></tr>'+
            '</table>';
            break;
        case 'image':
            //nBox.setAttribute("onclick", "closeImageBox()");
            //addEvent(nBox, 'click', closeImageBox);
            nBox.setAttribute('callback', 'closeImageBox();');
            
            var nIMG = $N('img');
            nIMG.src = oData[0];
            nIMG.style.width  = oData[1] + 'px';
            nIMG.style.height = oData[2] + 'px';
            //nContent.parentNode.style.width = (parseInt(oData[1])+16) + 'px';
            var nP = $N('p');
            nP.style.width = (parseInt(oData[1])-20)+'px';
            nP.innerHTML = oData[3];
            nContent.removeChild(nHTML);
            nContent.appendChild(nIMG);
            nContent.appendChild(nP);
            break;
        case 'dialog':
            // Dialog boxen
            nBox.setAttribute('callback', oData.callBack);
            nContent.style.background = "#eee";
            var sHTML = 
            '<table>\n\
                    <tr>\n\
                        <td class="dialog_sign">\n\
                            <img src="/style/images/dialog/' + oData.type + '.png" />\n\
                        </td>\n\
                        <td class="dialog_text">' + oData.html + '</td>\n\
                    </tr><tr>\n\
                        <td colspan="2">' + oData.buttons + '</td>\n\
                    </tr>\n\
                </table>';
            nContent.innerHTML = sHTML;
            break;
    }
    $$('.image_box')[0].style.display = 'block';
    if(document.all){
        $$('.image_box .bg')[0].style.height = ($$('body')[0].getHeight()+10) + 'px';
        $$('.image_box .bg')[0].style.width = $$('body')[0].getWidth() + 'px';
        
        $$('.image_box .con')[0].style.left = ($$('body')[0].getWidth()-$$('.image_box .con')[0].getWidth())/2 + 'px';
        supersleight.run();
    }
    if(document.viewport.getScrollOffsets()[1] > 68){
        new Effect.ScrollTo($$('.image_box .img')[0], {
            duration:0.3,
            offset:-10
        });
    }
    updateImagesArrows();
}
function closeImageBox(){
    $$('.image_box')[0].hide();
}

function info(sText, sCallBack, sButton){
    if(sCallBack == undefined){
        sCallBack = "closeImageBox();";
    }
    if(sButton == undefined){
        sButton = '<a class="button_size1_weiss button_text_span"'+
    'href="javascript:$$(\'.image_box\')[0].hide();void(0)"'+
    'style="margin:auto;'+
    '>'+
    aTrans['ok']+
    '</a>';
    }
    showImage(
    {
        html:
        '<div style="'+
        'margin:auto;'+
        //'text-align:center;'+
        'font-weight:bold;'+
        'padding:0 10px;'+
        '">'+
        sText +
        '</div>',
        callBack:sCallBack,
        type:'info',
        buttons:sButton
    }, 'dialog');
}
function error(sText, sCallBack, sButton){
    if(sCallBack == undefined){
        sCallBack = "closeImageBox();";
    }
    if(sButton == undefined){
        sButton = '<a class="button_size1_weiss button_text_span"'+
    'href="javascript:$$(\'.image_box\')[0].hide();void(0)"'+
    'style="margin:auto;'+
    '>'+
    aTrans['ok']+
    '</a>';
    }
    showImage({
        html:
        '<div style="'+
        'margin:auto;'+
        //'text-align:left;'+
        'font-weight:bold;'+
        'color:#f09;'+
        //''+
        '">'+
        sText+
        '</div>',
        callBack:sCallBack,
        type:'bang',
        buttons:sButton
    }, 'dialog');
}
function question(sText, sCallBack, sButton){
    if(sCallBack == undefined){
        sCallBack = "closeImageBox();";
    }
    if(sButton == undefined){
        sButton = '<a class="button_size1_weiss button_text_span"'+
    'href="javascript:$$(\'.image_box\')[0].hide();void(0)"'+
    'style="margin:auto;'+
    '>'+
    aTrans['abort']+
    '</a>';
    }
    showImage({
        html:
        '<div style="'+
        'margin:auto;'+
        //'text-align:left;'+
        //'font-weight:bold;'+
        //'color:#f09;'+
        //''+
        '">'+
        sText+
        '</div>',
        callBack:sCallBack,
        type:'demand',
        buttons:sButton
    }, 'dialog');
}
/* --- Tools */
function useTool(iTool){
    /* Tools:
     * 0        Toggle FootNotes
     * 1        Toogle Links
     * 2        Marker
     * 3        Search
     */
    //$$('#entry_tools .bar a').invoke('blur');
    switch(iTool){
        case 0:
            var nBtn = $$('#entry_tools .bar a img')[0];
            if(nBtn.src.search(/hover/) == -1){
                // Active Switch
                nBtn.src = "/style/images/buttons/footswitch_hover.jpg";
                /* Hide FootNotes */
                $$('.superlink').invoke('hide');
            } else {
                // Deactivate Switch
                nBtn.src = "/style/images/buttons/footswitch.jpg";
                /* Show FootNotes */
                $$('.superlink').invoke('show');
            }
            break;
        case 1:
            var nBtn = $$('#entry_tools .bar a img')[1];
            if(nBtn.src.search(/hover/) == -1){
                // Active Switch
                nBtn.src = "/style/images/buttons/linkswitch_hover.jpg";
                /* Hide Links */
                $$('a.normallink', 'a.innerlink').each(function(nNode){
                    var sHref = nNode.getAttribute("href");
                    var sClass = nNode.getAttribute("class");
                    var sText = nNode.innerHTML;
                    var nSpan = $N('SPAN');
                    nSpan.setAttribute('name', sHref);
                    nSpan.setAttribute('class', sClass);
                    nSpan.innerHTML = sText;
                    nNode.parentNode.replaceChild(nSpan, nNode);
                });
            } else {
                // Deactivate Switch
                nBtn.src = "/style/images/buttons/linkswitch.jpg";
                /* Show Links */
                $$('span.normallink', 'span.innerlink').each(function(nNode){
                    var sHref = nNode.getAttribute("name");
                    var sClass = nNode.getAttribute("class");
                    var sText = nNode.innerHTML;
                    var nA = $N('a');
                    nA.setAttribute('href', sHref);
                    nA.setAttribute('class', sClass);
                    nA.innerHTML = sText;
                    nNode.parentNode.replaceChild(nA, nNode);
                });
            }
            break;
        case 2: // Marker
            var nBtn1 = $$('#entry_tools .bar a img')[2]; // Marker
            var nBtn2 = $$('#entry_tools .bar a img')[3]; // Search
            if(nBtn1.src.search(/hover/) == -1){
                nBtn2.src = "/style/images/buttons/finder.jpg";
                /* Show Marker Tool */
                $('entry_tools_marker').style.display = 'block';
                nBtn1.src = "/style/images/buttons/marker_hover.jpg";
                /* Hide Search Input */
                $('entry_tools_search').style.display = '';
            }
            break;
        case 3: // Search
            var nBtn1 = $$('#entry_tools .bar a img')[2]; // Marker
            var nBtn2 = $$('#entry_tools .bar a img')[3]; // Search
            if(nBtn2.src.search(/hover/) == -1){
                nBtn2.src = "/style/images/buttons/finder_hover.jpg";
                /* Show Marker Tool */
                $('entry_tools_marker').style.display = '';
                nBtn1.src = "/style/images/buttons/marker.jpg";
                /* Hide Search Input */
                $('entry_tools_search').style.display = 'block';
            }
            updateSearch();
            break;
        case 4:
            var nBtn = $$('#entry_tools .bar a img')[3];
            if(nBtn.src.search(/hover/) == -1){
                nBtn.src = "/style/images/buttons/finder_hover.jpg";
                /* Show Search Input */
                $('entry_tools_search').style.display = 'block';
            } else {
                nBtn.src = "/style/images/buttons/finder.jpg";
                /* Hide Search Input */
                $('entry_tools_search').style.display = '';
            }
            break;
    }
}
/* ----- Suche */
// focus
function activateSearch(){
    var nInput = $('entry_tools_search_input');
    //nInput.removeClassName('grey');
    nInput.style.color = '#333';
    nInput.value = '';
}
// blur
function deactivateSearch(){
    var nInput = $('entry_tools_search_input');
    if(nInput.value.replace(/^\s+|\s+$/g,"") == ''){
        nInput.style.color = '';
        nInput.value = nInput.getAttribute('title');
    }
}
// onKey...
function searchKeyPressed(oEvent){
    if(oEvent == null && event.keyCode == 13){ // IE
        doSearch();
    } else if(oEvent != null && oEvent.keyCode == 13){ // Moz
        doSearch();
    }
}
// eigentliche suchfunktion
function doSearch(){
    aFounds = {};
    var sInput = $('entry_tools_search_input').value.toLowerCase();
    var aChapters = $$('.chapter_text');
    // Alte funde entfernen
    for(var i=0,len=aChapters.length;i<len;i++){
        // Gesucht wird: '<span class="founded">foo</span>'
        aChapters[i].innerHTML = aChapters[i].innerHTML.replace(
            /<span class="?founded"?>([^>]*)<\/span>/gi, "$1");
    }
    sInput = sInput.replace(/([\*\[\]\?\+\\\.\^\$])/g, '\\$1');
    // kontrolle ob wir jetzt überhaupt suchen sollten
    if(sInput != '' && sInput.length >= 3){
        for(var i=0,len=aChapters.length;i<len;i++){
            // Fund auf dieser Seite?
            if(aChapters[i].innerHTML.search(RegExp(sInput, "i")) != -1){
                aFounds[aChapters[i].id] = 0;
                // Gefunden! -> Markieren
                var sHTML = aChapters[i].innerHTML;
                var aCache = [];
                var bInTag = false;
                var cNow = '';
                for(var iPos =0,iTextLen=sHTML.length; iPos<iTextLen;iPos++){
                    // ### Suchen ###
                    cNow = sHTML.charAt(iPos).toLowerCase();
                    if(!bInTag && aCache.length == sInput.length){
                        aCache.shift();
                    }
                    if(cNow == '<'){
                        bInTag = true;
                    } else if(cNow == '>'){
                        bInTag = false;
                        aCache = [];
                    } else if(!bInTag) {
                        aCache.push(cNow);
                        if(aCache.join("").search(sInput) != -1){
                            // ### Markieren ###
                            aFounds[aChapters[i].id] += 1;
                            var aTmp = [
                            sHTML.substring(0, iPos-(sInput.length-1)),
                            sHTML.substring(iPos-(sInput.length-1), iPos+1),
                            sHTML.substring(iPos+1)
                            ];

                            sHTML = aTmp[0] + '<span class="founded">' +
                            aTmp[1] + '</span>' + aTmp[2];

                            iPos += 29;//='<span class="founded"></span>'.length
                            iTextLen += 29;
                            aCache = [];
                        }
                    }
                }
                aChapters[i].innerHTML = sHTML;
            }
        }
    }
    updateSearch();
}
// seiten zahlen bei denn Kapiteln
function getSiteOffset(nChapter){
    var aChapters = $$('.chapter');
    var iOffset = 0;
    for(var i=0,len=aChapters.length; i<len; i++){
        if(aChapters[i].id == nChapter.id){
            i = len; // Beenden
        } else {
            iOffset += aChapters[i].select('.chapter_text').length;
        }
    }
    return iOffset;
}
// aktuelle seiten zahl
function getSiteNumber(nSite){
    var nParent = $(nSite.parentNode);
    var iOffset = getSiteOffset(nParent);
    var aSites = nParent.select('.chapter_text');
    for(var i=0,len=aSites.length; i<len; i++){
        if(aSites[i].id == nSite.id){
            i = len;
        } else {
            iOffset += 1;
        }
    }
    return ++iOffset;
}
// nach seiten wechsel suche updaten
function updateSearch(){
    $('entry_tools_search_left_txt').innerHTML = '&nbsp;';
    $('entry_tools_search_middle_txt').innerHTML = '&nbsp;';
    $('entry_tools_search_right_txt').innerHTML = '&nbsp;';

    $$('#entry_tools_search_left_btn a')[0].style.display = '';
    $$('#entry_tools_search_right_btn a')[0].style.display = '';

    var idActiveChapter = 'chapter_'+ oActiveSite[0] +"_"+ oActiveSite[1];

    if(!(oActiveSite[0] == 1 && oActiveSite[1] == 1)){
        var sLast = null;
        for(var key in aFounds){
            if(key==idActiveChapter && sLast != null){
                // Funde auf vorhergehende Seite
                $$('#entry_tools_search_left_btn a')[0].style.display = 'block';
                $('entry_tools_search_left_txt').innerHTML =
                "Seite " + getSiteNumber($(sLast));
                $('entry_tools_search_left_btn').setAttribute("site", sLast);
            } else {
                sLast = key;
            }
        }
    }
    
    var iLast = 0;
    var iNowCount = aFounds[idActiveChapter];
    if(iNowCount != null){
        $('entry_tools_search_middle_txt').innerHTML =
        (iNowCount != 1 ? iNowCount +' '+aTrans['found']: aTrans['one_found'])
        + aTrans['on_this_page'];
    } else {
        iLast = 1;
    }

    
    for(var key in aFounds){
        if(iLast == 0 && key==idActiveChapter){
            iLast = 1;
        } else if(iLast == 1) {
            iLast = 2;
            $$('#entry_tools_search_right_btn a')[0].style.display = 'block';
            $('entry_tools_search_right_txt').innerHTML =
            "Seite " + getSiteNumber($(key));
            $('entry_tools_search_right_btn').setAttribute("site", key);
        }
    }
        
    
}
function searchNext(){
    var aSite = $('entry_tools_search_right_btn').getAttribute(
        "site").replace("chapter_", "").split("_");
    goChapterSite(aSite[0], aSite[1]);
    $$('#entry_tools_search_right_btn a')[0].blur();
}
function searchPrev(){
    var aSite = $('entry_tools_search_left_btn').getAttribute(
        "site").replace("chapter_", "").split("_");
    goChapterSite(aSite[0], aSite[1]);
    $$('#entry_tools_search_left_btn a')[0].blur();
}

/* ----- Markier Tool */
// markierte sachen in die Textbox einfügen
function addSelected(){
    var nTextArea = $$('#entry_tools_marker textarea')[0];
    var nCopyRight = $$('.zitier textarea')[0];
    var sText = getSelectionText();
    if(sText != ''){
        aMarks.push(sText);
        nTextArea.innerHTML = '';
        nTextArea.value = '';
        for(var i=0, len=aMarks.length;i<len;i++){
            nTextArea.value += aMarks[i] + "\n\n";
        }

        nTextArea.value += "\n---\n" +  nCopyRight.value;
    }
}

function ibox_resize(){
    if(document.all && $$('#image_box .con').length == 1){
        $$('#image_box .con')[0].style.width = $$('body')[0].getWidth() + 'px';

        $$('#image_box .bg')[0].style.height = $$('body')[0].getHeight()+10 + 'px';
        $$('#image_box .bg')[0].style.width = $$('body')[0].getWidth() + 'px';

        $$('#image_box .con .l')[0].style.height = $$('#image_box .img')[0].getHeight() + 'px';
        $$('#image_box .con .r')[0].style.height = $$('#image_box .img')[0].getHeight() + 'px';
        $$('#image_box .con .t')[0].style.width = $$('#image_box .img')[0].getWidth() + 'px';
        $$('#image_box .con .b')[0].style.width = $$('#image_box .img')[0].getWidth() + 'px';
    }
}
/* Artikel auswahl liste */
// erstellt die Normale Version
function makeEntryList(aData){
    aEntryList = aData;
    aEntryListNow = aData;
    
    makeEntryListArticles();

    // Kategorie Filter Liste
    makeEntryListChangeOptions('reset');
}
// erstellt das html, args: '+' für nächste seite, '-' voherige, 'filter' und ''
function makeEntryListArticles(){
    // Kontrolle der Argumente
    if(arguments[0] == '+'){
        // Eine Seite vor
        if(aEntryListNow[0].length > ((iEntryListPos+1)*15)){
            // Weitere Seite möglich
            iEntryListPos += 1;
        }
    } else if(arguments[0] == '-'){
        // Eine Seite zurück
        if(iEntryListPos > 0){
            iEntryListPos -= 1;
        }
    } else if(arguments[0] == 'filter'){
        // Filtern
        aEntryListNow = $A([[],[]]);
        var nSearch = $('article_finder');
        var nCat1 = $$('.article_filter_box select.category')[0];
        var nCat2 = $$('.article_filter_box select.category')[1];
        var nCat3 = $$('.article_filter_box select.category')[2];

        var sSearch = nSearch.value.toLowerCase();
        var sCat1 = $F(nCat1);
        var sCat2 = $F(nCat2);
        var sCat3 = $F(nCat3);

        var bSearch = (sSearch != nSearch.title.toLowerCase() && sSearch != '');
        var bCat1 = (sCat1 != 'all');
        var bCat2 = (sCat2 != 'all');
        var bCat3 = (sCat3 != 'all');

        for(var i=0,len=aEntryList[0].length;i<len;i++){
            var sName = aEntryList[0][i]['title'];
            if(!bSearch && !bCat1){
                // Nichts zu Filtern
                aEntryListNow[0].push(aEntryList[0][i]);
                aEntryListNow[1].push(aEntryList[1][i]);

            } else if(bSearch){
                if(sName.toLowerCase().indexOf(sSearch) != -1) {
                    // Text fund
                    if(!bCat1){
                        // Kategorien werden nicht gesucht, text wurde gefunden
                        aEntryListNow[0].push(aEntryList[0][i]);
                        aEntryListNow[1].push(aEntryList[1][i]);
                    } else if(
                        (sCat1 == aEntryList[1][i][0]['id']) &&
                        (!bCat2 || sCat2 == aEntryList[1][i][1]['id']) &&
                        (!bCat3 || sCat3 == aEntryList[1][i][2]['id'])
                        ) {
                        // Kategorien werden gesucht, beides wurde gefunden
                        aEntryListNow[0].push(aEntryList[0][i]);
                        aEntryListNow[1].push(aEntryList[1][i]);
                    }
                }
            }else if(
                (sCat1 == aEntryList[1][i][0]['id']) &&
                (!bCat2 || sCat2 == aEntryList[1][i][1]['id']) &&
                (!bCat3 || sCat3 == aEntryList[1][i][2]['id'])
                ) {
                // Text wird nicht gesucht, Kategorien wurden gefunden
                aEntryListNow[0].push(aEntryList[0][i]);
                aEntryListNow[1].push(aEntryList[1][i]);
            }
        }
        // Reset der Seiten Zahl
        iEntryListPos = 0;
    }

    var nEntries = $$('.article_list tbody')[0]; // <tbody>
    // tabelle löschen
    while(nEntries.childNodes.length != 0){
        nEntries.removeChild(nEntries.firstChild);
    }
    // Einträge tabelle machen

    var len = ((aEntryListNow[0].length-iEntryListPos*15) < 16) ?
    (aEntryListNow[0].length) : iEntryListPos*15+16; // maximal 15
    
    for(var i=iEntryListPos*15; i<len; i++){
        var nTR = $N('TR'); // <tr>
        var nTitleTD = $N('TD').addClassName('title'); // <td class="title">
        var nTitleA = $N('A');
        nTitleA.innerHTML = aEntryListNow[0][i]['title'];
        nTitleA.href = 'javascript:useThisArticle(' + aEntryListNow[0][i]['id'] + ')';
        nTitleTD.appendChild(nTitleA); // </td>
        var nCatTD = $N('TD').addClassName('categories'); // <td class="categories">
        var sCat = "";
        for(var j=0,lenj=aEntryListNow[1][i].length;j<lenj;j++){
            if(j != 0){
                sCat += " / " + aEntryListNow[1][i][j]['nativ'];
            } else {
                sCat += aEntryListNow[1][i][j]['nativ'];
            }
        }
        nCatTD.innerHTML = sCat;
        nTR.appendChild(nTitleTD);
        nTR.appendChild(nCatTD); // </tr>
        nEntries.appendChild(nTR);
    }
    // </tbody>
    if(aEntryListNow[0].length > ((iEntryListPos+1)*15)){
        $$('.arrows .next')[0].removeClassName('hidden');
    } else {
        $$('.arrows .next')[0].addClassName('hidden');
    }
    if(iEntryListPos > 0){
        $$('.arrows .prev')[0].removeClassName('hidden');
    } else {
        $$('.arrows .prev')[0].addClassName('hidden');
    }

}
// filter funktion
function makeEntryListChangeOptions(){
    var nCat1 = $$('.article_filter_box select.category')[0];
    var nCat2 = $$('.article_filter_box select.category')[1];
    var nCat3 = $$('.article_filter_box select.category')[2];

    var aCats = $A([]);
    
    if($F(nCat1) == 'all' || arguments[0] == 'reset'){
        // Reset -> alle auf all
        for(var i=0,len=aEntryList[1].length;i<len;i++){
            aCats[parseInt(aEntryList[1][i][0]['id'])] = aEntryList[1][i][0]['nativ'];
        }
        //        var nCat1 = $$('.article_filter_box select.category')[0];
        //        var nCat2 = $$('.article_filter_box select.category')[1];
        //        var nCat3 = $$('.article_filter_box select.category')[2];

        while(nCat1.childNodes.length != 0){
            nCat1.removeChild(nCat1.firstChild);
        }
        while(nCat2.childNodes.length != 0){
            nCat2.removeChild(nCat2.firstChild);
        }
        while(nCat3.childNodes.length != 0){
            nCat3.removeChild(nCat3.firstChild);
        }

        var nOption = $N('option');
        nOption.value = 'all';
        nOption.innerHTML = aTrans['categories_show_all'];

        nCat1.appendChild(nOption);
        nCat2.appendChild(nOption.cloneNode(true));
        nCat3.appendChild(nOption.cloneNode(true));

        for(var i=0,len=aCats.length;i<len;i++){
            if(aCats[i] != undefined){
                var nOption = $N('option');
                nOption.value = i;
                nOption.innerHTML = aCats[i];
                nCat1.appendChild(nOption);
            }
        }
        //nCat2.disabled = true;
        nCat2.addClassName('hidden')
        nCat3.addClassName('hidden');
        $$('.article_filter_box span')[0].addClassName('hidden');
        $$('.article_filter_box span')[1].addClassName('hidden');
        iCat1Value = 'all';
    } else if($F(nCat1) != iCat1Value) {
        // Mach 2 Ebene
        var sMatch = $F(nCat1);
        var bFound = false;
        for(var i=0,len=aEntryList[1].length;i<len;i++){
            if( aEntryList[1][i][1] != undefined &&
                sMatch == aEntryList[1][i][0]['id']){
                aCats[parseInt(aEntryList[1][i][1]['id'])] = aEntryList[1][i][1]['nativ'];
                bFound = true;
            }
        }
        while(nCat2.childNodes.length != 0){
            nCat2.removeChild(nCat2.firstChild);
        }
        while(nCat3.childNodes.length != 0){
            nCat3.removeChild(nCat3.firstChild);
        }

        var nOption = $N('option');
        nOption.value = 'all';
        nOption.innerHTML = aTrans['show_all_categories'];
        nCat2.appendChild(nOption);
        nCat3.appendChild(nOption.cloneNode(true));

        if(bFound){
            for(var i=0,len=aCats.length;i<len;i++){
                if(aCats[i] != undefined){
                    var nOption = $N('option');
                    nOption.value = i;
                    nOption.innerHTML = aCats[i];
                    nCat2.appendChild(nOption);
                }
            }
            nCat2.removeClassName('hidden')
            $$('.article_filter_box span')[0].removeClassName('hidden');
        } else {
            nCat2.addClassName('hidden');
            $$('.article_filter_box span')[0].addClassName('hidden');
        }
        nCat3.addClassName('hidden');
        $$('.article_filter_box span')[1].addClassName('hidden');
        iCat1Value = sMatch;
        
    } else if($F(nCat2) == 'all'){
        while(nCat3.childNodes.length != 0){
            nCat3.removeChild(nCat3.firstChild);
        }

        var nOption = $N('option');
        nOption.value = 'all';
        nOption.innerHTML = aTrans['categories_show_all'];
        nCat3.appendChild(nOption);
        
        nCat3.addClassName('hidden');
        $$('.article_filter_box span')[1].addClassName('hidden');

        iCat2Value = 'all';
    } else if($F(nCat2) != iCat2Value){
        // Mach 3 Ebene
        var sMatch = $F(nCat2);
        var bFound = false;
        for(var i=0,len=aEntryList[1].length;i<len;i++){
            if( aEntryList[1][i][1] != undefined &&
                aEntryList[1][i][2] != undefined &&
                sMatch == aEntryList[1][i][1]['id']){
                aCats[parseInt(aEntryList[1][i][2]['id'])] = aEntryList[1][i][2]['nativ'];
                bFound = true;
            }
        }
        while(nCat3.childNodes.length != 0){
            nCat3.removeChild(nCat3.firstChild);
        }

        var nOption = $N('option');
        nOption.value = 'all';
        nOption.innerHTML = aTrans['show_all_categories'];
        nCat3.appendChild(nOption);
        if(bFound){
            for(var i=0,len=aCats.length;i<len;i++){
                if(aCats[i] != undefined){
                    var nOption = $N('option');
                    nOption.value = i;
                    nOption.innerHTML = aCats[i];
                    nCat3.appendChild(nOption);
                }
            }
            nCat3.removeClassName('hidden');
            $$('.article_filter_box span')[0].removeClassName('hidden');
            $$('.article_filter_box span')[1].removeClassName('hidden');
        } else {
            nCat3.addClassName('hidden');
            $$('.article_filter_box span')[0].removeClassName('hidden');
            $$('.article_filter_box span')[1].addClassName('hidden');
        }
        iCat2Value = sMatch;
    }
    makeEntryListArticles('filter');
}

// blur
function blurArticleFinder(){
    var node = $('article_finder');
    if(node.value == ''){
        node.addClassName('grey')
        node.value = node.title;
        makeEntryListArticles('filter');
    }
}

// kategorien
function entries_switch(i){
    $$('#entries ul').invoke('removeClassName', 'active');
    $('entries_'+i).addClassName('active');

    var iMax = $F('entries_max');
    var iWill = i;
    var nTD = $$('.site_switcher .middle')[0];
    var n0 = null;


    while(nTD.hasChildNodes()){
        nTD.removeChild(nTD.firstChild);
    }
    nTD.appendChild($N('#text','Seite '));

    if(iWill != 0){
        n0 = $N('A');
        n0.href = "javascript:entries_switch(0);void(0)";
        n0.innerHTML = "1";

        nTD.appendChild(n0);

        if(iWill > 3){
            nTD.appendChild($N('#text', ' ... '));
        } else {
            nTD.appendChild($N('#text',' '));
        }
        i = iWill-2;
        if(i < 1){i = 1;}
        for(;i<iMax && i<(iWill+2);i++){
            if(i == iWill){
                var nB = $N('B');
                nB.innerHTML = i+1;
                nTD.appendChild(nB);
            } else {
                var nA = $N('A');
                nA.innerHTML = i+1;
                nA.href = "javascript:entries_switch("+i+");void(0)";
                nTD.appendChild(nA);
            }
            nTD.appendChild($N('#text',' '));
        }
    } else {
        n0 = $N('B');
        n0.innerHTML = "1";
        nTD.appendChild(n0);
        nTD.appendChild($N('#text',' '));
        for(i = 1; i<iMax && i<3;i++){
            var nA = $N('A');
            nA.innerHTML = i+1;
            nA.href = "javascript:entries_switch("+i+");void(0)";
            nTD.appendChild(nA);
            nTD.appendChild($N('#text',' '));
        }
    }

    if(iMax > iWill+3){
        nTD.lastChild.nodeValue = ' ... ';
        var nLast = $N('A');
        nLast.innerHTML = iMax;
        nLast.href = "javascript:entries_switch("+(iMax-1)+");void(0)";
        nTD.appendChild(nLast);
    }


    if(iWill == 0){
        $$('#entries .arrow a')[0].style.display = 'none';
    } else {
        $$('#entries .arrow a')[0].style.display = 'inline';
        $$('#entries .arrow a')[0].href = "javascript:entries_switch("+(iWill-1)+");void(0)";
    }
    if(iWill == iMax-1){
        $$('#entries .arrow a')[1].style.display = 'none';
    } else {
        $$('#entries .arrow a')[1].style.display = 'inline';
        $$('#entries .arrow a')[1].href = "javascript:entries_switch("+(iWill+1)+");void(0)";
    }

}
function searchEntriesOfCategory(){
    var nInput = $('enries_search_input');
    if($$('#entries_backup ul').length > 0){
        $$('#entries ul').each(function (node){
            $('entries').removeChild(node);
        });
        $$('#entries_backup ul').each(function (node){
            $('entries_backup').removeChild(node);
            $('entries').appendChild(node);
        });
    }
    if($$('#entries .site_switcher').length > 0){
        $$('#entries .site_switcher').invoke('show');
    }
    if(nInput.value == nInput.alt || nInput.value == ''){
        return;
    }
    try{
        var rSearch = new RegExp(nInput.value, 'gi');
    } catch(e){return;}

    $$('#entries ul').each(function (node){
        $('entries').removeChild(node);
        $('entries_backup').appendChild(node);
    });
    var aFound = $A();
    
    $$('#entries_backup li').each(function (node){
        var sTemp = node.select('a')[0].innerHTML;
        if(rSearch.exec(sTemp)){
            aFound.push(node.cloneNode(true));
        }
    });
    var nUL = $N('UL');
    aFound.each(function (node){
        nUL.appendChild(node);
    });
    nUL.addClassName('active');
    $('entries').appendChild(nUL);

    if($$('#entries .site_switcher').length > 0){
        $$('#entries .site_switcher').invoke('hide');
    }

    return;
}
// kategorie ansicht holen
function getCategories(sURL, iCatID){
    var oCats = new Object();
    var aSplices = sURL.split('/');
    aSplices.splice(0,1);
    for(var i = 0; i < aSplices.length; i++){
        oCats['cat_'+i] = aSplices[i];
    }
    oCats['cat_id'] = iCatID;
    doAjax('get_categories', oCats, getCategoriesCallBack);
    
}
function getCategoriesCallBack(oTr){
    var oBack = oTr.responseText.evalJSON();
    var nDivTemp = $N('div');
    nDivTemp.innerHTML = oBack['html'];
    nOldCategories = $('insertcontent');
    var nParent = nOldCategories.parentNode;
    nParent.replaceChild(nDivTemp.firstChild, nOldCategories);
    try {
        supersleight.run();
    } catch (exception) {}
}
function closeCategories(){
    $('insertcontent').parentNode.replaceChild(nOldCategories, $('insertcontent'));
    $('insertcontent').select('.opener a')[0].blur();
}

function foldBox(sWhich){
    var nDiv;
    
    if(sWhich == 'author'){
        nDiv = $$('.appendix .author')[0];
    } else if(sWhich == 'zitier'){
        nDiv = $$('.appendix .zitier')[0];
    } else {
        return;
    }
    var nA = nDiv.select('a.right')[0];
    var nImg = nDiv.select('a.right img')[0];
    if(nA.getAttribute('state') == 'less'){
        nDiv.removeClassName('less');
        nDiv.select('.toHide')[0].removeClassName('hidden');
        nImg.src = "/style/images/less.png";
        nA.setAttribute('state', 'more');
    } else {
        nDiv.addClassName('less');
        nDiv.select('.toHide')[0].addClassName('hidden');
        nImg.src = "/style/images/more.png";
        nA.setAttribute('state', 'less');
    }
    nA.blur();
    try { // IE 6 PNG Fix
        supersleight.limitTo(nDiv);
        supersleight.run();
    } catch (exception) {

    }
}
function showAllEntryMoreQuellen(){
    var nDiv = $('entry_more');
    var nTable = nDiv.select('.list')[0];
    var nA = nDiv.select('a.toggle')[0];
    nTable.select('.more').invoke('toggleClassName', 'hideable').invoke('toggleClassName', 'hidden');
    nTable.select('.points').invoke('toggleClassName', 'hideable').invoke('toggleClassName', 'hidden');
    nA.toggleClassName('less');
    nA.blur();
    try{
        if(supersleight){
            nA.select('span.img')[0].style.filter = '';
            nA.select('span.img')[0].style.backgroundImage = '';
            supersleight.run();
        }
    } catch(exception){}
}
function toggleMoreLitAttr(sAsin){
    var nTable = $('more_literature_attributes_'+sAsin);
    var nParent = Element.extend(nTable.parentNode);
    if(nTable.visible()){
        nTable.hide();
        nParent.select('a.closer')[0].innerHTML = aTrans['show_details'];
    } else {
        nTable.show();
        nParent.select('a.closer')[0].innerHTML = aTrans['hide_details'];
    }
        nParent.select('a.closer')[0].blur();
}

function showFootNoteInfo(nA){
    var nTable = $$('.footInfo')[0];
    if(nTable != null){
        nA = $(nA);
        nTable.select('.m')[0].innerHTML = nA.getAttribute('info');
        nTable.clonePosition(nA,{
            offsetLeft:20,
            setHeight:false,
            setWidth:false
        });
        nTable.removeClassName('hidden');
    }
}
function hideFootNoteInfo(){
    var nTable = $$('.footInfo')[0];
    if(nTable != null){
        nTable.addClassName('hidden');
    }
}
// callback für onload
function init(){
    /*if($('word') != null){
        $('word').onkeyup = function(){
            sLastRandom = Number(Math.random()).toString(36);
            doAjax("search",{word:$('word').value, random:sLastRandom},responseToSearch)
        };
    }*/
    if($('loader_div') && document.all){
        $('loader_div').style.height = $$('body')[0].getHeight() + 'px';
        $('loader_div').style.width = $$('body')[0].getWidth() + 'px';
    }
}

function updateAdminFactEpoch(){
    var anYear = $$('input.four.da');
    var anEpochInput = $$('input.epo');
    var anEpochSpan = $$('span.epo');
    var iMax = null;
    var iMin = null;
    var iYear = 0;
    var sEpoch = '';

    anYear.each(function (nYear){
        iYear = Math.ceil( parseInt( $F(nYear) )/100);
        if(iYear == 0 || isNaN(iYear)){
            iYear = parseInt( $F(nYear) );
            if(iYear == 0 || isNaN(iYear) ){
                return;
            } else if(iYear > 0){
                iYear =  1;
            } else {
                iYear = -1;
            }
        }
        if( $F( nYear.parentNode.select('select.da')[0] ) == 'bce' ){
            iYear *= -1;
        }
        if(iMax === null){
            iMax = iMin = iYear;
        } else if(iYear > iMax){
            iMax = iYear;
        } else if(iYear < iMin){
            iMin = iYear;
        }
    } );

    if( iMax==iMin){
        if(iMax > 0){ // n.Chr.
            sEpoch = iMax + '. n. Chr.';
        } else { // v.Chr.
            sEpoch = iMax*-1 + '. v.Chr.';
        }
    } else {
        if(iMin > 0) { // n.Chr. für beidem da iMax > iMin
            sEpoch = iMin +'. bis '+ iMax +'. n. Chr.';
        } else if(iMax < 0) {// v.Chr. für beide, da iMin < iMax
            sEpoch = iMin*-1 +'. bis '+ iMax*-1 +'. v. Chr.';
        } else { // v.Chr. bis n.Chr.
            sEpoch = iMin*-1 +'. v. Chr. bis '+ iMax +'. n. Chr.';
        }
    }
    anEpochInput.each(function(nInput){nInput.value    = iMin+','+iMax;});
    anEpochSpan.each( function(nSpan ){nSpan.innerHTML = sEpoch;});
}
