blob: 173e3aeec1c5afdeb42aa34d08b02a186695a09f [file]
/*******************************************************************************
* Copyright (c) 2005 Intel Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Intel Corporation - initial API and implementation
*******************************************************************************/
var isMozilla = navigator.userAgent.indexOf("Mozilla") != -1 && parseInt(navigator.appVersion.substring(0,1)) >= 5;
var isIE = navigator.userAgent.indexOf("MSIE") != -1;
/**
* Global references to IndexTypein and IndexList child frames.
* Are intialized by the child frames on theirs load.
*/
var typeinFrame;
var listFrame;
/**
* Selects a topic in the index list
*/
function selectTopicById(id) {
if (!listFrame) return false;
return listFrame.selectTopicById(id);
}
/**
* Selects the next index list node "up" from current one
*/
function selectNextUp() {
if (!listFrame) return false;
var next = listFrame.getNextUp(listFrame.oldActive);
if (next) {
listFrame.highlightTopic(next);
listFrame.scrollIntoView(next);
setTypeinValue(next);
}
}
/**
* Selects the next index list node "down" from current one
*/
function selectNextDown() {
if (!listFrame) return false;
var next = listFrame.getNextDown(listFrame.oldActive);
if (next) {
listFrame.highlightTopic(next);
listFrame.scrollIntoView(next);
setTypeinValue(next);
}
}
/**
* Returns selected list item
*/
function getSelection() {
if (!listFrame) return null;
return listFrame.oldActive;
}
/**
* Set value of the typein input field.
* The value can be anchor's id or anchor's text.
*/
function setTypeinValue(anchor) {
if (!typeinFrame) return;
if (!anchor) return;
var value = anchor.getAttribute("id");
if (value) {
typeinFrame.currentId = value;
} else {
typeinFrame.currentId = "";
if (isIE)
value = anchor.innerText;
else if (isMozilla)
value = anchor.lastChild.nodeValue;
if (!value)
value = "";
}
typeinFrame.typein.value = value;
typeinFrame.typein.previous = value;
}
/**
* Open current selected item in the content frame
*/
function doDisplay() {
if (!listFrame) return;
if (!listFrame.oldActive) return;
parent.parent.parent.parent.ContentFrame.ContentViewFrame.location.replace(listFrame.oldActive);
}