var gGM_ACTIONS_ENABLED = false;

function gm_actions_init()
{
	gGM_ACTIONS_ENABLED = true;
}

function gm_actions_shutdown()
{
	gGM_ACTIONS_ENABLED = false;
}

function gm_actions_check(pPlayerState)
{
	if (!gGM_ACTIONS_ENABLED)
		return;

	var action = player.player_GetASXParameterValue("CastUP_Action");

	if (action != "")
	{
		var param1 = player.player_GetASXParameterValue("CastUP_Action_Param1");
		var param2 = player.player_GetASXParameterValue("CastUP_Action_Param2");
		var param3 = player.player_GetASXParameterValue("CastUP_Action_Param3");
		var param4 = player.player_GetASXParameterValue("CastUP_Action_Param4");
		var param5 = player.player_GetASXParameterValue("CastUP_Action_Param5");
		var param6 = player.player_GetASXParameterValue("CastUP_Action_Param6");
		var param7 = player.player_GetASXParameterValue("CastUP_Action_Param7");
		var param8 = player.player_GetASXParameterValue("CastUP_Action_Param8");
		var param9 = player.player_GetASXParameterValue("CastUP_Action_Param9");

		gm_actions_handleAction(action, param1, param2, param3, param4, param5, param6, param7, param8, param9);
	}
}

function gm_actions_handleAction(action, param1, param2, param3, param4, param5, param6, param7, param8, param9)
{
	switch(action)
	{
		case "DisplayMessage":
			gGM_ACTIONS_ENABLED = false;
			player.player_Stop();

			var strURL = gm_actions_getScriptPath() + "cumessage.asp?action=" + escape(action) + "&lang=" + escape(gLanguage) + "&pagedir=" + escape(gLanguageDirection);

			strURL = gm_actions_addParamToURL(strURL, "p1", param1);
			strURL = gm_actions_addParamToURL(strURL, "p2", param2);
			strURL = gm_actions_addParamToURL(strURL, "p3", param3);
			strURL = gm_actions_addParamToURL(strURL, "p4", param4);
			strURL = gm_actions_addParamToURL(strURL, "p5", param5);
			strURL = gm_actions_addParamToURL(strURL, "p6", param6);
			strURL = gm_actions_addParamToURL(strURL, "p7", param7);
			strURL = gm_actions_addParamToURL(strURL, "p8", param8);
			strURL = gm_actions_addParamToURL(strURL, "p9", param9);
			strURL = gm_actions_addReturnUrlToURL(strURL);

			location.href = strURL;
			break;
	}
}

function gm_actions_getScriptPath()
{
	var url = String(location.pathname).valueOf();
	var pos = url.lastIndexOf("/");
	if (pos > 0)
		return url.substr(0, pos + 1);
	else
		return "/";
}

function gm_actions_addParamToURL(pURL, pParamName, pParamValue)
{
	if (pParamValue != "")
		return pURL + "&" + pParamName + "=" + escape(pParamValue);
	else
		return pURL;
}

function gm_actions_addReturnUrlToURL(pURL)
{
	return gm_actions_addParamToURL(pURL, "returnUrl", location.href);
}
