function document.ondragstart()
{
event.cancelBubble=true;
event.returnValue=false;
}
function document.oncontextmenu()
{
if (event.srcElement.id != "idsearchinput") // only display default context menu for search
{
event.cancelBubble = true;
event.returnValue = false;
}
}
function document.onkeypress()
{
switch (event.srcElement.id)
{
case "TocBtn":
case "TocMenuLabel":
case "ShortcutsMenuLabel":
case "HelpMenuLabel":
case "PreviousLink":
case "PreviousBtn":
case "NextLink":
case "NextBtn":
{
if (event.keyCode == ASCII_KEYCODE_ENTER)
{
document.onclick();
event.cancelBubble = true;
event.returnValue = false;
break;
}
}
case "idsearchinput":
if (event.keyCode == ASCII_KEYCODE_ENTER)
BasicSearchGoBtn.click();
}
if (event.ctrlKey)
{
switch (event.keyCode)
{
case ASCII_KEYCODE_CTRL_J:
ContentFrame.focus();
break;
case ASCII_KEYCODE_CTRL_Q:
DisplayHelp(1);
}
}
}
function document.onkeyup() // ALT modifier cannot be trapped using document.onkeypress() or document.onkeydown()
{
try
{
if (event.altKey)
{
HideMenu();
switch (String.fromCharCode(event.keyCode))
{
case LBL_PREVIOUS_TOPIC_ACCESSKEY:
if (PreviousLink.style.visibility == "visible") API.LRNDoPrevious();
break;
case LBL_NEXT_TOPIC_ACCESSKEY:
if (NextLink.style.visibility == "visible") API.LRNDoNext();
break;
case LBL_TOC_MENU_ACCESSKEY:
ToggleToc();
if (g_oTocFrame.style.display == "inline")
{
if (TocMenuLabel.className == "TocMenuLabel")
imgTocBtn.src = g_aImgTocUpBtn[BUTTON_STATE_NORMAL].src;
else
imgTocBtn.src = g_aImgTocUpBtn[BUTTON_STATE_RO].src;
}
else
{
if (TocMenuLabel.className == "TocMenuLabel")
imgTocBtn.src = g_aImgTocDownBtn[BUTTON_STATE_NORMAL].src;
else
imgTocBtn.src = g_aImgTocDownBtn[BUTTON_STATE_RO].src;
}
break;
case LBL_SHORTCUTS_MENU_ACCESSKEY:
ShowMenu(ShortcutsMenuLabel);
break;
case LBL_HELP_MENU_ACCESSKEY:
ShowMenu(HelpMenuLabel);
break;
case LBL_ADVANCED_SEARCH_ACCESSKEY:
AdvSearchLink.click();
}
}
}
catch(e)
{
}
}
function document.onclick()
{
try
{
switch (event.srcElement.id)
{
case "TocMenuLabel":
case "TocBtn":
case "imgTocBtn":
ToggleToc();
break;
case "PreviousLink":
case "PreviousBtn":
case "imgPreviousBtn":
API.LRNDoPrevious();
break;
case "NextLink":
case "NextBtn":
case "imgNextBtn":
API.LRNDoNext();
break;
case "ShortcutsMenuLabel":
case "HelpMenuLabel":
ShowMenu(event.srcElement);
return;
}
if (event.srcElement.tagName != "U") HideMenu();
}
catch(e)
{
}
}
function ToggleToc()
{
var oTocFrameStyle = g_oTocFrame.style;
if (oTocFrameStyle.display == "inline")
{
oTocFrameStyle.display = "none";
divSep.style.display = "none";
imgTocBtn.alt = LBL_TOC_TOOLTIP_SHOW;
TocMenuLabel.title = LBL_TOC_TOOLTIP_SHOW;
}
else
{
oTocFrameStyle.display = "inline";
divSep.style.display = "inline";
imgTocBtn.alt = LBL_TOC_TOOLTIP_HIDE;
TocMenuLabel.title = LBL_TOC_TOOLTIP_HIDE;
TocFrame.document.body.ScrollToNode();
}
PositionFrames();
}
function divSep_onmouseup()
{
divSep.releaseCapture();
}
function divSep_onmousedown()
{
divSep.setCapture();
}
function divSep_onmousemove()
{
if (event.button == MOUSE_BUTTON_LEFT)
{
var evX = event.clientX;
if (evX < GetElementPos(ContentAreaTbl,"Left") || evX > GetElementPos(ContentAreaTblRt,"Left")) return;
divSepMove(evX);
}
}
function divSep_onkeypress()
{
var evX = divSep.style.posLeft;
switch (event.keyCode)
{
case ASCII_KEYCODE_ARROW_RIGHT:
var nRt = GetElementPos(ContentAreaTblRt,"Left");
var nDiff = nRt - evX;
evX += (nDiff >= 10) ? 10 : nDiff;
if (evX > nRt) return;
break;
case ASCII_KEYCODE_ARROW_LEFT:
var nLft = GetElementPos(ContentAreaTbl,"Left");
var nDiff = evX - nLft;
evX -= (nDiff >= 10) ? 10 : nDiff;
if (evX < nLft) return;
break;
default:
return;
}
divSepMove(evX);
}
function divSepMove(evX)
{
var nDiff = divSep.style.posLeft - evX;
divSep.style.posLeft = evX;
g_oContentFrame.style.posLeft = evX + divSep.clientWidth;
g_oContentFrame.style.pixelWidth += nDiff;
g_oTocFrame.style.pixelWidth -= nDiff;
SaveOrigTocWidth();
}
function ChangeButtonImage()
{
var nState = -1;
switch (event.type)
{
case "mouseover":
nState = BUTTON_STATE_RO;
break;
case "mouseout":
nState = BUTTON_STATE_NORMAL;
break;
case "mousedown":
if (event.button == MOUSE_BUTTON_LEFT)
{
nState = BUTTON_STATE_DOWN;
break;
}
case "mouseup":
if (event.button == MOUSE_BUTTON_LEFT)
{
nState = BUTTON_STATE_RO;
break;
}
default:
return;
}
var oSrc = event.srcElement;
var sID = (oSrc.tagName != "U") ? oSrc.id : oSrc.parentElement.id;
switch (sID)
{
case "imgTocBtn":
case "TocMenuLabel":
if (g_oTocFrame.style.display == "inline")
if (event.type != "mouseup")
imgTocBtn.src = g_aImgTocUpBtn[nState].src;
else
imgTocBtn.src = g_aImgTocDownBtn[nState].src;
else
if (event.type != "mouseup")
imgTocBtn.src = g_aImgTocDownBtn[nState].src;
else
imgTocBtn.src = g_aImgTocUpBtn[nState].src;
TocMenuLabel.className = (nState == BUTTON_STATE_NORMAL) ? "TocMenuLabel" : "TocMenuLabelRO";
if (TocMenuLabel.children.length) TocMenuLabel.children(0).className = (nState == BUTTON_STATE_NORMAL) ? "TocMenuLabel" : "TocMenuLabelRO";
break;
case "imgPreviousBtn":
case "PreviousLink":
if (!PreviousBtn.disabled) imgPreviousBtn.src = g_aImgPreviousBtn[nState].src;
PreviousLink.className = (nState == BUTTON_STATE_NORMAL) ? "NavLabelText" : "NavLabelTextRO";
if (PreviousLink.children.length) PreviousLink.children(0).className = (nState == BUTTON_STATE_NORMAL) ? "NavLabelText" : "NavLabelTextRO";
break;
case "imgNextBtn":
case "NextLink":
if (!NextBtn.disabled) imgNextBtn.src = g_aImgNextBtn[nState].src;
NextLink.className = (nState == BUTTON_STATE_NORMAL) ? "NavLabelText" : "NavLabelTextRO";
if (NextLink.children.length) NextLink.children(0).className = (nState == BUTTON_STATE_NORMAL) ? "NavLabelText" : "NavLabelTextRO";
break;
default:
return;
}
}
function onContentFrameKeypress()
{
try
{
var oEvent = ContentFrame.event;
if (oEvent.ctrlKey && oEvent.keyCode == ASCII_KEYCODE_CTRL_Q)
DisplayHelp(1);
else if (oEvent.altKey)
{
switch (String.fromCharCode(oEvent.keyCode))
{
case LBL_PREVIOUS_TOPIC_ACCESSKEY:
API.LRNDoPrevious();
break;
case LBL_NEXT_TOPIC_ACCESSKEY:
API.LRNDoNext();
}
}
}
catch(e)
{
}
}