
// get a function pointer to the old showModalDialog
if (typeof oldShowModalDialog == "undefined")
{
	sp2_offset = 0;

	// check if this windows XP, service pack 2. If it is, need to add extra space at the bottom of the dialogs
	if (navigator.appVersion.match(/Windows NT 5\.1/) && navigator.appMinorVersion.match(/SP2/))
	{
		oldShowModalDialog = window.showModalDialog;
		oldShowModelessDialog = window.showModelessDialog;
		oldOpen = window.open;

		sp2_offset = 25;
		
		window.showModalDialog = function(arg1,arg2,arg3)
		{
			if(arguments.length == 3)
			{
				mySubString = arg3.match(/(.*dialogHeight:[\s]*)([0-9]+)(.*)/);
				if (mySubString[2] && (mySubString[2].length > 0))
				{
					newHeight = sp2_offset + Number(mySubString[2]);
					return oldShowModalDialog(arg1,arg2,mySubString[1] + newHeight.toString() + mySubString[3]);
				}
				else
					return oldShowModalDialog(arg1,arg2,arg3);
			}
			else if (arguments.length == 2)
				return oldShowModalDialog(arg1, arg2);
			else
				return oldShowModalDialog(arg1);
		}
		
		window.showModelessDialog = function(arg1,arg2,arg3)
		{
			if(arguments.length == 3)
			{
				mySubString = arg3.match(/(.*dialogHeight:[\s]*)([0-9]+)(.*)/);
				if (mySubString[2] && (mySubString[2].length > 0))
				{
					newHeight = sp2_offset + Number(mySubString[2]);
					return oldShowModelessDialog(arg1,arg2,mySubString[1] + newHeight.toString() + mySubString[3]);
				}
				else
					return oldShowModelessDialog(arg1,arg2,arg3);
			}
			else if (arguments.length == 2)
				return oldShowModelessDialog(arg1, arg2);
			else
				return oldShowModelessDialog(arg1);
		}
		
		window.open = function(arg1,arg2,arg3,arg4)
		{
			if(arguments.length == 3 || arguments.length == 4)
			{
				mySubString = arg3.match(/(.*height[\s]*=[\s]*)([0-9]+)(.*)/);
				if (mySubString[2] && (mySubString[2].length > 0))
				{
					newHeight = sp2_offset + Number(mySubString[2]);
					if (arguments.length == 3)
						return oldOpen(arg1,arg2,mySubString[1] + newHeight.toString() + mySubString[3]);
					else
						return oldOpen(arg1,arg2,mySubString[1] + newHeight.toString() + mySubString[3],arg4);
				}
				else
				{
					if (arguments.length == 3)
						return oldOpen(arg1,arg2,arg3);
					else
						return oldOpen(arg1,arg2,arg3,arg4);
				}
			}
			else if (arguments.length == 2)
				return oldOpen(arg1, arg2);
			else if (arguments.length == 1)
				return oldOpen(arg1);
			else
				alert('Too few args for newOpen');
		} 
	}

	function pack_dialog(){
  		window.dialogHeight = (document.body.scrollHeight + sp2_offset + 30) + "px";
  		window.dialogWidth  = (document.body.scrollWidth) + "px";
	}
}

function Clear_wait_message()
{
	if (document.all["please_wait_message_div"])
		document.all['please_wait_message_div'].style.visibility="hidden";
}
