var oShowHelpDialog = null;
var lShowHelpOpacity = 0;
var lShowHelpInterval = 30;

var oHideHelpDialog = null;
var lHideHelpOpacity = 0;
var lHideHelpInterval = 20;


function ShowHelp(oHelpDialog, bForce, lInterval) {
	var lOpacity = 0;
	
	if (lInterval) {
		lShowHelpInterval = lInterval;
	}
	
	if (oHelpDialog == oHideHelpDialog) {
		oHideHelpDialog = null;
		lOpacity = lHideHelpOpacity;
	}
	if (oShowHelpDialog) {
		if (oHelpDialog == oShowHelpDialog) {
			return;
		} else {
			HideHelp(oShowHelpDialog, false);
		}
	}
	oShowHelpDialog = oHelpDialog;
	if (bForce) {
		lOpacity = 100;
	}
	
	ShowHelp_callback(lOpacity);

	oHelpDialog.style.display = 'block';
}

function ShowHelp_callback(lOpacity) {
	if (!oShowHelpDialog) {
		return;
	}
	
	if (is_ie) {
		oShowHelpDialog.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + lOpacity + ')';
	} else {
		oShowHelpDialog.style.opacity = lOpacity / 100;
		oShowHelpDialog.style.Mozopacity = lOpacity / 100;
	}

	lShowHelpOpacity = lOpacity;
	
	if (lOpacity == 99) {
		return;
	}
	lOpacity += 7;
	if (lOpacity > 92) {
		lOpacity = 99;
	}
	
	if (lShowHelpOpacity == 0) {
		setTimeout('ShowHelp_callback(' + lOpacity + ')', 75);
	} else {
		setTimeout('ShowHelp_callback(' + lOpacity + ')', lShowHelpInterval);
	}
}

function HideHelp(oHelpDialog, bForce, lInterval) {
	var lOpacity = 95;

	if (lInterval) {
		lHideHelpInterval = lInterval;
	}
	
	if (oShowHelpDialog == oHelpDialog) {
		oShowHelpDialog = null;
		lOpacity = lShowHelpOpacity;
	}
	if (oHideHelpDialog) {
		if (oHelpDialog == oHideHelpDialog && !bForce) {
			return;
		} else {
			HideHelp_callback(0);
		}
	}

	oHideHelpDialog = oHelpDialog;

	if (bForce) {
		lOpacity = 0;
	}

	HideHelp_callback(lOpacity);

}

function HideHelp_callback(lOpacity) {
	if (!oHideHelpDialog) {
		return;
	}
	if (is_ie) {
		oHideHelpDialog.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + lOpacity + ')';
	} else {
		oHideHelpDialog.style.opacity = lOpacity / 100;
		oHideHelpDialog.style.Mozopacity = lOpacity / 100;
	}
	lHideHelpOpacity = lOpacity;
	
	if (lOpacity == 0) {
		oHideHelpDialog.style.display = 'none';
		oHideHelpDialog = null;
		return;
	}
	lOpacity = lOpacity - 7;
	if (lOpacity < 0) {
		lOpacity = 0;
	}
	
	setTimeout('HideHelp_callback(' + lOpacity + ')', lHideHelpInterval);
}

