blob: 39806e49300cf1ceaa74f9b35d7c229a9825ae3f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM 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:
* IBM Corporation - initial API and implementation
* Pierre Candela - fix for Bug 194911
*******************************************************************************/
var isIE = navigator.userAgent.indexOf('MSIE') != -1;
function toggleAutosynch(button) {
var tocFrame = window.parent.tocViewFrame;
tocFrame.toggleAutosynch();
if (tocFrame.isAutosynchEnabled()) {
try {
parent.parent.parent.parent.ContentFrame.ContentToolbarFrame.autosynch();
} catch(e){
}
}
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function toggleShowAll(button){
window.parent.parent.toggleShowAll();
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function toggleShowCategories(button){
parent.searchViewFrame.toggleShowCategories();
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function toggleShowDescriptions(button){
parent.searchViewFrame.toggleShowDescriptions();
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function removeBookmark(button){
try {
parent.bookmarksViewFrame.removeBookmark();
} catch(e){
}
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function removeAllBookmarks(button){
try {
parent.bookmarksViewFrame.removeAllBookmarks();
} catch(e){
}
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function filter(button){
window.parent.parent.selectScope();
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function printTopic(errorMsg) {
var href = parent.tocViewFrame.getSelectedTopic();
if (href) {
parent.parent.parent.parent.ContentFrame.ContentToolbarFrame.printContent();
}
else {
alert(errorMsg);
}
}
function printToc(errorMsg) {
var topic = parent.tocViewFrame.getSelectedTopic();
if (topic && topic != ":blank") {
var contentRect = getWindowBounds(parent.parent.parent.parent.ContentFrame.ContentViewFrame.window);
var topRect = getWindowBounds(parent.parent.parent.parent.parent);
var w = contentRect.width;
var h = topRect.height;
var x = topRect.x + (topRect.width - w)/2;
var y = topRect.y;
var parameters;
// The topic could be followed by a parameter, an anchor or both
var anchor = "";
var query = "";
var indexAnchor=topic.indexOf('#');
if (indexAnchor!=-1) {
anchor= '&anchor=' + topic.substr(indexAnchor+1)
topic=topic.substr(0,indexAnchor);
}
var indexQuery = topic.indexOf("?");
if (indexQuery != -1) {
query = '&' + topic.substr(indexQuery+1)
topic= topic.substr(0,indexQuery);
}
parameters = "?topic="+topic + query + anchor;
var printWindow = window.open("print.jsp" + parameters, "printWindow", "directories=yes,location=no,menubar=yes,resizable=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=yes,width=" + w + ",height=" + h + ",left=" + x + ",top=" + y);
}
else {
alert(errorMsg);
}
}
function collapseAll(button) {
try {
parent.tocViewFrame.collapseAll();
} catch(e){
}
if (button && document.getElementById(button)){
document.getElementById(button).blur();
}
}
function getWindowBounds(window) {
var rect = new Object();
if (window.screenLeft) {
rect.x = window.screenLeft;
rect.y = window.screenTop;
}
else {
rect.x = window.screenX;
rect.y = window.screenY;
}
if (window.innerWidth) {
rect.width = window.innerWidth;
rect.height = window.innerHeight;
}
else {
rect.width = window.document.body.clientWidth;
rect.height = window.document.body.clientHeight;
}
return rect;
}
function getSearchWord() {
var navFrame = parent.parent.parent;
var searchFrame = navFrame.parent.parent.HelpToolbarFrame.frames["SearchFrame"];
return searchFrame.document.forms["searchForm"].searchWord.value;
}
function quickSearchTopic(errorMsg) {
quickSearch("QuickSearchTopic", errorMsg);
}
function quickSearchToc(errorMsg) {
quickSearch("QuickSearchToc", errorMsg);
}
function quickSearch(quickSearchType, errorMsg) { //search this topic and all subTopics
var topic = parent.tocViewFrame.getSelectedTopic();
if (topic) {
var node = parent.tocViewFrame.getActiveAnchor();
var treeItem = parent.tocViewFrame.getTreeItem(node);
if (!treeItem) { return; } // TODO need better error
var parameters = "?searchWord=" + getSearchWord();
parameters = parameters + "&quickSearchType=" + quickSearchType;
// Defect 593: resize search window 2/2
var w = 315;
var h = 120;
if (isIE){
var l = top.screenLeft + (top.document.body.clientWidth - w) / 2;
var t = top.screenTop + (top.document.body.clientHeight - h) / 2;
} else {
var l = top.screenX + (top.innerWidth - w) / 2;
var t = top.screenY + (top.innerHeight - h) / 2;
}
// move the dialog just a bit higher than the middle
if (t-50 > 0) t = t-50;
window.location="javascript://needModal";
// Defect 593 ends
var quickSearchWindow = window.open("quickSearch.jsp" + parameters, "QuickSearch", "location=no, status=no,resizable=yes,height="+h+",width="+w +",left="+l+",top="+t);
quickSearchWindow.focus();
}
else {
alert(errorMsg);
}
}
function searchFor(searchWord, quickSearchType) {
var node = parent.tocViewFrame.getActiveAnchor();
var treeItem = parent.tocViewFrame.getTreeItem(node);
var topAncestor = parent.tocViewFrame.getTopAncestor(treeItem);
if (!topAncestor) { return; }
var toc = topAncestor.nodeid;
var maxHits = 500;
var query ="searchWord="+encodeURIComponent(searchWord)+"&maxHits="+maxHits + "&quickSearch=true&toc="+toc +"&quickSearchType=" + quickSearchType;
if (topAncestor !== treeItem) {
query += "&path=";
query += treeItem.nodeid;
}
var navFrame = parent.parent.parent;
var searchFrame = navFrame.parent.parent.HelpToolbarFrame.frames["SearchFrame"];
navFrame.showView('search');
var searchView = navFrame.ViewsFrame.search.searchViewFrame;
searchView.location.replace("searchView.jsp?"+query);
searchFrame.document.forms["searchForm"].searchWord.value = searchWord;
}