﻿var g_ShowSubmitting = true;
var g_bDoSubmitting = false;
var g_submittingCount = 1;
var g_submittingTimeout = 10;

g_toggleEnable_On = true; //default status of controls to being "on"
g_toggleEnable_DisabledStatus = new Array();

function _submittingTimer()
{
    var oIf = _getObject('ifSubmitting');
    var oDiv = _getObject('divSubmitting');
    if((! isValid(oIf)) || (! isValid(oDiv)))
	    return;
	
    if(g_ShowSubmitting)
    {
	    _setVisibility('ifSubmitting', g_bDoSubmitting);
	    _setVisibility('divSubmitting', g_bDoSubmitting);
    }
	
    if(!g_bDoSubmitting) 
    {
	    toggleEnable(true);
	    return;
    }
	
    var oHr = _getObject('hrSubmitting');
    if(g_ShowSubmitting)
    {
        if(document.all)
	        oIf.style.left = document.documentElement.scrollLeft;
	    else
	        oIf.style.left = window.pageXOffset;
	        
	    var nTop = 0;
	    try
	    {
            if(document.all)
	            nTop = document.documentElement.offsetHeight - 70 + document.documentElement.scrollTop; //document.body.clientHeight - 64 + document.body.scrollTop;
	        else
	            nTop = window.innerHeight - 64 + window.pageYOffset;
	     } catch(ex) { }
        try
        {
            oIf.style.top = nTop.toString() + "px";
            oDiv.style.top = nTop.toString() + "px";
            if(document.all)
                oDiv.style.left = document.documentElement.scrollLeft.toString() + "px";
            else
                oDiv.style.left = window.pageXOffset.toString() + "px";
            oIf.style.width = (parseInt(document.body.clientWidth) - 6).toString() + 'px';
            oDiv.style.width = (parseInt(document.body.clientWidth) - 6).toString() + 'px';
        }
        catch(ex)
        {
            //alert('error in updating submitting sizes!\n' + ex.toString());
        }
		
		if(isValid(oHr))
	    {
	        oHr.style.width = g_submittingCount * 2;
	        oHr.width = g_submittingCount * 2;
	    }

	    if(g_submittingCount > 100)
		    g_submittingCount = 0;
		    
	    g_submittingCount++;
    }
    setTimeout('_submittingTimer()', g_submittingTimeout);
}

function _setDisabled(id, val) { _getObject(id).disabled = val; }
function toggleEnable(enabled)
{
    if(document.getElementsByTagName)
    {
	    var inputs = document.getElementsByTagName("input");
	    if(typeof inputs != 'undefined')
	    {
	        for (var i=0; i < inputs.length; i++) 
	        {
		        if ((inputs[i].type == 'button') || (inputs[i].type == 'submit') || (inputs[i].type == 'radio') || (inputs[i].type == 'checkbox'))
		        {
			        if(!enabled && g_toggleEnable_On)
			        {	// need to save the status of the controls in case we're using smartnav
				        // (or something else that causes us to call this twice without a "real" postback)
				        g_toggleEnable_DisabledStatus[inputs[i].id] = inputs[i].disabled;
				        inputs[i].disabled = true;
			        }
			        else if(enabled && !g_toggleEnable_On)
			        { // restore to the original status
				        inputs[i].disabled = g_toggleEnable_DisabledStatus[inputs[i].id];
			        }
			        //inputs[i].disabled = !enabled;
		        }
	        }
	    }
	    var selects = document.getElementsByTagName("select");
	    if(typeof selects != 'undefined')
	    {
	        for (var i=0; i < selects.length; i++) {
		        if(!enabled && g_toggleEnable_On)
		        {	// need to save the status of the controls in case we're using smartnav
			        // (or something else that causes us to call this twice without a "real" postback)
			        g_toggleEnable_DisabledStatus[selects[i].id] = selects[i].disabled;
			        selects[i].disabled = true;
		        }
		        else if(enabled && !g_toggleEnable_On)
		        { // restore to the original status
			        selects[i].disabled = g_toggleEnable_DisabledStatus[selects[i].id];
		        }
	        }
	    }
	    g_toggleEnable_On = enabled;
    }
    return true;
}
