function NlwisExtentHistoryWRegisterForEvent(){
    goCWCJSAPI.RegisterEvent(MAP_EXTENT_CHANGED, "NlwisExtentHistoryWMapExtentChanged");
}

function NlwisExtentHistoryWMapExtentChanged(){
    aHiddenVars = new Array(1);
    aHiddenVars[0] = new Array(2);
    aHiddenVars[0][0] = "NLWISEXTENTHISTORY_UPDATE";
    aHiddenVars[0][1] = document.forms[0].NLWISEXTENTHISTORY_UPDATE.value;

    szOnLoad = 'NlwisExtentHistory_SetButtonsStates()';
    goCWCJSAPI.CallServer(szOnLoad, aHiddenVars);
    
    document.forms[0].NLWISEXTENTHISTORY_UPDATE.value = 0;
}

function NlwisExtentHistory_SetButtonsStates(){
    var doc = goCWCJSAPI.GetDocumentObject();
    gNlwisExtentHistoryCurrentPosition = doc.forms[0].NLWISEXTENTHISTORY_POSITION.value;
    gNlwisExtentHistoryCount = doc.forms[0].NLWISEXTENTHISTORY_COUNT.value;
    NlwisExtentHistorySetButtonState("forward", (gNlwisExtentHistoryCurrentPosition < gNlwisExtentHistoryCount - 1) ? true : false);
    NlwisExtentHistorySetButtonState("backward", (gNlwisExtentHistoryCurrentPosition > 0) ? true : false);
}

function NlwisExtentHistorySetButtonState(szDirection, bEnabled){
    var aButtons = goCWCButtonManager.aButtons;
    for (var i=0;i<aButtons.length;i++){
        if (aButtons[i].xValues == szDirection){
            if (bEnabled){
                aButtons[i].SetState(CWCBUTTONSTATE_NORMAL);
            } else {
                aButtons[i].SetState(CWCBUTTONSTATE_DISABLED);
            }
        }
    }
}
