2025-04-27 07:49:33 -04:00

349 lines
7.1 KiB
HTML

<HTML>
<!--
Copyright (c) 2000 Microsoft Corporation
-->
<HEAD>
<TITLE>Remote Assistance</TITLE>
<meta http-equiv="MSThemeCompatible" content="Yes">
<LINK id="UI_StyleSheet" REL="stylesheet" TYPE="text/css" HREF="../../Css/rc.css">
<script LANGUAGE="Javascript" >
var g_oSAFRemoteAssistanceHelper = null;
/*++
Control handling routines
--*/
//
// Helper_InitializeRAChatClient: Stuff done when the RCControl page is loaded
//
function Helper_InitializeRAChatClient()
{
parent.TraceFunctEnter("InitializeRAChatClient");
try
{
if( parent.g_oSAFRemoteAssistanceHelper == null)
{
//
// Undocked, floating...
//
var vArgs = window.dialogArguments;
//
// Obtain the Helper Context passed as Parameter
//
g_oSAFRemoteAssistanceHelper = vArgs[0];
}
else
{
//
// Docked
//
g_oSAFRemoteAssistanceHelper = parent.g_oSAFRemoteAssistanceHelper;
}
//
// Setup the Chat Channel
//
parent.Helper_SetupChatChannel();
//
// Resize chat window
//
idChatServerLayer.style.visibility = "visible";
Helper_ResizeChat();
//
// enable chat controls on the screen
//
idIncomingChatText.disabled=false;
idchatText.disabled=false;
//btnSendChat.disabled=false;
//
// Set the Focus on chat control
//
idChatServerLayer.focus();
idchatText.click();
idchatText.select();
idchatText.focus();
}
catch(error)
{
parent.FatalError(error.description, error);
}
parent.TraceFunctLeave();
return;
}
//
// Helper_HideChatWindow
//
function Helper_HideChatWindow()
{
idChatServerLayer.style.visibility = "hidden";
}
//
// Helper_showChatWindow
//
function Helper_ShowChatWindow()
{
idChatServerLayer.style.visibility = "visible";
}
//
// Resizes the helper chat window
//
function Helper_ResizeChat()
{
if( null == parent.TraceFunctEnter )
{
return;
}
try
{
idChatServerLayer.style.width = idBody.clientWidth;
idChatServerLayer.style.height = idBody.clientHeight;
//idHistory.height = (idBody.clientHeight * 30) / 52;
}
catch(error)
{
//
// Dont care
//
}
}
//
// Helper_OnEnter: This is fired when Expert hits <ENTER> in the chat message window
//
function Helper_OnEnter()
{
try
{
if( parent.frames.idFrameScreen.g_oSAFRemoteAssistanceHelper.m_bConnected == false )
{
//
// Disconnected
//
return;
}
if (window.event.keyCode == 13)
{
//
// Send chat data to user
//
parent.frames.idFrameTools.Helper_SendChatData();
window.event.returnValue = false;
}
}
catch(error)
{
parent.FatalError( error.description );
}
}
//
// Helper_UpdateChatHistory: Updates the history pane with message from helpee
//
function Helper_UpdateChatHistory( szMsg )
{
try
{
idIncomingChatText.value = idIncomingChatText.value + "\n " + g_oSAFRemoteAssistanceHelper.m_szUserName + ":\n ";
idIncomingChatText.value = idIncomingChatText.value + szMsg;
idIncomingChatText.doScroll("scrollbarPageDown");
}
catch(error)
{
parent.FatalError( error.description );
}
}
//
// TopScroll: Scrolls History up
//
function TopScroll()
{
if(window.event.srcElement.id == "idChatTopScroll")
{
idchatText.doScroll("scrollbarUp");
}
else
{
idIncomingChatText.doScroll("scrollbarUp");
}
}
//
// BottomScroll: Scrolls History down
//
function BottomScroll()
{
if(window.event.srcElement.id == "idChatBottomScroll")
{
idchatText.doScroll("scrollbarDown");
}
else
{
idIncomingChatText.doScroll("scrollbarDown");
}
}
//
// Security Check
//
function DoLoad()
{
var L_ERRACCESSDENIED_MSG = "Directly launching this page is not allowed. ";
if( null == parent.TraceFunctEnter )
{
idBody.style.visibility = "hidden";
alert( L_ERRACCESSDENIED_MSG );
return;
}
}
//
// Cut and Paste truncation code...
//
var flag = true;
function validatePaste()
{
try
{
if(flag)
{
flag = false;
var sSnapshot = clipboardData.getData("text");
var lpreText = idchatText.innerText.length;
if(IsActiveSelect()) // handles the case of highlighted text
{
var selected = element.document.selection.createRange();
lpreText -= selected.text.length;
}
var sChop = sSnapshot.substring( 0, idchatText.Maxlength-lpreText+1);
clipboardData.setData("text",sChop);
document.execCommand("paste"); // calls paste method again
event.returnValue = false; // cancels the action of the first call
clipboardData.setData("text",sSnapshot); // restores the clipboard
}
else
{
flag = true;
}
}
catch(error)
{
// Ignore this error
}
}
function IsActiveSelect()
// returns a Boolean if there is currently something selected
{
try
{
var selected = document.selection.createRange();
if( selected.text.length > 0 )
{
return true;
}
else
{
return false;
}
}
catch(error)
{
// Ignore this error
}
}
function document.onkeydown()
{
if ((window.event.keyCode==8)&&(window.event.srcElement.id != "idchatText"))
{
window.event.returnValue=false;
}
if ((window.event.shiftKey==true)&&(window.event.keyCode==9))
{
parent.frames("idFrameStatus").document.all("idchatimg").focus();
parent.frames("idFrameStatus").document.all("btnHelp").focus();
window.event.returnValue=false;
}
else if ((window.event.keyCode==9)&&(window.event.srcElement.id=="idchatText"))
{
if(parent.frames("idFrameTools").frameElement.height > 0)
{
parent.frames("idFrameTools").document.all("btnTakeCtrl").focus();
parent.frames("idFrameTools").document.all("btnSendChat").focus(); }
window.event.returnValue=false;
}
else if ((window.event.keyCode==9)&&(window.event.srcElement.id=="idIncomingChatText"))
{
idchatText.focus();
window.event.returnValue=false;
}
}
</script>
<title>Remote Assistance Chat Window</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body id="idBody" scroll="no" tabindex=-1 onresize="Helper_ResizeChat()" onmouseover="" onLoad="DoLoad()">
<DIV id="idChatServerLayer" class="MaxLayout">
<TABLE border=0 cellpadding=0 cellspacing=0 class="ChatClientTable" >
<TR id=idHistoryRow>
<TD id=idHistory class="ChatClientTR2TD">
<TEXTAREA id=idIncomingChatText title="Chat history" tabindex=-1 class="styText ChatClientTextArea MaxLayout Overflow" disabled name=idIncomingChatText readOnly wrap=VIRTUAL multiline="true"></TEXTAREA>
</TD>
</TR>
<TR>
<TD class="ChatClientTR4"> </TD>
</TR>
<TR id=idChatTextRow valign="top" align="middle">
<TD class="ChatClientTR5">
<TEXTAREA Maxlength=1024 onpaste="validatePaste();" onkeypress=Helper_OnEnter() id=idchatText title="type new message here" tabindex=1 class="styText ChatClientTextArea MaxLayout Overflow" name=idchatText></TEXTAREA>
</TD>
</TR>
</TABLE>
</DIV>
</body>
</html>