
/* ********************************************************************************************************** */

function joGUI_HideShadow (dialog_id)
{
	var shadow = joFIND (dialog_id + "_shadow");
	if (shadow)
	{
		document.body.removeChild (shadow);
		shadow = null;
	}
}

/* ********************************************************************************************************** */

function joGUI_ShowShadow (dialog_id, zIndex)
{
	if (!joFIND (dialog_id + "_shadow"))
	{
		var modal_shadow				= document.createElement ('DIV');
		modal_shadow.id 				= dialog_id + "_shadow";
		modal_shadow.className 	= "modal_shadow fullwindow";
		modal_shadow.innerHTML 	= '<span></span>';
		modal_shadow.style.zIndex	= zIndex;
		document.body.appendChild (modal_shadow);
	}
}

/* ********************************************************************************************************** */

function ToggleSelectBoxes (show_boxes)
{
	var boxes = document.getElementsByTagName ("SELECT");
	for (var i = 0; i < boxes.length; i++)
	{
		boxes[i].style.visibility = (show_boxes ? "visible" : "hidden");
	}
}

/* ********************************************************************************************************** */

function joGUI_ShowDlg (dlg_id, zIndex, dialog_width, dialog_height)
{
	joGUI_ShowShadow (dlg_id, zIndex);
	
	ToggleSelectBoxes (false);
	
	document.getElementById("body").style.overflow = "hidden";
	var dlg_node = joGUI_MakeDlg (dlg_id, zIndex + 1, dialog_width, dialog_height);
}

/* ********************************************************************************************************** */

function joGUI_CloseDlg (dlg_id)
{
	joHidePopupByName (dlg_id);
	joGUI_HideShadow (dlg_id);

	ToggleSelectBoxes (true);

	document.getElementById("body").style.overflow = "auto";
}

/* ********************************************************************************************************** */

function joGUI_MakeDlg (dialog_id, zIndex, dialog_width, dialog_height)
{
	joCenterPopupDiv (dialog_id, dialog_width, dialog_height);
	var dlg_node = FIND (dialog_id)
	if (dlg_node)
	{
		dlg_node.style.zIndex = zIndex;
		joShowPopupByName (dialog_id);
	}
	return dlg_node;
}


