﻿// JScript File
var MENU_CSS_SELECTED       = "RootMenuItemActive";
var MENU_CHANGED_INDICATOR  = "*";
var MENU_TABLE_ID           = "dnn_dnnMENU_ctldnnMENU";

function entityChanged()
{
    return (document.getElementById('EntityChanged').value == '1');
}

function overrideSaveValidation()
{
    document.getElementById('OverrideChanges').value = '';
    document.getElementById('EntityChanged').value = '-1';
}

function onEntityChange()
{
    if (!entityChanged())
    {
        document.getElementById('EntityChanged').value = '1';
        
        if (document.getElementById(MENU_TABLE_ID) != null)
        {
            //Add a "*" to the Tab Header Text to indicate the entity has been modified
            var tr = document.getElementById(MENU_TABLE_ID).getElementsByTagName("TR");
            for (var i=0; i<tr.length; i++)
            {
                //alert(tr[i].innerText + "\n" + tr[i].parentElement.parentElement.parentElement.parentElement.outerHTML); 
                if(tr[i].className != null 
                    && tr[i].className.indexOf(MENU_CSS_SELECTED) > 0)
                {
                    if (tr[i].innerText.indexOf(MENU_CHANGED_INDICATOR) < 0)
                    {
                        var h = tr[i].cells[0].innerHTML;
                        tr[i].cells[0].innerHTML = h.substr(0, h.length - 7) + MENU_CHANGED_INDICATOR + h.substr(h.length - 7, 7);
                    }
                }
            }
        }
    }
}

function onRefresh()
{
    if (entityChanged())
    {
        document.getElementById("OverrideChanges").value = "1";
        window.event.returnValue = ENTITY_CHANGE_PROMPT;
    }
}

function insertHiddenSaveFields()
{
    document.write("<input type='hidden' name='EntityChanged' value='0' id='EntityChanged' />");
    document.write("<input type='hidden' name='SaveEntity' value='' id='SaveEntity' />");
    document.write("<input type='hidden' name='OverrideChanges' value='' id='OverrideChanges' />");
    //document.forms[0].insertAdjacentHTML("afterBegin", "<input type='hidden' name='DeaneryChanged' value='0' id='EntityChanged' />");
    //document.forms[0].insertAdjacentHTML("afterBegin", "<input type='hidden' name='SaveEntity' value='' id='SaveEntity' />");
}

//Wire up the window's onbeforeunload event to check for unsaved changes
window.onbeforeunload = onRefresh;
