function activateWaitDialog() {
    var waitDialog = document.getElementById('waitDialog');
    var waitDialogContainer = document.getElementById('waitDialogContainer');

    disableTabIndexes();
    hideSelectBoxes();

    waitDialog.style.width = "100%";
    waitDialog.style.height = "100%";

    waitDialog.style.display = 'block';
    waitDialogContainer.style.display = 'block';
    
    centerWaitDialog();
}

function deactivateWaitDialog() {
    var waitDialog = document.getElementById('waitDialog');
    var waitDialogContainer = document.getElementById('waitDialogContainer');

    showSelectBoxes();

    waitDialog.style.width = "100%";
    waitDialog.style.height = "100%";

    waitDialog.style.display = 'hidden';
    waitDialogContainer.style.display = 'hidden';
    
    //centerWaitDialog();
}

function disableTabIndexes() {
    if (document.all) {
        var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME");
	
		for (var j = 0; j < gTabbableTags.length; j++) {
			var tagElements = document.getElementsByTagName(gTabbableTags[j]);
			for (var k = 0 ; k < tagElements.length; k++) {
				tagElements[k].tabIndex="-1";
			}
		}
	}
}

function showSelectBoxes() {
    for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
				document.forms[i].elements[e].style.visibility="visible";
			}
		}
	}
}

function hideSelectBoxes() {
    for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
				document.forms[i].elements[e].style.visibility="hidden";
			}
		}
	}
}

function centerWaitDialog() {
    var waitDialog = document.getElementById('waitDialog');
    var waitDialogContainer = document.getElementById('waitDialogContainer');

    var width = waitDialogContainer.offsetWidth;
    var height = waitDialogContainer.offsetWidth;
    
    var fullHeight = getViewportHeight();
    var fullWidth = getViewportWidth();
    
    var theBody = document.documentElement;
    
    var scTop = getScrollTop();
    var scLeft = getScrollLeft();
    
    waitDialog.style.height = fullHeight + "px";
    waitDialog.style.width = fullWidth + "px";
    waitDialog.style.top = scTop + "px";
    waitDialog.style.left = scLeft + "px";

    waitDialogContainer.style.top = (scTop + ((fullHeight - height) / 2)) + "px";
    waitDialogContainer.style.left =  (scLeft + ((fullWidth - width) / 2)) + "px";		    
    
    window.setTimeout(centerWaitDialog, 5);
}

function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}

function getViewportWidth() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}

function getScrollTop() {
    var pos = 0;

    if (window.pageYOffset) { 
        pos = window.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
    	pos = document.documentElement.scrollTop;
    } else if (document.body) {
	  pos = document.body.scrollTop;
    }

    return pos;
}

function getScrollLeft() {
    var pos = 0;

    if (window.pageXOffset) { 
        pos = window.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollLeft) {
    	pos = document.documentElement.scrollLeft;
    } else if (document.body) {
	  pos = document.body.scrollLeft;
    }

    return pos;
}