dFeatures = 'dialogHeight: 450px; dialogWidth: 1049px; dialogTop: 646px; dialogLeft: 4px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;';//default features

modalWin = null;
function xShowModalDialog( sURL, vArguments, sFeatures )
{
	if (sURL==null||sURL=='')
	{
		alert ("Invalid URL input.");
		return false;
	}
	if (vArguments==null||vArguments=='') vArguments='';
	if (sFeatures==null||sFeatures=='') sFeatures=dFeatures;

	sFeatures = sFeatures.replace(/ /gi,'');
	aFeatures = sFeatures.split(";");
	sWinFeat = "directories=0,menubar=0,titlebar=0,toolbar=0,";
	for ( x in aFeatures )
	{
		aTmp = aFeatures[x].split(":");
		sKey = aTmp[0].toLowerCase();
		sVal = aTmp[1];
		switch (sKey)
		{
		case "dialogheight":
			sWinFeat += "height="+sVal+",";
			pHeight = sVal;
			break;
		case "dialogwidth":
			sWinFeat += "width="+sVal+",";
			pWidth = sVal;
			break;
		case "dialogtop":
			sWinFeat += "screenY="+sVal+",";
			break;
		case "dialogleft":
			sWinFeat += "screenX="+sVal+",";
			break;
		case "resizable":
			sWinFeat += "resizable="+sVal+",";
			break;
		case "status":
			sWinFeat += "status="+sVal+",";
			break;
		case "center":
			if ( sVal.toLowerCase() == "yes" )
			{
				sWinFeat += "screenY="+((screen.availHeight-pHeight)/2)+",";
				sWinFeat += "screenX="+((screen.availWidth-pWidth)/2)+",";
			}
			break;
		}
	}
	if (modalWin) modalWin.close();
	modalWin=window.open(String(sURL),"",sWinFeat);
	if (vArguments!=null&&vArguments!='') modalWin.dialogArguments=vArguments;
}

function checkModal()
{
	if (!window.showModalDialog)
	{

		window.showModalDialog = xShowModalDialog;
		if (modalWin!=null && !modalWin.closed)
		{
			self.blur();
			modalWin.focus();
		}
	}
}


