//****************************************************************************
var WIN_NAME_MGMT = 'mimsMgmtWin';
var QS_AUTOSPAWN_CONV = 'imstartup';
var QS_RECIPID = 'ask';
var QS_RECIP_HANDLE = 'rcb';
var QS_RECIP_SERVER = 'rtheme';
var MIMS_PROXY = 'ifraMIMSLite';
var MIMS_REMOTE = 'fraMIMSRemoting';
//****************************************************************************

var oChildWinState = null;
var oChildWinTimer = null;
var oChildWinControl = null;
var oMgmtWin = null;
var bIsMgmtWinParent = true;
var bIsChildWinParent = false;
var MGMT_WIN_NAME_PREFIX = WIN_NAME_MGMT;
var WIN_TYPE_MGMT = 3;
var bDEBUG_HANDLERS = false;
var iMgmtWinHeight = 345;
var iMgmtWinWidth = 210;
var oIFrameTimer = null;
var windowIsOpen = false;

function launchFullMIMS(mimsUrl,imageToSwap,swappedImagePath,alternateUrl)
{
	if(CreateMgmtWin(null,mimsUrl))
	{
		var currentImage = document.getElementById(imageToSwap);
		if(currentImage)
		{
			var newImage = new Image();
			newImage.src = swappedImagePath;
			currentImage.src = newImage.src;
			if(windowIsOpen)
			{
				top.window.document.location.href = alternateUrl;
			}
		}
		windowIsOpen = true;
	}
	else
	{
		windowIsOpen = false;
	}
}

function ShutdownMIMSLite()
{
	var pageQS = top.window.mimsLitePgQS;
	if(pageQS.indexOf("?") > -1)
	{
		pageQS += "&force=offline";
	}
	else
	{
		pageQS = "?" + pageQS + "&force=offline";
	}
	top.frames["ifraMIMSLite"].frames["fraMIMSLite"].location.href = "../mims/mimslite.offline.aspx" + pageQS;
}

function LiteClientHelpPopup()
{
	window.open(liteClientHelpUrl,null,'height=420,width=470,channelmode=0,directories=0,fullscreen=0,location=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0');
}

function StartConvFromMatch(sTargetUserID,sTargetHandle,iTargetServerID,sURL)
{
	if(bDEBUG_HANDLERS)
	{
		alert("StartConvFromMatch(" + sTargetUserID + "," + sTargetHandle + "," + iTargetServerID + "," + sURL + ")");
	}

	if(oIFrameTimer){window.clearTimeout(oIFrameTimer);}
	if(sURL == null || sURL == 'undefined' || sURL == ''){return false;}

	var sConvURL = '';
	sConvURL += "&" + QS_RECIP_HANDLE + "=" + escape(sTargetHandle);
	sConvURL += "&" + QS_RECIP_SERVER + "=" + iTargetServerID;
	sConvURL += "&" + QS_RECIPID + "=" + sTargetUserID;
	sURL += "&" + QS_AUTOSPAWN_CONV + "=1" + sConvURL;

	if((self.frames[MIMS_PROXY]) && (self.frames[MIMS_PROXY].frames[MIMS_REMOTE]) && (self.frames[MIMS_PROXY].frames[MIMS_REMOTE].location))
	{
		self.frames[MIMS_PROXY].frames[MIMS_REMOTE].location.href = sURL;
		ShutdownMIMSLite();
	}
	else
	{
		//oIFrameTimer = window.setTimeout("StartConvFromMatch('" + sTargetUserID + "','" + sTargetHandle + "'," + iTargetServerID + ",'" + sURL + "');",500);
		//alert("A problem occured when attempting to contact this person.  Please refresh your browser window and try again.");
	}
	return true;
}

