﻿var ui_locked = false;
var ui_disabled_interval = null;

function lock_ui() {    
    if (typeof(ValidatorOnSubmit) == "function") { 
        return true;
    }
    
    if (ui_locked) {
        return false;
    } else {
        ui_locked = true;
        
        set_ui_disabled_visibility(true);
        
        return true;
    }
}

function set_ui_disabled_visibility(visible) {
    var e;
    if (e = document.getElementById("UiDisabled")) {
        if (visible) {
            e.style.display = "block";
            // If IE6, activate position: fixed; emulation
            /*@cc_on
              @if (@_jscript_version < 5.7)
                e.style.position = "absolute";
                if (!ui_disabled_interval) {
                    ui_disabled_interval = setInterval(_update_ui_disabled_position, 5);
                }
              @end
            @*/
        } else {
            e.style.display = "none";
            if (ui_disabled_interval) {
                clearInterval(ui_disabled_interval);
                ui_disabled_interval = null;
            }
        }
    }
}

function _update_ui_disabled_position() {
    var x = 0, y = 0, e = document.getElementById("UiDisabled");
    
    if (document.documentElement && typeof document.documentElement.scrollTop != "undefined") {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    } else if (typeof document.body.scrollTop != "undefined") {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
    
    e.style.top = y + "px";
    e.style.left = x + "px";
}