﻿$(document).ready(function () {
    $(document.body).bind("click", function (evt) {
        if (!$(evt.target).hasClass("mceIcon") &&
            !$(evt.target).hasClass("title") &&
            !$(evt.target).hasClass("mceToolbar") &&
            !$(evt.target).hasClass("hider") &&
            !$(evt.target).hasClass("titlebar") &&
            !$(evt.target).parent().hasClass("asset-image")) {
            if (1==2 && window.tinymce && window.tinyMCE.activeEditor) {
                var currentInstance = tinyMCE.EditorManager.activeEditor;
                var editorSelector = "#" + tinyMCE.EditorManager.activeEditor.editorId;
                save($(editorSelector).attr("savefield"), currentInstance, $(editorSelector).attr("view"),$(editorSelector).attr("objectId"));
                tinyMCE.execCommand('mceRemoveControl', false, tinyMCE.EditorManager.activeEditor.editorId)
            }
        }
    })
});

if (EDITMODE) {
    $(".richtext .contentArea").live("click", function (evt) {
        if (EDITMODE) {
            if ($(evt.target).parents(".placeholder").hasClass("view-small")) {
                var theme_advanced_buttons1 = "save,|,bold,italic,underline,|,undo,redo";
                var theme_advanced_buttons2 = "justifyleft,justifycenter,justifyright,justifyfull,|,outdent,indent,|,pasteword";
                var theme_advanced_buttons3 = "numlist,bullist,|,link,unlink,|,myimage,charmap,emotions";
                var theme_advanced_buttons4 = "";
            }
            else {
                var theme_advanced_buttons1 = "save,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,numlist,bullist,|,outdent,indent";
                var theme_advanced_buttons2 = "pasteword,|,undo,redo,|,link,unlink,myimage,|,charmap,emotions";
                var theme_advanced_buttons3 = "";
                var theme_advanced_buttons4 = "";
            }

            var $elements = $(evt.target).parents(".contentArea");
            if ($elements.length == 0 && $(evt.target).hasClass("contentArea")) {
                $elements = $(evt.target);
            }

            $elements.each(function (i, contentBox) {
                $(contentBox).tinymce({
                    script_url: '/tinymce/tiny_mce.js',
                    body_id: $(contentBox).attr("name"),
                    // General options
                    theme: "advanced",
                    language: "nl",
                    plugins: "save,emotions,iespell,inlinepopups,paste,autoresize",
                    advimagescale_noresize_all: true,
                    // Theme options
                    theme_advanced_buttons1: theme_advanced_buttons1,
                    theme_advanced_buttons2: theme_advanced_buttons2,
                    theme_advanced_buttons3: theme_advanced_buttons3,
                    theme_advanced_buttons4: theme_advanced_buttons4,
                    theme_advanced_toolbar_location: "top",
                    theme_advanced_toolbar_align: "left",
                    theme_advanced_statusbar_location: "",
                    theme_advanced_default_background_color: "#FF00FF",
                    theme_advanced_resizing: false,
                    save_onsavecallback: function (tinyInstance) {
                        save($(contentBox).attr("savefield"), tinyInstance, $(contentBox).attr("view"), $(contentBox).attr("objectid"));
                    },
                    setup: function (ed) {
                        ed.addButton('myimage', {
                            title: 'afbeelding toevoegen',
                            image: '/_img/image_select.gif',
                            onclick: function () {
                                fileBrowser($(contentBox).attr("view"));
                            }
                        });
                    }
                });
            });
        }
    });
}

function fileBrowser(defaultTemplate) {
    assetmanager.init();
    assetmanager.clickSelectEnable = true;
    assetmanager.defaultImageTemplate = defaultTemplate;

    $("#assetmanagerDialog").removeClass("hidden");
    $("<div class=\"glasspane hider\"></div>").appendTo(document.body);
    $("#assetsBox").focus();

    $(document).bind("keypress", function (event) {      
        if (event.keyCode == '27') {
            hideAssetManager();
        }
        $(document).unbind("keypress");
    });

    $(".hider").bind("click", function (event) {
        hideAssetManager();
        $(".hider").unbind("click");
    });
}

function hideAssetManager() {
    $("#assetmanagerDialog").addClass("hidden");
    $(".glasspane").hide();
}

function save(saveField, tinyInstance, view, objectId) {

  debugger;

    if (objectId == undefined)
        objectId = "";
    else 
        objectId = objectId.replace("object_", "");
    
    var result = proxies.EditMode.SaveComponent(tinyInstance.settings.body_id.replace("content_", ""), tinyInstance.getContent(), saveField, view, objectId);

    if (result != "success") {
        alert("De veranderingen zijn niet goed opgeslagen.\nProbeer het nog een keer.");
    } else {

        if (objectId == "") {
            objectId = tinyInstance.settings.body_id.replace("content_", "");
        }

        $("#statusInfo_" + objectId).fadeIn("slow").delay(800).fadeOut("slow");
    }


}