function CreateBlindPopup(sURL,iHeight,iWidth,bShowAll)
{
	if(bDEBUG_HANDLERS)
	{
		alert("CreateBlindPopup(" + sURL + "," + iHeight + "," + iWidth + "," + bShowAll + ")");
	}
	var sWindowFeatures = ""
	if(!bShowAll)
	{
		sWindowFeatures = "height=" + iHeight + ",width=" + iWidth + ",innerHeight=" + iHeight + ",innerWidth=" + iWidth + ",hotkeys=0,location=0,menubar=0,personalbar=0,resizable=0,scrollbars=0,status=0,titlebar=1,toolbar=0,modal=0";
	}
	return window.open(sURL,"MatchPopup",sWindowFeatures);
}

function CreateMgmtWin(sWinName,sURL)
{
	var sResult = '';
	if(bDEBUG_HANDLERS)
	{
		alert("CreateMgmtWin(" + sWinName + "," + sURL + ")");
	}
	if((sWinName == null) || (sWinName == 'undefined') || (sWinName == ''))
	{
		sWinName = '';
	}
	sWinName = MGMT_WIN_NAME_PREFIX + sWinName;
	oMgmtWin = 	OpenChildWin(sWinName,sURL,iMgmtWinHeight,iMgmtWinWidth,WIN_TYPE_MGMT);
	if(oMgmtWin)
	{
		ShutdownMIMSLite();
		return true;
	}
	else
	{
		return false;
	}
}

function OpenChildWin(sWinName,sURL,iHeight,iWidth,iWinType)
{
	if(bDEBUG_HANDLERS)
	{
		alert("OpenChildWin(" + sWinName + "," + sURL +  "," + iHeight + "," + iWidth + "," + iWinType + ")");
	}
	if((sWinName == '') || (sWinName == null) || (sURL == '') || (sURL == null))
	{
		return false;
	}
	//Don't forget to disable the hotkeys...
	var sModal = ",dependent=0";
	var iScreenLocationX = 0;
	var iScreenLocationY = 0;
	var sWindowFeatures = '';
	var bNoFeatures = false;
	if(FindChildWinTypeFromName(sWinName) == iWinType)
	{
		var oTestHandle = FindChildWin(sWinName,iWinType);
		if(oTestHandle)
		{
			return oTestHandle;
		}
	}
	switch (parseInt(iWinType))
	{
		case parseInt(WIN_TYPE_MGMT):
			iScreenLocationX = window.screen.width-(iWidth+25);
			iScreenLocationY = window.screen.height-(iHeight+75);
			break;
		default:
			return false;
	}
	if(!bNoFeatures)
	{
		sWindowFeatures = "left=" + iScreenLocationX + ",top=" + iScreenLocationY + ",height=" + iHeight + ",width=" + iWidth + ",innerHeight=" + iHeight + ",innerWidth=" + iWidth + ",screenX=" + iScreenLocationX + ",screenY=" + iScreenLocationY + ",hotkeys=0,location=0,menubar=0,personalbar=0,resizable=0,scrollbars=0,status=0,titlebar=1,toolbar=0" + sModal;
	}
	//NOTE: If a MAC...an alert needs to be here to slow down the process and allow the window to open...STILL BEING RESEARCHED!!!! - CJC
	return window.open(sURL,sWinName,sWindowFeatures);
}

