﻿
/* code uses functions from mootools library */

function SetFormSubmitEvent() {
    var inputElements = $$('input');
    for (var i = 0; i < inputElements.length; i++) {
        if (inputElements[i].type.toUpperCase() == "SUBMIT") {
            inputElements[i].addEvent('click', OnSubmitButtonClick);
        }
    }
}

function OnSubmitButtonClick(e) {
    var target;
    if (!e) {
        e = window.event;
        target = (window.event) ? e.srcElement : e.target;
    }
    else {
        target = e.target;
    }
    if (target && DisableAllowed(target.id)) {
        setTimeout("DisableAllSubmitButtons()", 0);
    }
    return true;
}

addLoadEvent(SetFormSubmitEvent);

function DisableAllSubmitButtons() {
    var inputElements = $$('input');
    var code;
    for (var i = 0; i < inputElements.length; i++) {
        if (inputElements[i].type.toUpperCase() == "SUBMIT") {
            inputElements[i].set('disabled', true);
        }
    }
    return true;
}

function DisableAllowed(id) {
    try {
        if (!(window.AlwaysEnabledButtons === undefined)) {
            if (AlwaysEnabledButtons) {
                for (var i = 0; i < AlwaysEnabledButtons.length; i++) {
                    if (AlwaysEnabledButtons[i] == id) {
                        return false;
                    }
                }
            }
        }
    }
    catch (e) { }
    return true;
}

function ZPage_ProcessKeyDown(keyCode, id, e)
{
    var evt = new Event(e);
    if (evt.code == keyCode)
    {
        var elem = $(id);
        if (elem)
        {
            elem.focus();
            elem.click();
        }

        evt.stopPropagation();
        return false;
    }
}

function addLoadEvent(func) 
{ 
    var oldonload = window.onload; 
    if (typeof window.onload != 'function') 
    { 
        window.onload = func; 
    } else 
    { 
        window.onload = function() 
            { 
                if (oldonload) 
                { 
                    oldonload(); 
                } 
                func(); 
            } 
    } 
}

function getElement(Reference)
{
    try
    {
        if ($(Reference))
        {
            return $(Reference);
        }
        var controls = document.getElementsByName(Reference);
        if (controls)
        {
            if (controls.length == 1)
            {
                return $(controls[0]);
            }
        }
    }
    catch (e){}
    return null;
}
