﻿/// <reference name="MicrosoftAjax.js"/>

var _IsDirty = false;
var _UnloadMessage = "You have unsaved changes.";

//Sys.Application.add_load(function() {
//    $addHandler(theForm, "submit", _Form_SubmitHandler);
//});

function get_IsDirty() {
    return _IsDirty;
}

function set_IsDirty(value) {
    _IsDirty = value;
}

window.onbeforeunload = function() {
    if (_IsDirty) {
        if (window.event)
            window.event.returnValue = _UnloadMessage; // IE
        else
            return _UnloadMessage; // FX
    }
};

//var _Form_SubmitHandler = Function.createDelegate(this, _Form_OnSubmit);
var _DirtyOnChangeHandler = Function.createDelegate(this, _DirtyHandler_OnChange);

//function _Form_OnSubmit() {
//    set_IsDirty(false);
//}

function _DirtyHandler_OnChange(element) {
    set_IsDirty(true);
}

function AddDirtyHandler(elements) {
    for (var i = 0; i < elements.length; i++) {
        var element = elements[i];

        if (element == null) continue;
        
        $addHandler(element, "change", _DirtyOnChangeHandler);
    }
}

