home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Thomson (Residential)
/
TGSTPv7203.iso
/
mac
/
Documentation
/
HTML
/
TG790_pt
/
wwhelp
/
wwhimpl
/
common
/
scripts
/
help.js
< prev
next >
Wrap
Text File
|
2007-06-22
|
18KB
|
653 lines
// Copyright (c) 2000-2001 Quadralay Corporation. All rights reserved.
//
function WWHHelp_GetLocale()
{
var Locale = "en";
// Reset locale to correct language value
//
if ((typeof navigator.language != "undefined") &&
(navigator.language != null))
{
Locale = navigator.language;
}
else if ((typeof navigator.userLanguage != "undefined") &&
(navigator.userLanguage != null))
{
Locale = navigator.userLanguage;
}
// Convert everything to lowercase
//
Locale = Locale.toLowerCase();
// Replace '-'s with '_'s
//
Locale = WWHStringUtilities_SearchReplace(Locale, "-", "_");
return Locale;
}
function WWHHelp_GetBaseURL(ParamURL)
{
var BaseURL;
var Parts;
BaseURL = ParamURL.substring(0, ParamURL.lastIndexOf("/"));
Parts = BaseURL.split("/wwhelp/wwhimpl/common/html");
if (Parts[0] == BaseURL)
{
Parts = BaseURL.split("/wwhelp/wwhimpl/java/html");
}
if (Parts[0] == BaseURL)
{
Parts = BaseURL.split("/wwhelp/wwhimpl/js/html");
}
BaseURL = Parts[0] + "/";
return BaseURL;
}
function WWHHelp_GetURLParams(ParamURL)
{
var URLParams = new Array(null, null, null, null);
// Check for possible context specification
//
if (ParamURL.indexOf("?") != -1)
{
var Parts;
var ContextMarker = "context=";
var TopicMarker = "topic=";
var FileMarker = "file=";
var HREFMarker = "href=";
var MaxIndex;
var Index;
Parts = ParamURL.split("?");
// Check for our context tags
//
if ((Parts[1].indexOf("&") != -1) &&
(Parts[1].indexOf(ContextMarker) != -1) &&
((Parts[1].indexOf(TopicMarker) != -1) ||
(Parts[1].indexOf(FileMarker) != -1)))
{
Parts = Parts[1].split("&");
// Set context and topic, if specified
//
for (MaxIndex = Parts.length, Index = 0 ; Index < MaxIndex ; Index++)
{
if (Parts[Index].indexOf(ContextMarker) == 0)
{
URLParams[0] = Parts[Index].substring(ContextMarker.length, Parts[Index].length);
}
if (Parts[Index].indexOf(TopicMarker) == 0)
{
URLParams[1] = Parts[Index].substring(TopicMarker.length, Parts[Index].length);
}
if (Parts[Index].indexOf(FileMarker) == 0)
{
URLParams[2] = Parts[Index].substring(FileMarker.length, Parts[Index].length);
}
}
// Make certain we have both a ContextTag and either a TopicTag or FileTag
// Otherwise, reset them
//
if ((URLParams[0] == null) ||
((URLParams[1] == null) &&
(URLParams[2] == null)))
{
URLParams[0] = null;
URLParams[1] = null;
URLParams[2] = null;
}
}
else if (Parts[1].indexOf(HREFMarker) == 0) // Check for file tag
{
Parts = Parts[1].split("&");
// Set href, if specified
//
for (MaxIndex = Parts.length, Index = 0 ; Index < MaxIndex ; Index++)
{
if (Parts[Index].indexOf(HREFMarker) == 0)
{
URLParams[3] = Parts[Index].substring(HREFMarker.length, Parts[Index].length);
}
}
}
}
return URLParams;
}
function WWHHelp_Object(ParamURL)
{
this.mbInitialized = false;
this.mInitStage = 0;
this.mInitControls = 0;
this.mSettings = new WWHCommonSettings_Object();
this.mMessages = new WWHCommonMessages_Object();
this.mDocumentLoaded = null;
this.mLocale = WWHHelp_GetLocale();
this.mLocationURL = WWHStringUtilities_NormalizeURL(ParamURL);
this.mBaseURL = WWHHelp_GetBaseURL(this.mLocationURL);
this.mHelpURLPrefix = WWHStringUtilities_RestoreEscapedSpaces(this.mBaseURL);
this.mContextDir = null;
this.mTopicTag = null;
this.mDocumentURL = "";
this.mPopup = new WWHPopup_Object("WWHFrame.WWHHelp.mPopup",
"WWHFrame.WWHContentFrame.WWHDocumentFrame",
WWHPopupFormat_Translate,
WWHPopupFormat_Format,
"WWHPopupDIV", "WWHPopupText", 500, 12, 20,
this.mSettings.mPopup.mWidth);
this.mBookGroups = new WWHBookGroups_Object();
this.mBooks = new WWHBookList_Object();
this.fInitStage = WWHHelp_InitStage;
this.fHandlerInitialized = WWHHelp_HandlerInitialized;
this.fControlsLoaded = WWHHelp_ControlsLoaded;
this.fSetDocumentFrame = WWHHelp_SetDocumentFrame;
this.fSetDocumentHREF = WWHHelp_SetDocumentHREF;
this.fDetermineContextDocument = WWHHelp_DetermineContextDocument;
this.fLoadTopicData = WWHHelp_LoadTopicData;
this.fProcessTopicResult = WWHHelp_ProcessTopicResult;
this.fDisplayContextDocument = WWHHelp_DisplayContextDocument;
this.fSetContextDocument = WWHHelp_SetContextDocument;
this.fGetBookFileHREF = WWHHelp_GetBookFileHREF;
this.fGetSyncPrevNext = WWHHelp_GetSyncPrevNext;
this.fHREFToTitle = WWHHelp_HREFToTitle;
this.fShowPopup = WWHHelp_ShowPopup;
this.fHidePopup = WWHHelp_HidePopup;
this.fClickedPopup = WWHHelp_ClickedPopup;
this.fUpdate = WWHHelp_Update;
this.fDocumentBookkeeping = WWHHelp_DocumentBookkeeping;
// Load up messages
//
this.mMessages.fSetByLocale(this.mLocale);
}
function WWHHelp_InitStage(ParamStage)
{
if (( ! this.mbInitialized) &&
(ParamStage == this.mInitStage))
{
// Perform actions for current init stage
//
switch (this.mInitStage)
{
case 0: // Start initialization process
// Alert the user if this browser is unsupported
//
if (WWHFrame.WWHBrowserInfo.mbUnsupported)
{
alert(WWHFrame.WWHHelp.mMessages.mBrowserNotSupported);
}
this.mInitControls = 0;
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsLeftFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/init0.htm");
break;
case 1: // Prep book data
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsLeftFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/init1.htm");
break;
case 2: // Load book data
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsLeftFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/init2.htm");
break;
case 3: // Handler setup
// Initialize handler
//
WWHFrame.WWHHandler.fInit();
break;
case 4: // Display controls
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsLeftFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/controll.htm");
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsRightFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/controlr.htm");
// WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHTitleFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/title.htm");
break;
case 5: // Display document
this.fSetDocumentFrame();
this.mbInitialized = true;
break;
}
// Increment stage
//
this.mInitStage++;
}
}
function WWHHelp_HandlerInitialized()
{
if (WWHFrame.WWHHelp.mInitStage > 0)
{
if (WWHFrame.WWHHandler.mbInitialized)
{
WWHFrame.WWHContentFrame.WWHPageNavFrame.WWHControlsRightFrame.location.replace(this.mHelpURLPrefix + "wwhelp/wwhimpl/common/html/init3.htm");
}
}
}
function WWHHelp_ControlsLoaded()
{
if ( ! WWHFrame.WWHHelp.mbInitialized)
{
// Only go to final init stage once all control frames have loaded
//
this.mInitControls++;
if (this.mInitControls > 1)
{
WWHFrame.WWHHelp.fInitStage(5);
}
}
}
function WWHHelp_SetDocumentFrame()
{
// Preserve current document if user clicked forward or back to see it
//
if (this.mDocumentLoaded != null)
{
this.fUpdate(this.mDocumentLoaded);
this.mDocumentLoaded = null;
}
else
{
var ContextDocumentURL;
ContextDocumentURL = this.fDetermineContextDocument();
if (ContextDocumentURL != null)
{
this.fSetDocumentHREF(ContextDocumentURL, true);
}
else // Load topic data to determine document to display
{
this.fSetDocumentHREF(this.mBaseURL + "wwhelp/wwhimpl/common/html/document.htm", true);
}
}
}
function WWHHelp_SetDocumentHREF(ParamURL,
bParamReplace)
{
if (ParamURL.length > 0)
{
var EscapedURL = ParamURL;
EscapedURL = WWHStringUtilities_RestoreEscapedSpaces(EscapedURL);
EscapedURL = WWHStringUtilities_EscapeURLForJavaScriptAnchor(EscapedURL);
if (bParamReplace)
{
setTimeout("WWHFrame.WWHContentFrame.WWHDocumentFrame.location.replace(\"" + EscapedURL + "\");", 1);
}
else
{
setTimeout("WWHFrame.WWHContentFrame.WWHDocumentFrame.location = \"" + EscapedURL + "\";", 1);
}
}
}
function WWHHelp_DetermineContextDocument()
{
var ContextDocumentURL = null;
var URLParams = WWHHelp_GetURLParams(this.mLocationURL);
// Check for context specification
//
if (URLParams[3] != null) // href specified
{
ContextDocumentURL = this.mBaseURL + URLParams[3];
}
else if (URLParams[0] != null) // context specified
{
var ContextBook;
// Determine book directory
//
ContextBook = this.mBooks.fGetContextBook(URLParams[0]);
if (ContextBook != null)
{
if (URLParams[2] != null) // file specified
{
ContextDocumentURL = this.mBaseURL + ContextBook.mDirectory + URLParams[2];
}
else if (URLParams[1] != null) // topic specified
{
// Setup for a topic search
//
this.mContextDir = ContextBook.mDirectory;
this.mTopicTag = URLParams[1];
this.mDocumentURL = "";
}
}
else // Display splash page if nothing else found
{
ContextDocumentURL = this.mBaseURL + "wwhelp/wwhimpl/common/html/default.htm";
}
}
else // Display splash page if nothing else found
{
ContextDocumentURL = this.mBaseURL + "wwhelp/wwhimpl/common/html/default.htm";
}
return ContextDocumentURL;
}
function WWHHelp_LoadTopicData()
{
var LoadTopicDataHTML = "";
LoadTopicDataHTML += "<script type=\"text/javascript\" language=\"JavaScript1.2\" src=\"" + this.mHelpURLPrefix + WWHStringUtilities_RestoreEscapedSpaces(this.mContextDir) + "wwhdata/common/topics.js\"></script>";
LoadTopicDataHTML += "<script type=\"text/javascript\" language=\"JavaScript1.2\" src=\"" + this.mHelpURLPrefix + "wwhelp/wwhimpl/common/scripts/documt1s.js\"></script>";
return LoadTopicDataHTML;
}
function WWHHelp_ProcessTopicResult(ParamTopicURL)
{
if (ParamTopicURL != null)
{
this.mDocumentURL = this.mBaseURL + this.mContextDir + ParamTopicURL;
}
}
function WWHHelp_DisplayContextDocument()
{
WWHFrame.WWHHelp.fSetDocumentHREF(this.mDocumentURL, true);
}
function WWHHelp_GetURLPrefix(ParamURL)
{
var URLPrefix = null;
var WorkingURL = "";
var Parts;
var Index;
// Standardize URL for processing
//
WorkingURL = ParamURL;
// Strip any URL parameters
//
if (WorkingURL.indexOf("?") != -1)
{
Parts = WorkingURL.split("?");
WorkingURL = Parts[0];
}
// Confirm URL in wwhelp hierarchy
//
if (((Index = WorkingURL.indexOf("/wwhelp/wwhimpl/common/html/switch.htm")) != -1) ||
((Index = WorkingURL.indexOf("/wwhelp/wwhimpl/common/html/wwhelp.htm")) != -1) ||
((Index = WorkingURL.indexOf("/wwhelp/wwhimpl/java/html/wwhelp.htm")) != -1) ||
((Index = WorkingURL.indexOf("/wwhelp/wwhimpl/js/html/wwhelp.htm")) != -1))
{
URLPrefix = WorkingURL.substring(0, Index);
}
else
{
// Look for match on top level "wwhelp.htm" file
//
Index = WorkingURL.lastIndexOf("/");
if ((Index != -1) &&
(Index == WorkingURL.indexOf("/wwhelp.htm")))
{
URLPrefix = WorkingURL.substring(0, Index);
}
}
return URLPrefix;
}
function WWHHelp_SetContextDocument(ParamURL)
{
var URL = WWHStringUtilities_NormalizeURL(ParamURL);
var CurrentURLPrefix;
var NewURLPrefix;
// Confirm URL under same hierarchy
//
CurrentURLPrefix = WWHHelp_GetURLPrefix(this.mLocationURL);
NewURLPrefix = WWHHelp_GetURLPrefix(URL);
if ((CurrentURLPrefix != null) &&
(NewURLPrefix != null) &&
(CurrentURLPrefix == NewURLPrefix))
{
this.mLocationURL = URL;
this.fSetDocumentFrame();
}
else
{
// Some other help system requested, redirect to it
//
setTimeout("WWHFrame.location = \"" + WWHStringUtilities_EscapeURLForJavaScriptAnchor(ParamURL) + "\";", 1);
}
}
function WWHHelp_GetBookFileHREF(ParamHREF)
{
var BookFileHREF = null;
// Confirm HREF can be in same hierarchy as BaseURL
//
if ((this.mBaseURL.length > 0) &&
(ParamHREF.length > this.mBaseURL.length))
{
var Prefix;
var Suffix;
Prefix = ParamHREF.substring(0, this.mBaseURL.length);
Suffix = ParamHREF.substring(this.mBaseURL.length, ParamHREF.length);
// Confirm HREF definitely is in same hierarchy as BaseURL
//
if (Prefix == this.mBaseURL)
{
BookFileHREF = Suffix;
}
}
return BookFileHREF;
}
function WWHHelp_GetSyncPrevNext(ParamHREF)
{
var ResultArray = new Array(null, null, null);
var Parts;
var AbsoluteHREF;
var BookFileHREF;
// Trim named anchor entries
//
Parts = ParamHREF.split("#");
AbsoluteHREF = Parts[0];
BookFileHREF = this.fGetBookFileHREF(AbsoluteHREF);
if (BookFileHREF != null)
{
if (BookFileHREF == "wwhelp/wwhimpl/common/html/default.htm")
{
ResultArray[2] = this.mBooks.fBookFileIndiciesToHREF(0, 0);
}
else
{
ResultArray = this.mBooks.fGetSyncPrevNext(BookFileHREF);
}
// Prefix with BaseURL if defined
//
// Current
//
if (ResultArray[0] != null)
{
ResultArray[0] = this.mBaseURL + ResultArray[0];
}
// Previous
//
if (ResultArray[1] != null)
{
ResultArray[1] = this.mBaseURL + ResultArray[1];
}
// Next
//
if (ResultArray[2] != null)
{
ResultArray[2] = this.mBaseURL + ResultArray[2];
}
}
else
{
// Unknown document, enable next button to go to first known page
//
ResultArray[2] = this.mBaseURL + this.mBooks.fBookFileIndiciesToHREF(0, 0);
}
return ResultArray;
}
function WWHHelp_HREFToTitle(ParamHREF)
{
var HREFTitle;
var Parts;
var AbsoluteHREF;
var BookFileHREF;
// Trim named anchor entries
//
Parts = ParamHREF.split("#");
AbsoluteHREF = Parts[0];
BookFileHREF = this.fGetBookFileHREF(AbsoluteHREF);
Parts = this.mBooks.fGetBookIndexFileHREF(BookFileHREF);
if (Parts[0] >= 0)
{
HREFTitle = this.mBooks.fHREFToTitle(Parts[0], Parts[1]);
}
else
{
Parts = AbsoluteHREF.split("/");
HREFTitle = AbsoluteHREF[AbsoluteHREF.length - 1];
}
return HREFTitle;
}
function WWHHelp_ShowPopup(ParamContext,
ParamLink,
ParamEvent)
{
var PopupHTML;
PopupHTML = this.mBooks.fGetPopupHTML(ParamContext, ParamLink);
if ((PopupHTML != null) &&
(PopupHTML.length > 0))
{
this.mPopup.fShow(PopupHTML, ParamEvent);
}
}
function WWHHelp_HidePopup()
{
this.mPopup.fHide();
}
function WWHHelp_ClickedPopup(ParamContext,
ParamLink)
{
var Link = WWHStringUtilities_NormalizeURL(ParamLink);
var LinkHREF = null;
var Book;
Book = this.mBooks.fGetContextBook(ParamContext);
if (Book != null)
{
// Clickable popup?
//
if (Book.mPopups.fIsPopupClickable(ParamLink))
{
// Hide the popup if it is visible
//
this.fHidePopup();
WWHFrame.WWHHelp.fSetDocumentHREF(this.mBaseURL + Book.mDirectory + Link, false);
}
}
}
function WWHHelp_Update(ParamURL)
{
var URL;
if (this.mInitStage > 0)
{
URL = WWHStringUtilities_NormalizeURL(ParamURL);
WWHFrame.WWHHandler.fUpdate(URL);
this.fDocumentBookkeeping(URL);
}
else if (ParamURL.indexOf("wwhelp/wwhimpl/common/html/default.htm") == -1)
{
this.mDocumentLoaded = ParamURL;
}
}
function WWHHelp_DocumentBookkeeping(ParamURL)
{
// Highlight search words
//
if (typeof WWHFrame.WWHHighlightWords != "undefined")
{
WWHFrame.WWHHighlightWords.fExec();
}
// Update controls
//
WWHFrame.WWHControls.fUpdateHREF(ParamURL);
// Update window title, if possible
//
if (ParamURL.indexOf("wwhelp/wwhimpl/common/html/default.htm") == -1)
{
if (WWHFrame.WWHBrowserInfo.mBrowser != 1) // Shorthand for Netscape
{
WWHFrame.document.title = this.fHREFToTitle(ParamURL);
}
}
}