var chatOpenParams						= "height=350,width=760,menubar=no,location=no,resizable=yes,status=yes";
var helpOpenParams						= "height=500,width=700,menubar=no,location=no,resizable=yes,status=yes,scrollbars=yes";
var wbtOpenParams							= "height=250,width=500,menubar=no,location=no,resizable=yes,status=no,dependent=yes";
var cbtOpenParams							= "height=250,width=500,menubar=no,location=no,resizable=no,status=no,dependent=yes";
var testOpenParams						= "menubar=no,location=no,resizable=yes,status=no,dependent=yes";
var recordingOpenParams				= "menubar=no,location=no,resizable=yes,status=no,dependent=yes";
var virtualSessionOpenParams	= "menubar=no,location=no,resizable=yes,status=no,dependent=yes";
var gtClientWindowOpenParams	= "top=9999,left=9999,height=100,width=300,menubar=no,location=no,resizable=no,status=no,dependent=yes";
var certificateOpenParams	= "height=600,width=800,menubar=no,location=no,resizable=yes,status=yes,scrollbars=yes";

function ShowCertificate(url)
{
	var win = window.open(url, "Certificate", certificateOpenParams);
	win.focus();
}

function ShowHelp(topic)
{
	var win = window.open(
		"../Help/help.aspx?app=sui&topic=" + topic, "Help",
		helpOpenParams);
	win.focus();
}

function ShowTuiHelp(topic)
{
	var win = window.open(
		"../Help/help.aspx?app=tui&topic=" + topic, "Help",
		helpOpenParams);
	win.focus();
}

function OpenUserProfile(userId, chatRoom)
{
	var win = window.open(
		"../Pages/UserProfileFrame.aspx?userId=" + userId + "&chatRoom=" + chatRoom,
		"UserProfile_" + userId,
		"height=580,width=780,top=50,left=20,menubar=no,location=no,resizable=no,status=yes");
	win.focus();
}

function OpenUserProfileWithGuid(userGuid, chatRoom)
{
	var win = window.open(
		"../Pages/UserProfileFrame.aspx?userGuid=" + userGuid + "&chatRoom=" + chatRoom,
		"UserProfile_" + userGuid,
		"height=600,width=650,menubar=no,location=no,resizable=yes,status=yes");
	win.focus();
}

function HideDiv(div)
{
	div.style.visibility = "hidden";
}

function SetInputValue(id, value)
{
		var input = document.getElementById(id);
		if (input == null)
			alert("ERROR: no element with this ID found: " + id);
		input.value = value;
}

/*****************************************************************************************
Opens the chat and invites the specified user.
	mode:
		"tplan" -> opens the chat for the current tplan (if any)
		"item"	-> opens the chat for the current item (if any)
		default	-> opens the global chat room for the current user's domain
	invitee:
		Username of a user to be invited (empty if no user should be invited)
*****************************************************************************************/

function OpenChat(mode, invitee)
{
	var win = window.open(
		"../Pages/Chat.aspx?mode=" + mode + "&invite=" + invitee,
		"Chat",
		chatOpenParams);
	win.focus();
}

function OpenChat2(room, invitee, domain) 
{
	var win = window.open(
		"../Pages/Chat.aspx?room=" + room + "&invite=" + invitee + "&domain=" + domain,
		"Chat",
		chatOpenParams);
	win.focus();
}

function StartGtClient(url, windowName, urlParameters)
{
	if (typeof(urlParameters) == "undefined") { urlParameters = gtClientWindowOpenParams; }
	window.open(url, windowName, urlParameters);
}

/********************************************************************
 * Starts the specified lesson.
 * ------------------------------------------------------------------
 *	lessonSid
 *		string id of the lesson to be started
 *	mode
 *		used to specify start mode (1..3) for CBTs, WBTs
 *	windowParams
 *		optional window parameters (e.g. size, fullscreen, ...)
 ********************************************************************/
function StartLesson(lessonSid, mode, windowParams)
{
	var pathToRoot = (typeof(__gt_applicationRoot) == "undefined") ? "../" : __gt_applicationRoot;
	if ((typeof(windowParams) != "string") || (windowParams == ""))
		windowParams = "";

	StartGtClient(
		pathToRoot + "Pages/GtClient.aspx?itemId=" + lessonSid + "&action=start&mode=" + mode,
		"StartLesson",
		windowParams);
}

function StartWbt(itemId, mode, relativePathToRoot, urlParameters)
{
	StartGtClient(
		relativePathToRoot + "Pages/GtClient.aspx?itemId=" + itemId + "&action=start&mode=" + mode,
		"StartWbt",
		wbtOpenParams);
}

function StartTest(itemId, relativePathToRoot)
{
	StartGtClient(
		relativePathToRoot + "Pages/GtClient.aspx?itemId=" + itemId + "&action=start&mode=1",
		"StartTest",
		testOpenParams);
}

function StartCbt(itemId, mode, relativePathToRoot)
{
	StartGtClient(
		relativePathToRoot + "Pages/GtClient.aspx?itemId=" + itemId + "&action=start&mode=" + mode,
		"StartWbt",
		cbtOpenParams);
}

function ShowRecording(itemId, relativePathToRoot)
{
	StartGtClient(
		relativePathToRoot + "Pages/GtClient.aspx?itemId=" + itemId + "&action=start&mode=1",
		"ShowRecording",
		recordingOpenParams);
}

function StartVirtualSession(itemId, scheduleId, relativePathToRoot)
{
	StartGtClient(
		relativePathToRoot + "Pages/GtClient.aspx?itemId=" + itemId + "&vcScheduleId=" + scheduleId + "&action=start&mode=1",
		"StartVirtualSession",
		virtualSessionOpenParams);
}

function OpenTPlan(itemId, relativePathToRoot)
{
	window.location.href= relativePathToRoot + "Pages/TPlan.aspx?parentId=" + itemId;
}


/* Copied from http://www.howtocreate.co.uk/tutorials/javascript/browserwindow */
function getWindowHeight()
{
	if (typeof(window.innerWidth) == 'number') //Non-IE
	{
		return  window.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) //IE 6+ in 'standards compliant mode'
	{
		return document.documentElement.clientHeight;
	}
	else if (document.body && document.body.clientHeight) //IE 4 compatible
	{
		return document.body.clientHeight;
	}
	return 768;
}

/* Copied from http://www.howtocreate.co.uk/tutorials/javascript/browserwindow */
function getWindowWidth()
{
	if (typeof(window.innerWidth) == 'number') //Non-IE
	{
		return window.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientWidth) //IE 6+ in 'standards compliant mode'
	{
		return document.documentElement.clientWidth;
	}
	else if (document.body && document.body.clientWidth) //IE 4 compatible
	{
		return document.body.clientWidth;
	}
	return 1024;
}

