/*
Overwrite default save function of FCKEditor
*/
function doSave(){
    var text = FCKeditorAPI.GetInstance('content').GetHTML();
    saveTextAjax(siteID,text)
    return false; //this disables default action (submitting the form)
}


var ausblenden = true;
var error_counter = 10;

function stopTimer() {
    ausblenden = false;
    $('#error_counter').hide();
}

function flashErrorMessage() {
    $("#error_message").slideDown('slow');
    hideIT();
}

function flashErrorMessageWithText(errorText) {
    $("#error_message p").html(errorText);
    $("#error_message").slideDown('slow');
    hideIT();
}

function hideIT() {
    if (ausblenden) {
        error_counter--;
        if (error_counter>0){
            $('#error_counter').html(error_counter);
            window.setTimeout("hideIT()",1000);
        } else {
            $('#error_message').slideUp('fast');
        }
    }
}
		
	
function SuchenUndErsetzen(QuellText, SuchText, ErsatzText)
{   // Erstellt von Ralf Pfeifer
    // Fehlerpruefung
    if ((QuellText == null) || (SuchText == null))           {
        return null;
    }
    if ((QuellText.length == 0) || (SuchText.length == 0))   {
        return QuellText;
    }

    // Kein ErsatzText ?
    if ((ErsatzText == null) || (ErsatzText.length == 0))    {
        ErsatzText = "";
    }

    var LaengeSuchText = SuchText.length;
    var LaengeErsatzText = ErsatzText.length;
    var Pos = QuellText.indexOf(SuchText, 0);

    while (Pos >= 0)
    {
        QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
        Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
    }
    return QuellText;
} // -->


function showGeneralBox () {

    var tmpl = $("#tmpl_generalBox").val();
    tmpl = SuchenUndErsetzen(tmpl,"%[","<");
    tmpl = SuchenUndErsetzen(tmpl,"]%",">");
    $("div#messageBox").html(tmpl);
    tb_show("Einstellungen","#TB_inline?height=400&width=700&inlineId=messageBox&modal=false",null);
	
    $('#generalBox').tabs({
        fxAutoHeight: true,
        show: function (event, ui) {
            if(ui.index == 4) {
                if ($("#fileBrowser").find("ul").length) {
                    alert("Already inited");
                } else {
                    initFileBrowser();
                }
            }
        }
    });
	
}

function initFileBrowser () {
    $("#fileBrowser").jstree( {
        "json_data" : {
            
            "ajax" : {
                "url" : "/lib/actionJSON.php?action=getMediaFolders"
            }
        },
        "plugins" : [ "themes", "json_data","ui","types" ]
    } );
}

function refreshFileBrowser () {
    $.jstree._reference("#fileBrowser").refresh(-1);
}

function tb_remove_custom(id) {
    tb_remove();
    $("#messageBox").css('display','none');
}

function cleanMessyCode(objID) {
}

function changeBanner(banner) {
    $('#topBanner').css('background-image','url('+banner+')');
}

function changeTheme(theme) {
	
    var filenameMain = base_path+"styles/themes/"+theme+"/main.css";
    var filenameMenu = base_path+"styles/themes/"+theme+"/menu.css";
    var filenameFont = base_path+"styles/themes/"+theme+"/fonts.css";
    var filenameAdminMain = base_path+"styles/themes/"+theme+"/admin/main.css";
    var filenameAdminMenu = base_path+"styles/themes/"+theme+"/admin/menu.css";

    var fileref1=document.createElement("link");
    fileref1.setAttribute("rel", "stylesheet");
    fileref1.setAttribute("type", "text/css");
    fileref1.setAttribute("href", filenameMain);
    document.getElementsByTagName("head")[0].appendChild(fileref1);

    var fileref2=document.createElement("link");
    fileref2.setAttribute("rel", "stylesheet");
    fileref2.setAttribute("type", "text/css");
    fileref2.setAttribute("href", filenameMenu);
    document.getElementsByTagName("head")[0].appendChild(fileref2);
	
    var fileref3=document.createElement("link");
    fileref3.setAttribute("rel", "stylesheet");
    fileref3.setAttribute("type", "text/css");
    fileref3.setAttribute("href", filenameFont);
    document.getElementsByTagName("head")[0].appendChild(fileref3);
	
    var fileref4=document.createElement("link");
    fileref4.setAttribute("rel", "stylesheet");
    fileref4.setAttribute("type", "text/css");
    fileref4.setAttribute("href", filenameAdminMain);
    document.getElementsByTagName("head")[0].appendChild(fileref4);
    var fileref5=document.createElement("link");
    fileref5.setAttribute("rel", "stylesheet");
    fileref5.setAttribute("type", "text/css");
    fileref5.setAttribute("href", filenameAdminMenu);
    document.getElementsByTagName("head")[0].appendChild(fileref5);
	
    oFCKeditor.Config['EditorAreaCSS'] = filenameFont;
}



function showDemo() {
    alert("Diese Funktion steht in der Demo nicht zu verfügung");
}

/* init the menu context menu */
$(document).ready(function() {
    /*$("a[id^='menuitem_']").contextMenu({
        menu: 'menucontextMenu'
    },function(action, el, pos) {
            switch (action) {
                case "addNeighbour":
                    addNeighbourAjax($(el).attr('id').substring(9));
                    break;
                case "addChild":
                    addChildAjax($(el).attr('id').substring(9));
                    break;
                case "edit":
                    Elementknoten = document.getElementById($(el).attr('id'));
                    WertErsterKindknoten = Elementknoten.firstChild.nodeValue;
                    editTitleAjax($(el).attr('id').substring(9),WertErsterKindknoten);
                    break;
                case "delete":
                    removeItemAjax($(el).attr('id').substring(9));
                    break;
                    
            }
    });
*/
    $("#nav").contextMenu('menucontextMenu', {
        onShowMenu: function(e, menu) {
            $('#addChild, #addNeighbour, #delete, #edit, #hr', menu).remove();
            return menu;
        },
        bindings: {
            'addRoot': function(t) {
                addRootAjax();
            }
        }

    }),
    $("a[id^='menuitem_']").contextMenu('menucontextMenu', {
        onShowMenu: function(e, menu) {
            $('#addRoot', menu).remove();
            return menu;
        },
        bindings: {
            'addChild': function(t) {
                addChildAjax(t.id.substring(9));
            },
            'addNeighbour': function(t) {
                addNeighbourAjax(t.id.substring(9));
            },
            'edit': function(t) {
                Elementknoten = document.getElementById(t.id);
                WertErsterKindknoten = Elementknoten.firstChild.nodeValue;
                var suffix = "";
                if ($(t).attr('href').indexOf(':')>0) {
                    suffix = $(t).attr('href').substr($(t).attr('href').indexOf(':'),$(t).attr('href').length);
                }
                editTitleAjax(t.id.substring(9),WertErsterKindknoten,suffix);
            },
            'delete': function(t) {
                removeItemAjax(t.id.substring(9));
            }
        }
    });
});

