var selectedActions = null;
var disabledActions = null;

var canAdd = false;
var canProperties = false;
var canContent = false;
var canPreview = false;
var canDelete = false;

function selectTreeNode(id, _canAdd, _canProperties, _canContent, _canPreview, _canDelete) {
    selectedId = id;

    canAdd = (_canAdd != 0);
    canProperties = (_canProperties != 0);
    canContent = (_canContent != 0);
    canPreview = (_canPreview != 0);
    canDelete = (_canDelete != 0);

    selectedActions = new Array();
    if (canAdd) selectedActions[selectedActions.length] = "action2";
    if (canProperties) selectedActions[selectedActions.length] = "action3";
    if (canContent) selectedActions[selectedActions.length] = "action4";
    if (canPreview) selectedActions[selectedActions.length] = "action5";
    if (canDelete) selectedActions[selectedActions.length] = "action6";
    selectedActions[selectedActions.length] = "action8";
    selectedActions[selectedActions.length] = "action9";
    selectedActions[selectedActions.length] = "action14";
    selectedActions[selectedActions.length] = "action101";

    disabledActions = new Array();
    if (!canAdd) disabledActions[disabledActions.length] = "action2";
    if (!canProperties) disabledActions[disabledActions.length] = "action3";
    if (!canContent) disabledActions[disabledActions.length] = "action4";
    if (!canPreview) disabledActions[disabledActions.length] = "action5";
    if (!canDelete) disabledActions[disabledActions.length] = "action6";

    selectActions();
}

function selectTreeItem(id, newStyle, oldStyle, _canAdd, _canProperties, _canContent, _canPreview, _canDelete) {
    if (selectedId != null) {
        document.getElementById(selectedId).className = oldStyle;
    }
    selectedId = id;
    if (!document.getElementById(selectedId)) return;

    document.getElementById(selectedId).className = newStyle;

    canAdd = (_canAdd != 0);
    canProperties = (_canProperties != 0);
    canContent = (_canContent != 0);
    canPreview = (_canPreview != 0);
    canDelete = (_canDelete != 0);

    selectedActions = new Array();
    if (canAdd) selectedActions[selectedActions.length] = "action2";
    if (canProperties) selectedActions[selectedActions.length] = "action3";
    if (canContent) selectedActions[selectedActions.length] = "action4";
    if (canPreview) selectedActions[selectedActions.length] = "action5";
    if (canDelete) selectedActions[selectedActions.length] = "action6";
    selectedActions[selectedActions.length] = "action8";
    selectedActions[selectedActions.length] = "action9";
    selectedActions[selectedActions.length] = "action14";
    selectedActions[selectedActions.length] = "action101";

    disabledActions = new Array();
    if (!canAdd) disabledActions[disabledActions.length] = "action2";
    if (!canProperties) disabledActions[disabledActions.length] = "action3";
    if (!canContent) disabledActions[disabledActions.length] = "action4";
    if (!canPreview) disabledActions[disabledActions.length] = "action5";
    if (!canDelete) disabledActions[disabledActions.length] = "action6";

    selectActions();

}

function add_child_page() {
    if (selectedId == null) {
        alert('Please, select a parent menu item.');
        return;
    }
    if (!canAdd) {
        return;
    }
    showDialog("/servlet/addchildpage?parentId=" + parseInt(selectedId), 560, 310);
}

function edit_page_properties() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    if (!canProperties) {
        return;
    }
    showDialog("/servlet/editpageproperties?id=" + parseInt(selectedId), 560, 310);
}

function edit_page_content() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    if (!canContent) {
        return;
    }
    showDialog("/servlet/editpagecontent?id=" + parseInt(selectedId), 800, 650);
}

function preview_page() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    if (!canPreview) {
        return;
    }
    window.open("/servlet/previewpage?id=" + parseInt(selectedId));
}

function delete_page() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    if (!canDelete) {
        return;
    }

    if (confirm("This will permanently delete this page from the website. If the page has any subpages, they will be deleted as well. There will not be an undo function. Are you absolutely sure you want to delete the page?")) {
        document.location.href = "/servlet/deletepage?id=" + parseInt(selectedId);
    }

}

function move_up_page() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    document.location.href = "/servlet/moveuppage?id=" + parseInt(selectedId);
}

function move_down_page() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    document.location.href = "/servlet/movedownpage?id=" + parseInt(selectedId);
}

function meta_tags() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    showDialog("/servlet/metatags?id=" + parseInt(selectedId), 560, 500);
}

function red_block() {
    if (selectedId == null) {
        alert('Please, select a menu item.');
        return;
    }
    showDialog("/servlet/redblock?id=" + parseInt(selectedId), 500, 600);
}