function RebuildChildWinRef(sWinName,iWinType)
{
	if(bDEBUG_HANDLERS)
	{
		alert("RebuildChildWinRef(" + sWinName +  "," + iWinType + ")");
	}
	if((sWinName == '') || (sWinName == null))
	{
		return null;
	}
	var sModal = ",dependent=0";
	var oWinObj = null;
	var iScreenLocationX = 0;
	var iScreenLocationY = 0;
	var sWindowFeatures = '';
	var iTempScreenLocationX = 0;
	var iTempScreenLocationY = 0;
	var iHeight = 0;
	var iWidth = 0;
	switch (parseInt(iWinType))
	{
		case parseInt(WIN_TYPE_MGMT):
			iWidth = iMgmtWinWidth;
			iHeight = iMgmtWinHeight;
			iScreenLocationX = window.screen.width-(iWidth+25);
			iScreenLocationY = window.screen.height-(iHeight+75);
			iTempScreenLocationX = window.screen.width + iWidth;
			iTempScreenLocationY = window.screen.height + iHeight;
			break;
		default:
			return false;
	}
	sWindowFeatures = "left=" + iTempScreenLocationX + ",top=" + iTempScreenLocationY + ",height=" + iHeight + ",width=" + iWidth + ",innerHeight=" + iHeight + ",innerWidth=" + iWidth + ",screenX=" + iTempScreenLocationX + ",screenY=" + iTempScreenLocationY + ",hotkeys=0,location=0,menubar=0,personalbar=0,resizable=0,scrollbars=0,status=0,titlebar=1,toolbar=0" + sModal;
	oWinObj = window.open('',sWinName,sWindowFeatures);
	if(oWinObj)
	{
		if(oWinObj.frames.length > 0)
		{
			oWinObj.focus();
			return oWinObj;
		}
		else
		{
			if(oWinObj.close)
			{
				oWinObj.close();
				return null;
			}
		}
		return oWinObj;
	}
	else
	{
		return null;
	}
}

function FindChildWin(sWinName,iWinType)
{
	if(bDEBUG_HANDLERS)
	{
		alert("FindChildWin(" + sWinName + "," + iWinType + ")");
	}
	switch (parseInt(iWinType))
	{
		case parseInt(WIN_TYPE_MGMT):
			sWinName = SetChildWinName(sWinName,WIN_TYPE_MGMT);
			oMgmtWin = RebuildChildWinRef(sWinName,WIN_TYPE_MGMT);
			if(oMgmtWin)
			{
				return oMgmtWin;
			}
			break;
		default:
			//do nothing
	}
	return null;
}

function FindChildWinType(sWinName)
{
	if(bDEBUG_HANDLERS)
	{
		alert("FindChildWinType(" + sWinName + ")");
	}
	var sTempWinName = sWinName;
	var bBuildName = false;
	if(sWinName.indexOf(MGMT_WIN_NAME_PREFIX) == -1)
	{
		bBuildName = true;
	}
	//Check for the management window...
	if(oMgmtWin)
	{
		if(bBuildName)
		{
			sTempWinName = MGMT_WIN_NAME_PREFIX + sWinName;
		}
		alert(oMgmtWin.name);
		if(oMgmtWin.IsMIMSWin)
		{
			if(oMgmtWin.name == sTempWinName)
			{
				return WIN_TYPE_MGMT;
			}
		}
	}
	return 0;
}

function FindChildWinTypeFromName(sWinName)
{
	if(bDEBUG_HANDLERS)
	{
		alert("FindChildWinTypeFromName(" + sWinName + ")");
	}
	if(sWinName.indexOf(MGMT_WIN_NAME_PREFIX) > -1)
	{
		return WIN_TYPE_MGMT;
	}
	return 0;
}

function SetChildWinName(sWinName,iWinType)
{
	if(bDEBUG_HANDLERS)
	{
		alert("SetChildWinName(" + sWinName + "," + iWinType + ")");
	}
	var sReturnName = '';
	switch (parseInt(iWinType))
	{
		case parseInt(WIN_TYPE_MGMT):
			if(sWinName.indexOf(MGMT_WIN_NAME_PREFIX) == -1)
			{
				sReturnName = MGMT_WIN_NAME_PREFIX + sWinName;
			}
			else
			{
				sReturnName = sWinName;
			}
			break;
		default:
			sReturnName = sWinName;
	}
	return sReturnName;
}

function MyMatchMsgClientTypePopup()
{
	window.open(myMatchMsgClientTypePopup,null,'height=420,width=470,channelmode=0,directories=0,fullscreen=0,location=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0');
}

function MyMatchMsgAutoLaunchPopup()
{
	window.open(myMatchMsgAutoLaunchPopup,null,'height=325,width=470,channelmode=0,directories=0,fullscreen=0,location=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0');
}

