From: rkv Date: Tue, 16 Apr 2013 07:19:14 +0000 (+0000) Subject: Context help is introduced. X-Git-Tag: Root_Delivery2_2013_04_22~31 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=32824e1d4f6a4987f423c34110802c29feb20923;p=tools%2Fsiman.git Context help is introduced. --- diff --git a/Workspace/Siman/WebContent/WebHelp/Add_Scenario.htm b/Workspace/Siman/WebContent/WebHelp/Add_Scenario.htm new file mode 100644 index 0000000..d34d4c5 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Add_Scenario.htm @@ -0,0 +1,139 @@ + + + + + +Add Scenario + + + + + + + + + + + + +

Add Scenario

+ +

To add a scenario to the selected study, click Add + a scenario button.

+ +

 

+ +

+ +

 

+ +

 

+ +

In this menu it is necessary to define the following parameters:

+ + + +

 

+ +

Confirm the choice by clicking Create + the scenario button.

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Communication_with_Salome.htm b/Workspace/Siman/WebContent/WebHelp/Communication_with_Salome.htm new file mode 100644 index 0000000..577d7aa --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Communication_with_Salome.htm @@ -0,0 +1,174 @@ + + + + + +Communication with Salome + + + + + + + + + + + +

Communication with Salome

+ +

Check out

+ +

 

+ +

It is possible to initialize a new SALOME session with data stored in + SIMAN using basic Import functionality of SALOME modules. Only data corresponding + to a given Scenario are checked-out.

+ +

 

+ +

The Check-out mechanism can check-out either the entire scenario (all + involved activities) or only the currently selected activity.

+ +

To access to Salome, select the scenario or a certain activity and click + Check out button. +

+ +

 

+ +

The data collected by SIMAN come from files attached to result documents + of activities involving SALOME. For each of these result documents, the + data includes:

+ + + +

 

+ +

 

+ +

Once all files are processed, a dialog box is opened informing about + location of a temporary directory with the  downloaded + files.

+ +

 

+ +

{Картинка }

+ +

 

+ +

When SALOME is started by SIMAN Check-out, the Python path visible from + the SALOME Python console is automatically expanded to the temporary directory + in which Python scripts are downloaded. In the SALOME Load Python script + dialog box, the Quick path is set by default to this temporary download + directory.

+ +

 

+ +

From SALOME, it is possible to manually regenerate the result data file + by importing source files. There are several reasons for regenerating + the data: a Python script has changed,  a + wrong brep file has been uploaded, a SALOME module has been versioned + and so on.

+ +

 

+ +

Check in

+ +

 

+ +

It is + possible to save all changes + introduced in a Salome session by a Check-in operation.

+ +

 

+ +

This operation creates a new version of + the result document produced by the corresponding SALOME module or updates + the existing document version for each activity (global check-in) or only + for the selected activity (local check-in).

+ +

 

+ +

Once all SALOME modules and correspondent + result files are processed and Check in operation is finished, SALOME + opens a dialog box informing the user about the result files that are + checked in to SIMAN.

+ +

 

+ +

{Картинка}

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Compare_Studies.htm b/Workspace/Siman/WebContent/WebHelp/Compare_Studies.htm new file mode 100644 index 0000000..0989a7a --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Compare_Studies.htm @@ -0,0 +1,140 @@ + + + + + +Compare Studies + + + + + + + + + + + + +

Compare Studies

+ +

To compare the results of several studies, + click   button.

+ +

 

+ +

The studies can be compared only if

+ + + +

 

+ +

+ +

 

+ +

In this menu, the information about studies, scenarios and compatible + result documents are presented as table.

+ +

In the Selection column it is + possible to check-in two or more documents and click on Compare + button.  

+ +

The resulting PDF file including comparison chart will be generated. + If necessary, it can be uploaded in “Finalize the study” or other activity + of the required study.

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Configure_Study.htm b/Workspace/Siman/WebContent/WebHelp/Configure_Study.htm new file mode 100644 index 0000000..3691008 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Configure_Study.htm @@ -0,0 +1,193 @@ + + + + + +Configure Study + + + + + + + + + + + +

Configuration

+ +

Configure Study

+ +

 

+ +

Configuration of the active study is initiated by clicking Configure  button + in the left toolbar.

+ +

 

+ +

+ +

 

+ +

The following information about the study can be defined in this menu:

+ +

 

+ + + +

 

+ +

To change the contents of this field, click Edit + the title button. The field becomes editable.

+ +

 

+ +

+ +

 

+ +

The changes can be Canceled + by clicking or Saved + by clicking .

+ +

 

+ +

 

+ + + +

 

+ +

To change the users assigned for these actions click Edit the title button.

+ +

 

+ +

+ +

 

+ +

Select in the list boxes the appropriate user for each action. The changes + can be Canceled by clicking or Saved by clicking + .

+ +

 

+ +

Click button to return to studu editing.

+ +

 

+ +

 

+ +

Configure Scenario

+ +

 

+ +

To configure a scenario, select it in the + activities list and click  Configure  button + in the left toolbar.

+ +

 

+ +

+ +

 

+ +

In this menu it is possible to change its + title. Click Save button to confirm + changes.

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Database_Management.htm b/Workspace/Siman/WebContent/WebHelp/Database_Management.htm new file mode 100644 index 0000000..a41f5f9 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Database_Management.htm @@ -0,0 +1,132 @@ + + + + + +Database Management + + + + + + + + + + + +

Database Management

+ +

The database administrator is able index the studies and import users.

+ +

 

+ +

To get access to administrator actions you should register with an administrator + acccount and click   Managing the database + button.

+ +

 

+ +

Index studies

+ +

 

+ +

+ +

 

+ +

 

+ +

To index studies, select the corresponding  item + in the Administration panel to the left, check-in the Studies + to be indexed in the corresponding list and click Index + button.

+ +

 

+ +

Import users

+ +

 

+ +

+ +

 

+ +

 

+ +

To import users, select the corresponding  item + in the Administration panel to the left, browse for an XML file with the + definition of users and click Upload + button.  The + list of imported users will be displayed.

+ +

 

+ +

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Edit_Study_.htm b/Workspace/Siman/WebContent/WebHelp/Edit_Study_.htm new file mode 100644 index 0000000..87b60f5 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Edit_Study_.htm @@ -0,0 +1,227 @@ + + + + + +Edit Study_ + + + + + + + + + + + +

Edit Study

+ +

When a study is open,  it + is possible to define its contents by selecting various activities from + the list to the left.

+ +

 

+ +

+ +

 

+ +

Text fields Description + and Comments that become editable + by clicking button and Simulation + context form are common for all activities.

+ +

 

+ +

+ +

 

+ +

To add a simulation context you need to + select its type from the list of available types, input the type value + relevant for the current study and confirm by clicking Save.

+ +

 

+ +

 

+ +

 

+ +

The following study activities can be defined:

+ +

 

+ + + +

 

+ +

Any documents contained in these activities can be uploaded by clicking + button, which opens a standard Import + document dialog.

+ +

+ +

Browse for the required document and confirm the choice by clicking + Upload button.

+ +

 

+ + + +

 

+ +

+ +

 

+ +

This editor supports:

+ +
    + +
      + +
        + +
      • Cut and copy + paste

      • + +
      • Undo/Redo

      • + +
      • Bold and + italic

      • + +
      • Lists

      • + +
      • Tabulation

      • + +
      • Hyperlinks

      • + +
      • Find and + Replace

      • +
      +
    +
+ +

 

+ + + +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Introduction.htm b/Workspace/Siman/WebContent/WebHelp/Introduction.htm new file mode 100644 index 0000000..81a2630 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Introduction.htm @@ -0,0 +1,89 @@ + + + + + +Introduction + + + + + + + + + + + +

Introduction

+ +

Salome Study Manager (SIMAN) is a client – server application for managing + the simulation studies created in various Salome modules or other applications. +
 

+ +

This database Web application manages the entire workflow of simulation + studies and the corresponding user accesses.

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/New_Study_.htm b/Workspace/Siman/WebContent/WebHelp/New_Study_.htm new file mode 100644 index 0000000..d2a459c --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/New_Study_.htm @@ -0,0 +1,150 @@ + + + + + +New Study + + + + + + + + + + + + +

New Study

+ +

When you click New Study + button in the main bar, the following menu appears:

+ +

 

+ +

+ +

 

+ +

 

+ +

In the left column it is possible to create + a new study from scratch or from an existing study.

+ +

 

+ +

If From scratch + is selected, you can:

+ + + +

Then it will be possible to define study documents. +

+ +

 

+ +

If From an + existing study mode is selected, you can choose an original study + and select an activity in it. The new study will be created  with + the same set of activities and documents corresponding to each activity + as in the original study.

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Open_Study_.htm b/Workspace/Siman/WebContent/WebHelp/Open_Study_.htm new file mode 100644 index 0000000..308f71c --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Open_Study_.htm @@ -0,0 +1,157 @@ + + + + + +Open Study + + + + + + + + + + + + +

Open Study

+ +

When you click Open + Study button in the main bar, + the following menu appears:

+ +

 

+ +

+ +

 

+ +

In this menu Search + Criteria box allows searching for studies using various criteria:

+ +

 

+ + + +

 

+ +

After + the criteria have been defined, + click button Display the result and + the relevant studies will appear in Search result box. +

+ +

 

+ +

Advanced search capabilities + are also provided with using global boolean operator switchable between + AND (Match all of) and OR (Match any of).

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/RoboHHRE.lng b/Workspace/Siman/WebContent/WebHelp/RoboHHRE.lng new file mode 100644 index 0000000..4837df0 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/RoboHHRE.lng @@ -0,0 +1,101 @@ +[GlossaryTab] +TabCaption=&Glossary +TermCaption=&Term +DefinitionCaption=&Definition For: + +[BrowseSequence] +PreCaption=Previous +PreTooltip=Previous Topic +NextCaption=Next +NextTooltip=Next Topic +BlockTooltip=Select Block + +[Common] +Contents=Contents +Index=Index +Search=Search +Glossary=Glossary +Logo/Author=Powered By +Show=Show +Hide=Hide +SyncToc=SyncToc +Prev=<< +Next=>> +Disabled Prev=<< +Disabled Next=>> +Seperate = | + +[WebHelp] +Cancel=Cancel +CantOpenURLorFile=Can't open URL or file +CompletingContents=Completing Contents... +Display=Display +Term=Term: +Definition=Definition: +Done=Done +Find=Find +IndexInputPrompt=Type in the keyword to find: +RelateTopicListPrompt=Click a topic, then click Display. +LoadingData=Loading data, please wait... +LoadingContents=Loading contents, please wait... +LoadingContentsData=Loading, click here to cancel... +LoadingFTS=Reading Search Data... +LoadingIndex=Loading Index... +LoadingTOCItem=Loading Table of Contents: +Searching=Searching... +FtsInputPrompt=Type in the word(s) to search for: +TopicsFound=Topics Found +BrowserLimitedMessage=Your browser does not support frames. We recommend that you update your browser to a version that supports frames. +SuggestViewNoFrameMessage=To view the Help system without frames click on this +SuggestViewNoFrameMsg2=hyperlink. +TopicsNotFound=No Topics Found. +CantSearch=Cannot search for that phrase. +JS_alert_appletNotLoad = Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited. +JS_alert_colorlimitation=WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors. +Blank_topic_text=This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink. +JS_alert_ProjectLoadingFail=Could not load correctly, please click Refresh. +JS_alert_cantLoadProject=Can't load project: +JS_alert_ErrorInLoading=Error in Loading navigation component. Please regenerate WebHelp. +IndexBtnText=Go +FtsBtnText=Go +ToolBarSearchBtnText=Go +InTopicSearchBtnText=Go +SearchLabel=Search +SearchPrompt=- Search - +PreTooltip=Previous Topic +NextTooltip=Next Topic +WebSearch=WebSearch +SyncTocTooltip=Sync TOC +Book=Book +Page=Page +Remote_Page=Remote Page +Show_Navigation_Component=Show Navigation Component +Hide_Navigation_Component=Hide Navigation Component +nls_edit_label=Type in your question: +nls_button_go_hint=Go Search +nls_button_go_text=Go +nls_body_instruction=Enter your question in the text box above, then click GO. +nls_body_empty=Sorry, we were unable to find a good answer for your question. +IndexSelectTopicTitle=Select a Topic +IndexSelectTopicLabel=Select a topic, then click Display +IndexSelectTopicError=Please select a topic. +IndexAlphabetBookmarks=ABCDEFGHIJKLMNOPQRSTUVWXYZ +MergeError1=The merged Help system +MergeError2=is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system. +PoweredBy=Powered by +GeneratedBy=Generated by +Author=Author +About=About +Print=Print + +[PrintedDoc] +TableOfContents=Table Of Contents +TitlePage=Title Page +ChapterFileNamePrefix=Chapter_ +TitlePageFileName=Chapter__Title_Page.doc +CrossReferencePrefix=See +GlossaryHeadingStyleName=Glossary Heading +GlossaryTermStyleName=Glossary Term +GlossaryDefinitionStyleName=Glossary Definition +TitlePageTitleStyleName=Title Page Title +TocPageTitleStyleName=Table of Contents Page Title diff --git a/Workspace/Siman/WebContent/WebHelp/SIMAN_Desktop_.htm b/Workspace/Siman/WebContent/WebHelp/SIMAN_Desktop_.htm new file mode 100644 index 0000000..e33899e --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/SIMAN_Desktop_.htm @@ -0,0 +1,208 @@ + + + + + +SIMAN Desktop + + + + + + + + + + + + +

SIMAN Desktop

+ +

This is a typical layout of a SIMAN study.

+ +

 

+ +

 

+ +

+ +

 

+ +

The following parts of the application window can be singled out:

+ +

 

+ + + +

 

+ + + + + +

 

+ + + +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide.htm b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide.htm new file mode 100644 index 0000000..b928dbf --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide.htm @@ -0,0 +1,139 @@ + + + + Salome Study Manager User's Guide + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_csh.htm b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_csh.htm new file mode 100644 index 0000000..4bcbe45 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_csh.htm @@ -0,0 +1,106 @@ + + +Salome Study Manager User's Guide + + + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_rhc.htm b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_rhc.htm new file mode 100644 index 0000000..44d185b --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/Salome_Study_Manager_User_s_Guide_rhc.htm @@ -0,0 +1,106 @@ + + +Salome Study Manager User's Guide + + + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/User_s_Roles_.htm b/Workspace/Siman/WebContent/WebHelp/User_s_Roles_.htm new file mode 100644 index 0000000..82bdcdb --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/User_s_Roles_.htm @@ -0,0 +1,223 @@ + + + + + +User's Roles_ + + + + + + + + + + + + +

User's Roles

+ +

 

+ +

Each user of SIMAN application can have one or more assigned roles. + There are two types of roles: within the entire application and corresponding + to a certain study.

+ +

 

+ +

 

+ +

The following roles define which functionality of the SIMAN application + are are available to a certain user:

+ +

 

+ + +++ + + + + + + + + + + + + + + + +
+

System administrator

+

 sets + up and maintains the database

+

 

+

Knowledge administrator

+

designs the workflow of a given study domain in the xml-configuration + file  and + validates the knowledge entered by end-users

+

User

+

can create a study, can contribute to a study

+

Anonymous

+

can read only the public studies. All not logged in users have Anonymous + role.

+ +

 

+ +

The following roles can be assigned to a user for a particular study. + They define which functionality is available for a user within this study + and are used in the validation cycle of study documents.

+ +

 

+ + +++ + + + + + + + + + + + + + + + + + + + +
+

Author

+

can read and write his own public and private studies,

+

can assign users as reviewers, approvers, contributors and readers for + the created study

+

Contributor

+

 

+

can download, read and modify documents of the study to which he is + assigned as a contributor

+

Reviewer

+

 

+

can download, read, review and validate documents of the study to which + he is assigned as a reviewer

+

 

+

Approver

+

 

+

can download, read, approve documents of the study to which he is assigned + as an approver

+

Reader

+

 

+

can download and read documents of the study to which he is assigned + as a reader

+ +

 

+ +

 

+ +

Users with general role Anonymous can’t have roles in studies.

+ +

 

+ +

To enter the application under a certain user account, click Connection + in the top-right cornet of the application window and input the Username and the Password.

+ +

 

+ +

+ + + + diff --git a/Workspace/Siman/WebContent/WebHelp/cshdat_robohelp.htm b/Workspace/Siman/WebContent/WebHelp/cshdat_robohelp.htm new file mode 100644 index 0000000..8c90c10 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/cshdat_robohelp.htm @@ -0,0 +1,258 @@ + + +Salome Study Manager User's Guide + + + + + + + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/cshdat_webhelp.htm b/Workspace/Siman/WebContent/WebHelp/cshdat_webhelp.htm new file mode 100644 index 0000000..c7536cb --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/cshdat_webhelp.htm @@ -0,0 +1,251 @@ + + +Salome Study Manager User's Guide + + + + + + + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/default.css b/Workspace/Siman/WebContent/WebHelp/default.css new file mode 100644 index 0000000..56719dd --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/default.css @@ -0,0 +1,76 @@ +BODY { + font-family:Arial; + background-color:#ffffff; } +H1 { + font-weight:bold; + font-size:24.0pt; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +LI.kadov-P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + text-decoration:none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; } +UL { + margin-top:0px; + margin-bottom:0px; } diff --git a/Workspace/Siman/WebContent/WebHelp/default_ns.css b/Workspace/Siman/WebContent/WebHelp/default_ns.css new file mode 100644 index 0000000..cc3439c --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/default_ns.css @@ -0,0 +1,93 @@ +BODY { + font-family:Arial; + background-color:#ffffff; } +H1 { + font-weight:bold; + font-size:24.0pt; + font-family:Arial; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; + font-family:Arial; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; + font-family:Arial; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; + font-family:Arial; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; + font-family:Arial; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; + font-family:Arial; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:1pt; + margin-bottom:1pt; + font-family:Arial; } +LI.kadov-P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + text-decoration:none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; + font-family:Arial; } +UL { + margin-top:0px; + margin-bottom:0px; + font-family:Arial; } +ol ol { + margin-top:1px; } +ol ul { + margin-top:1px; } +ul ul { + margin-top:1px; } +ul ol { + margin-top:1px; } diff --git a/Workspace/Siman/WebContent/WebHelp/eHelp.xml b/Workspace/Siman/WebContent/WebHelp/eHelp.xml new file mode 100644 index 0000000..2bd8183 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/eHelp.xml @@ -0,0 +1,10 @@ + + + + + + + + WebSearch + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/ehlpdhtm.js b/Workspace/Siman/WebContent/WebHelp/ehlpdhtm.js new file mode 100644 index 0000000..7bcb249 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/ehlpdhtm.js @@ -0,0 +1,4239 @@ +// eHelp® Corporation Dynamic HTML JavaScript +// Copyright© 1998-2003 eHelp® Corporation.All rights reserved. +// Version=4.82 + +// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. + +//// Segment Begin -- (JavaScript 1.0) + +/// Section Begin - General and relative topics(JavaScript 1.0) + +//{{HH_SYMBOL_SECTION +var HH_ChmFilename = ""; +var HH_WindowName = ""; +var HH_GlossaryFont = ""; +var HH_Glossary = ""; +var HH_Avenue = ""; +var HH_ActiveX = false; +//}}HH_SYMBOL_SECTION + +//Begin to support previous generic parameters +//Get the information about the browser. +var gstrBsAgent = navigator.userAgent.toLowerCase(); +var gnBsVer = parseInt(navigator.appVersion); + +var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); +var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1); +var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1); +var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; +var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; + +var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); +var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); +var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -1); + +var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); +var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); + +var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); +var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); +var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); +var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); + +var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); +var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); +var gbBsNS7 = false; + +var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); +var gbBsIE5 = false; +var gbBsIE55 = false; + +var gbBsOpera6 = false; +var gbBsOpera7 = false; + +var gbBsKonqueror3 = false; + + + +gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;; +if (gbBsIE) +{ + if (parseInt(navigator.appVersion) >= 4) { + gbBsIE4 = true; + if (gbBsIE4) { + var nPos = gstrBsAgent.indexOf("msie"); + var strIEversion = gstrBsAgent.substring(nPos + 5); + var nVersion = parseFloat(strIEversion); + if (nVersion >= 5) + gbBsIE5 = true; + if (nVersion >= 5.5) + gbBsIE55 = true; + } + } +} +if (gbBsNS6) +{ + var nPos=gstrBsAgent.indexOf("gecko"); + if(nPos!=-1) + { + var nPos2=gstrBsAgent.indexOf("/", nPos); + if(nPos2!=-1) + { + var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1)); + if (nVersion>=20020823) + gbBsNS7=true; + } + } +} +if (gbBsOpera) +{ + var nPos = gstrBsAgent.indexOf("opera"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+6)); + if (nVersion >= 6) + { + gbBsOpera6=true; + if (nVersion >=7) + gbBsOpera7=true; + } + } +} +if (gbBsKonqueror) +{ + var nPos = gstrBsAgent.indexOf("konqueror"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+10)); + if (nVersion >= 3) + { + gbBsKonqueror3=true; + } + } +} + +function insertAdjacentHTML(obj, where, htmlStr) +{ + if (gbBsIE || gbBsOpera7) + { + obj.insertAdjacentHTML(where, htmlStr); + } + else if (gbBsNS6 || gbBsSafari) + { + var r = obj.ownerDocument.createRange(); + r.setStartBefore(obj); + var parsedHTML = r.createContextualFragment(htmlStr); + + switch (where){ + case 'beforeBegin': + obj.parentNode.insertBefore(parsedHTML,obj); + break; + case 'afterBegin': + obj.insertBefore(parsedHTML,obj.firstChild); + break; + case 'beforeEnd': + obj.appendChild(parsedHTML); + break; + case 'afterEnd': + if (obj.nextSibling){ + obj.parentNode.insertBefore(parsedHTML,obj.nextSibling); + } else { + obj.parentNode.appendChild(parsedHTML); + } + break; + } + } +} + +// Utilities functions. +function BsscHasExtJs() +{ + if( gbBsIE3Before || gbBsNS3Before) + return false; + return true; +} + +// Register event handler +var gBsOnLoads = new Array(); // An array holds all the onload event handler. +var gBsOnClicks = new Array(); // An array holds all the onClick event handler. +var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. +var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. +var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. + +var gbOrignalOnMouseDown = null; + +function BsscRegisterOnLoad(funcHandler) +{ + var nLength = gBsOnLoads.length; + gBsOnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnClick(funcHandler) +{ + var nLength = gBsOnClicks.length; + gBsOnClicks[nLength] = funcHandler; +} + +function BsscRegisterOnUnLoad(funcHandler) +{ + var nLength = gBsOnUnLoads.length; + gBsOnUnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOver(funcHandler) +{ + var nLength = gBsOnMouseOvers.length; + gBsOnMouseOvers[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOut(funcHandler) +{ + var nLength = gBsOnMouseOuts.length; + gBsOnMouseOuts[nLength] = funcHandler; +} + +function BsGeneralOnLoad() +{ + if (!gbBsIE4 && !gbBsNS4) + return; + + // Make everything visible in navigator + if (gbBsNS4 && !gbBsNS6) { + // Make some special effects items visible + for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { + document.layers[iLayer].visibility = "show"; + document.layers[iLayer].left = 0; + } + } +} + +// If resize the netscape browser, need to reload it. +function BsReDo() +{ + if (innerWidth != origWidth || innerHeight != origHeight) + location.reload(); +} +// End of the local functions. + +// The following functions are used by the html files. +function BSSCOnLoad() +{ + if( !BsscHasExtJs() ) + return; + for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) + gBsOnLoads[nElement](); +} + +function BSSCOnClick() +{ + if (!BsscHasExtJs()) return; + + for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) + gBsOnClicks[nElement](); +} + +function BSSCOnUnload() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) + gBsOnUnLoads[nElement](); +} + +function BSSCOnMouseOver() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) + gBsOnMouseOvers[nElement](); +} + +function BSSCOnMouseOut() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) + { + gBsOnMouseOuts[nElement](); + } +} +// End of invocation of the event handle functions. + +// Add the GereralOnLoad to the onload array. +if (typeof(BsscRegisterOnLoad) != "undefined") +{ + BsscRegisterOnLoad(BsGeneralOnLoad); +} +if (gbBsNS4&&!gbBsNS6) { + origWidth = innerWidth; + origHeight = innerHeight; + onresize = BsReDo; +} +//End to support previous generic parameters + +//Begin to support previous HHActiveX invoking +function BsHHActivateComponents() +{ + if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) + { + var objBody = getElementsByTag(document,"BODY")[0]; + if( typeof(objBody) == "object" ) + { + insertAdjacentHTML(objBody, "beforeEnd", ''); + if (HHComponentActivator.object) + HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); + } + } +} + +function BsHHActivXOnLoad() +{ + if( gbBsIE4 ) + BsHHActivateComponents(); +} + +if( typeof(BsscRegisterOnLoad) != "undefined" ) +{ + BsscRegisterOnLoad(BsHHActivXOnLoad); +} +//End to support previous HHActiveX invoking + +//Begin to support previous relative topics +//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here +var gbPopupMenuTimeoutExpired = false; +var gbInPopupMenu = false; +var gbPopupMenuTopicList = null; +var gOlddocumentClick = null; + +////////////////////////////////////////////////////////////////////////////////////////// +// +// Popup Menu code +// +////////////////////////////////////////////////////////////////////////////////////////// + +var g_bIsPopupMenuInit = false; +function _WritePopupMenuLayer() +{ + if (!g_bIsPopupMenuInit) + { + if (gbBsNS4&&!gbBsNS6) { +//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... + document.write("
"); + } else{ + document.write(""); + if (!(gbBsNS4&&!gbBsNS6)) { + document.write(""); + } + } + g_bIsPopupMenuInit = true; + } +} + +//Seek for the bsscright frame +function _SeekFrameByName( cRoot, strName ) +{ + if( cRoot == null ) return null; + if( cRoot.frames == null ) return null; + if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; + for (var i=0; i'; + } else { + strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; + } + strMenu += ''; + + if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { + i += 2; + } else { + i += 1; + } + } + strMenu += ""; + + if (gbBsMac) { + // totally hack. because ie5 in mac need something. is one of them. mac is mad. + strMenu +="
"; + } + + var layerPopup = null; + var stylePopup = null; + var nEventX = 0; + var nEventY = 0; + var nWindowWidth = 0; + if (gbBsIE4 || gbBsOpera7) { + + layerPopup = getElement("PopupMenu"); + layerPopup.innerHTML = strMenu; + stylePopup = layerPopup.style; + + _BSPSGetClientSize(); + + // Get the position of the item causing the event (relative to its parent) + nEventX = window.event.clientX; + nEventY = window.event.clientY; + + if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { + nEventY += document.body.scrollTop + 10; + } else { + nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; + } + stylePopup.top = nEventY; + + var nPopupWidth = layerPopup.scrollWidth; + if (gbBsMac) { + nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. + } + if (nEventX + nPopupWidth + 20 > gBsClientWidth) { + if (gBsClientWidth - nPopupWidth < 5) { + stylePopup.left = 5; + } else { + stylePopup.left = gBsClientWidth - nPopupWidth - 5; + } + } else { + stylePopup.left = nEventX + document.body.scrollLeft + 20; + } + + stylePopup.visibility = "visible"; + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + document.onclick = PopupMenu_HandleClick; + + } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + + if (gbBsNS6) + { + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + } + else + { + nEventX = window.event.clientX; + nEventY = window.event.clientY; + } + _BSPSGetClientSize(); + layerPopup.innerHTML = strMenu; + + if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; + } + + if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; + } + } else { + nEventX += 20; + } + layerPopup.style.top = nEventY; + layerPopup.style.left = nEventX; + // set again to avoid the stupid frash in netscape 6. + layerPopup.innerHTML = strMenu; + layerPopup.style.visibility = "visible"; + //window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + window.onclick = PopupMenu_HandleClick; + } + else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + stylePopup = layerPopup.document; + stylePopup.write(strMenu); + stylePopup.close(); + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _BSPSGetClientSize(); + if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; + } + layerPopup.top = nEventY; + + if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; + } + } else { + nEventX += 20; + } + + layerPopup.left = nEventX; + + layerPopup.visibility = "show"; + + window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onmousedown) + gOlddocumentClick = document.onmousedown; + window.onmousedown = PopupMenu_HandleClick; + } + + window.gbInPopupMenu = true; + window.gbPopupMenuTimeoutExpired = false; + setTimeout("PopupMenu_Timeout();", 100); + return false; +} + +function PopupMenu_Timeout() +{ + window.gbPopupMenuTimeoutExpired = true; +} + +function PopupMenu_Over(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupOver"; + return; +} + +function PopupMenu_Out(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupNotOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupNotOver"; + return; +} + +function PopupMenu_HandleClick(e) +{ + if (window.gbPopupMenuTimeoutExpired) { + window.gbInPopupMenu = false; + if (gbBsNS4 && !gbBsNS6) { + window.releaseEvents(Event.MOUSEDOWN); + } + + var layerPopup = null; + if (gbBsNS4&&!gbBsNS6) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + } else { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + } + + if (gOlddocumentClick) + { + if (gbBsNS4 && !gbBsNS6) + document.onmousedown = gOlddocumentClick; + else + document.onclick = gOlddocumentClick; + } + } + return; +} + +function BSSCPopup_ClickMac() +{ + if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7)) + { + var bClickOnAnchor = false; + var el; + if ((window.event != null) && + (window.event.srcElement != null)) + { + el = window.event.srcElement; + while (el != null) + { + if ((el.tagName == "A") || (el.tagName == "AREA")) { + bClickOnAnchor = true; + break; + } + if (el.tagName == "BODY") { + break; + } + el = getParentNode(el); + } + } + if (BSSCPopup_IsPopup()) + { + if (!bClickOnAnchor) { + parent.window.gPopupWindow = null; + self.close(); + } + } + else + { + bClosePopupWindow = true; + if ((bClickOnAnchor) && + (el.href) && + ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) + { + bClosePopupWindow = false; + } + if (bClosePopupWindow) + { + if (window.gPopupWindow != null && !window.gPopupWindow.closed ) + { + window.gPopupWindow.close(); + } + } + } + } +} + +function BsPopupOnClick() +{ + if (!gbBsIE4 && !gbBsOpera7) + return; + + BSSCPopup_ClickMac(); +} + +function _BSSCOnError(message) +{ + if(-1 != message.indexOf("denied") + || -1 != message.indexOf("Object required")) + return true; +} + +//End to support previous relative topics + +/// Section End - General and relative topics (JavaScript 1.0) + +/// Section Begin - Popup (JavaScript 1.0) +//Begin to support previous popup functions + +//variables used to isolate the browser type +var gBsStyVisShow = null; +var gBsStyVisHide = null; +var gBsClientWidth = 640; +var gBsClientHeight = 480; + +// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. +var gBRateH_W = 0.618; // 1.618 Golden cut. +var gBMaxXOfParent = 0.8; +var gBMaxYOfParent = 0.8; +var gBscrollHeight = 16; +var gBscrollWidth = 16; +var gBpermitXDelta = 3; +var gBpermitYDelta = 3; + + +var arrayPopupURL = new Array(); +var arrayAbsPopupURL = new Array(); + +var arrayDirty = new Array(); + +function setAbsPopupURL(nIndex, strURL) +{ + arrayAbsPopupURL[nIndex] = strURL; +} + +function getAbsPopupURL(nIndex) +{ + if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; + else + return arrayAbsPopupURL[nIndex]; +} + +function getPopupURL(nIndex) +{ + if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; + else + return arrayPopupURL[nIndex]; +} + +function getPopupID(nIndex) +{ + return gstrPopupID + nIndex; +} + +function getPopupShadowID(nIndex) +{ + return gstrPopupShadowID + nIndex; +} + +function getPopupTopicID(nIndex) +{ + return gstrPopupTopicID + nIndex; +} + +function getPopupIFrameID(nIndex) +{ + return gstrPopupIFrameID + nIndex; +} + +function getPopupIFrameName(nIndex) +{ + return gstrPopupIFrameName + nIndex; +} + + +function getPopupTopicStyle(nIndex) +{ + return getElement(getPopupTopicID(nIndex)).style; +} + +function getPopupShadowStyle(nIndex) +{ + return getElement(getPopupShadowID(nIndex)).style; +} + +function getPopupIFrame(nIndex) +{ + if (gbBsNS6) + return eval("window.frames['" + getPopupIFrameName(nIndex) + "']"); + else + return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); +} + +function getPopupDivStyle(nIndex) +{ + return getElement(getPopupID(nIndex)).style; +} + +function getPopupIFrameStyle(nIndex) +{ + return getElement(getPopupIFrameID(nIndex)).style; +} + + +function findDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) { + if (arrayPopupURL[i] == strURL) { + return i; + } + } + return -1; +} + +var gnToken = -1; +function takeToken() +{ + gnToken ++; + if (gnToken > 10000) gnToken = 0; + return gnToken; +} + +function IsValidToken(nToken) +{ + return (gnToken == nToken); +} + +function addDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++) { + if (arrayPopupURL[i] == null) { + arrayPopupURL[i] = strURL; + return i; + } + } + arrayPopupURL[i] = strURL; + arrayDirty[i] = true; + return i; +} + +function setDirty() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + arrayDirty[i] = true; +} + +function IsDirty(nIndex) +{ + if (nIndex == -1) + return true; + else + if (arrayDirty.length > nIndex) + return arrayDirty[nIndex]; + else + return true; +} + +function hideAll() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + { + getPopupDivStyle(i).visibility = gBsStyVisHide; + getPopupIFrameStyle(i).visibility = gBsStyVisHide; + } +} + +function getCurrentPopupIFrame() +{ + for (var i = 0; i < arrayPopupURL.length; i ++) + if (getPopupDivStyle(i).visibility == gBsStyVisShow) + return getPopupIFrame(i); + return null; +} + +function setClear(nIndex) +{ + if (nIndex != -1) + arrayDirty[nIndex] = false; +} + +function _BSSCCreatePopupDiv(strURL) +{ + var nIndex = findDiv(strURL); + if (nIndex == -1 ) { + nIndex = addDiv(strURL); + BsPopup_CreateDiv(nIndex); + } + else { + if (IsDirty(nIndex)) { + if("object" == typeof(getPopupIFrame(nIndex).document)) + getPopupIFrame(nIndex).document.location.href = strURL; + } + } + return nIndex; +} + +//Here is the browser type +function _BSPSGetBrowserInfo() +{ + if (gbBsNS4&&!gbBsNS6) + { + gBsStyVisShow = "show"; + gBsStyVisHide = "hide"; + } + else + { + gBsStyVisShow = "visible"; + gBsStyVisHide = "hidden"; + } +} + +_BSPSGetBrowserInfo(); + +//Get client size info +function _BSPSGetClientSize() +{ + if (gbBsNS4||gbBsKonqueror3||gbBsSafari) + { + gBsClientWidth = innerWidth; + gBsClientHeight = innerHeight; + } + else if (gbBsIE4 || gbBsOpera7) + { + gBsClientWidth = document.body.clientWidth; + gBsClientHeight = document.body.clientHeight; + } +} + +var gstrPopupID = 'BSSCPopup'; +var gstrPopupShadowID = 'BSSCPopupShadow'; +var gstrPopupTopicID = 'BSSCPopupTopic'; +var gstrPopupIFrameID = 'BSSCPopupIFrame'; +var gstrPopupIFrameName = 'BSSCPopupIFrameName'; + +var gstrPopupSecondWindowName = 'BSSCPopup'; + +var gPopupWindow = null; +var gnPopupClickX = 0; +var gnPopupClickY = 0; + +var gnPopupScreenClickX = 0; +var gnPopupScreenClickY = 0; + +var gbPopupTimeoutExpired = false; + +function DHTMLPopupSupport() +{ + if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) { + return true; + } + return false; +} + +function BSSCPopup_IsPopup() +{ + if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { + return true; + } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) { + return true; + } else { + return false; + } +} + +// If there is a hyperlink in a popup window, display the hyperlink in +// the original window. (bsscright) +if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) { + document.write(""); +} + +// Local functions. +function BsPopup_CreateDiv(nIndex) +{ + if(!DHTMLPopupSupport()) + return; + // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. + var strPopupDiv = ""; + + var objBody = getElementsByTag(document, "BODY")[0]; + if( typeof(objBody) != "object" ) + return; + + insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv); +} + +function handleLoadNS() +{ + if (this.id) + { + var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length)); + BSSCPopup_PostWork(nIndex); + } +} + +function BSSCPopup_PostWork(nIndex) +{ + getPopupDivStyle(nIndex).visibility = gBsStyVisShow; + getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow; + + setClear(nIndex); + window.gbPopupTimeoutExpired = true; + + BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); + if (gbBsNS6) + getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false); + else + getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; + + if (!gbOrignalOnMouseDown && document.onmousedown) + gbOrignalOnMouseDown = document.onmousedown; + + if (gbBsNS6) + document.addEventListener("mousedown", BSSCPopupParentClicked,false); + else + document.onmousedown = BSSCPopupParentClicked; +} + +function BSSCPopup_Timeout(nIndex, nToken) +{ + if (!IsValidToken(nToken)) return; + + if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") && + (getPopupIFrame(nIndex).document.body != null))) { + BSSCPopup_PostWork(nIndex); + } else { + setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); + } +} + +// VH 08/10/00 +// do not change target to parent if the href is using javascript +function BSSCPopup_ChangeTargettoParent(tagsObject) +{ + var collA = getElementsByTag(tagsObject, "A"); + BSSCPopup_ChangeTargettoParent2(collA); + + var collIMG = getElementsByTag(tagsObject,"IMG"); + BSSCPopup_ChangeTargettoParent2(collIMG); +} + +function BSSCPopup_ChangeTargettoParent2(colls) +{ + if (colls != null) { + for (var j = 0; j < colls.length; j ++ ) + { + var strtemp = colls[j].href; + if (strtemp) + { + strtemp = strtemp.toLowerCase(); + if (strtemp.indexOf("javascript:") == -1) + if (colls[j].target == "") + colls[j].target = "_parent"; + } + } + } +} + +function BSPSPopupTopicWinHelp(strURL) +{ + _BSSCPopup(strURL); + return; +} + +function _BSSCPopup(strURL, width, height) +{ + var cuswidth = 0; + var cusheight = 0; + if ("undefined" != typeof(width) && "undefined" != typeof(height)) { + cuswidth = width; + cusheight= height; + } + + if (DHTMLPopupSupport()) { + var nToken = takeToken(); // take token first. + var nIndex = _BSSCCreatePopupDiv(strURL); + window.gbPopupTimeoutExpired = false; + var ntWidth = gBsClientWidth; + var ntHeight = gBsClientHeight; + _BSPSGetClientSize(); + if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { + setDirty(); + } + + if (IsDirty(nIndex)) { + if (gbBsMac) { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); + } + } + else { + MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); + } + } else { + _BSSCPopup2(strURL, cuswidth, cusheight); + } + return; +} + +if (gbBsIE55) +{ + var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; + var gnBsUnload=0; + window.onbeforeunload = window_BUnload; +} + +function window_BUnload() +{ + gnBsUnload++; + if (gnBsUnload>1) + return; + for (var i = 0; i < arrayPopupURL.length; i ++) + removeThis(document.all(getPopupID(i))); + arrayPopupURL.length = 0; + if (ehlpdhtm_fOldBefureUnload) + ehlpdhtm_fOldBefureUnload(); +} + +function _BSSCPopup2(strURL, width, height) +{ + if (gbBsOpera6&&gbBsMac) + { + var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName); + wmTemp.close(); + setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100); + } + else + _BSSCPopup3(strURL, width, height); +} + +function _BSSCPopup3(strURL, width, height) +{ + if (window.name == gstrPopupSecondWindowName) { + window.location = strURL; + } else { + if (!gbBsMac || !gbBsNS4) { + BSSCHidePopupWindow(); + } + var nX = 0; + var nY = 0; + var nHeight = 300; + var nWidth = 400; + if (width > 0 && height > 0) { + nHeight = height; + nWidth = width; + } + _BSPSGetClientSize(); + + nX = window.gnPopupScreenClickX; + nY = window.gnPopupScreenClickY; + + if (nY + nHeight + 40 > screen.availHeight) { + nY = screen.availHeight - nHeight - 40; + } + if (nX + nWidth + 40 > screen.availWidth) { + nX = screen.availWidth - nWidth - 40; + } + + // Launch a separate window + var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; + if (gbBsNS) { + if (gbBsNS6) { + strParam += ",Height=" + nHeight + ",Width=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + else { + strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + } + else { + strParam += ",height=" + nHeight + ",width=" + nWidth; + strParam += ",left=" + nX + ",top=" + nY; + } + if (gbBsSafari) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + window.gPopupWindow = window.open(strURL, "", strParam); + window.gPopupWindow.name = gstrPopupSecondWindowName; + window.gPopupWindow.moveTo(nX, nY); + widnow.gPopupWindow.document.location.reload(); + } + else + { + var wmTemp=null; + if (gbBsKonqueror3) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + } + if (gbBsOpera&&gbBsMac) + { + wmTemp= window.open(document.location.href, "Temp", strParam); + } + window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); + if (!gbBsIE) + window.gPopupWindow.focus(); + + if (wmTemp) + wmTemp.close(); + } + + if (gbBsNS4) + setEventHandle(); + else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) + setTimeout("setPopupFocus();", 100); + } + return; +} + +function setEventHandle() +{ + window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + window.gPopupWindow.onblur = NonIEPopup_HandleBlur; +} + +function setPopupFocus() +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleBlur(e) +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleClick(e) +{ + // Because navigator will give the event to the handler before the hyperlink, let's + // first route the event to see if we are clicking on a Popup menu in a popup. + document.routeEvent(e); + + // If a popup menu is active then don't do anything with the click + if (window.gPopupWindow.gbInPopupMenu) { + window.gPopupWindow.captureEvents(Event.CLICK); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + return false; + } + + // Close the popup window + if(e.target.href) + { + if(e.target.href.indexOf("javascript:")==-1) + { + if (e.target.target=="") + window.location.href = e.target.href; + else + window.open(e.target.href, e.target.target); + this.close(); + } + } + else + this.close(); + return false; +} + +function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (!window.getPopupIFrame(nIndex).document) { + _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); + return; + } + + if (!IsValidToken(nToken)) return; + + if (gbBsNS6) + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + return; + } + + if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && + (window.getPopupIFrame(nIndex).document.body != null)) { + if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } + else + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + } + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } +} + +function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (window.gbPopupTimeoutExpired) return; + + if (!IsValidToken(nToken)) return; + + getPopupDivStyle(nIndex).visibility = gBsStyVisHide; + getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide; + + // Determine the width and height for the window + _BSPSGetClientSize(); + + var size = new BSSCSize(0, 0); + + if (cuswidth <= 0 || cusheight <= 0) + BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + else { + size.x = cuswidth; + size.y = cusheight; + } + + // Determine the width and height for the window + var nWidth = size.x; + var nHeight = size.y; + + // for small popup size, we should allow any size. + // The popup size should be ok if bigger than 0 + if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. + + getPopupDivStyle(nIndex).width = nWidth; + getPopupDivStyle(nIndex).height = nHeight; + + getPopupShadowStyle(nIndex).width = nWidth; + getPopupShadowStyle(nIndex).height = nHeight; + getPopupTopicStyle(nIndex).width = nWidth; + getPopupTopicStyle(nIndex).height = nHeight; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).width = nWidth + 2; + getPopupShadowStyle(nIndex).height = nHeight + 2; + getPopupTopicStyle(nIndex).width = nWidth + 2; + getPopupTopicStyle(nIndex).height = nHeight + 2; + } + + getPopupIFrameStyle(nIndex).width = nWidth; + getPopupIFrameStyle(nIndex).height = nHeight; + if (gbBsIE55 || gbBsNS6) + { + getPopupIFrameStyle(nIndex).top = 0; + getPopupIFrameStyle(nIndex).left = 0; + } + + var strURL = getPopupURL(nIndex); + if (strURL.indexOf("#") != -1&&gbBsNS6) + getPopupIFrame(nIndex).location.reload(); + else if (strURL.indexOf("#") != -1||gbBsNS6) + getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. + + MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); +} + +function getScrollLeft() +{ + if (document.body.scrollLeft) + return document.body.scrollLeft; + else if (window.pageXOffset) + return window.pageXOffset; + else + return 0; +} + +function getScrollTop() +{ + if (document.body.scrollTop) + return document.body.scrollTop; + else if (window.pageYOffset) + return window.pageYOffset; + else + return 0; +} + + +function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) +{ + if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + return; + } + + // Determine the position of the window + var nClickX = window.gnPopupClickX; + var nClickY = window.gnPopupClickY; + var nTop = 0; + var nLeft = 0; + + var nWidth = parseInt(getPopupDivStyle(nIndex).width); + var nHeight = parseInt(getPopupDivStyle(nIndex).height); + + if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) { + nTop = nClickY + 10; + } else { + nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20; + } + if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) { + nLeft = nClickX; + } else { + nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8; + } + + if (nTop < getScrollTop()) nTop = getScrollTop() + 1; + if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1; + + getPopupDivStyle(nIndex).left = nLeft; + getPopupDivStyle(nIndex).top = nTop; + + // Set the location of the background blocks + getPopupShadowStyle(nIndex).left = 6; + getPopupShadowStyle(nIndex).top = 6; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).left = 4; + getPopupShadowStyle(nIndex).top = 4; + } + + if (gbBsMac&&gbBsIE4) { + // Total hack on the iMac to get the IFrame to position properly + getPopupIFrameStyle(nIndex).pixelLeft = 100; + getPopupIFrameStyle(nIndex).pixelLeft = 0; + // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it + getPopupIFrame(nIndex).window.BSSCOnLoad(); + } + + if (gbBsNS6&&IsDirty(nIndex)) + getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false); + else + BSSCPopup_Timeout(nIndex , nToken ); + return; +} + +function BSSCSize(x, y) +{ + this.x = x; + this.y = y; +} + +function BSSCGetContentSize(thisWindow, size) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4) + return; + + if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) { + size.x = 320; + size.y = 180; + return; + } + + // Resize the width until it is wide enough to handle the content + // The trick is to start wide and determine when the scrollHeight changes + // because then we know a scrollbar is necessary. We can then go back + // to the next widest size (for no scrollbar) + + var ClientRate = gBsClientHeight / gBsClientWidth; + + + var GoldenSize = new BSSCSize(0,0); + GoldenSize.x = gBsClientWidth * gBMaxXOfParent; + GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; + + if (ClientRate > gBRateH_W) { + GoldenSize.y = GoldenSize.x * gBRateH_W; + } + else { + GoldenSize.x = GoldenSize.y / gBRateH_W; + } + + // Try to using parent specified max x. + var x = 0; + var maxgoldx = GoldenSize.x; + var maxx = gBsClientWidth * gBMaxXOfParent; + + // This double resize causes the document to re-render (and we need it to) + if (!gbBsIE5) + thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. + + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + + var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + + if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can + { + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + + miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + maxy = gBsClientHeight * gBMaxYOfParent; + + if (miny > maxy) { // the popup must have a scroll, OK let it be. + miny = maxy; + size.x = maxx; + size.y = maxy; + thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. + } + else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. + size.y = miny; + + // downsize from maxx , now I try to using binary divide. + x = maxx; + deltax = -maxx/2; + //j = 0; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; + thisWindow.document.body.scroll = 'no'; + } + } + else { + if (thisWindow.document.body.scrollWidth > maxgoldx) { + size.x = maxx; + size.y = miny; + thisWindow.document.body.scroll = 'yes'; + } + else { + // downsize from maxgoldx , now I try to using binary divide. + x = maxgoldx; + deltax = -maxgoldx/2; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight ; + thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. + thisWindow.resizeTo(size.x, size.y); + if (thisWindow.document.body.scrollWidth > size.x) + { + size.x = thisWindow.document.body.scrollWidth; + } + if (thisWindow.document.body.scrollHeight > size.y) + { + size.y = thisWindow.document.body.scrollHeight; + } + } + } + thisWindow.resizeTo(size.x, size.y); + thisWindow.resizeTo(size.x, size.y); + return; +} + +function BSSCPopupParentClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; +} + +function isInsideHyperLink(obj) +{ + if (obj&&obj!=getParentNode(obj)) + { + if (obj.tagName=="A"||obj.tagName=="IMG") + return true; + else + return isInsideHyperLink(getParentNode(obj)); + } + else + return false; +} + +function BSSCPopupClicked(e) +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + var popupIFrame = getCurrentPopupIFrame(); + if (popupIFrame == null) { + return true; + } + + if (gbBsIE4 && (!((popupIFrame.window.event != null) && + (popupIFrame.window.event.srcElement != null) && + isInsideHyperLink(popupIFrame.window.event.srcElement)))) { + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } + else if (gbBsNS6 && (!((e != null) && + (e.target!= null) && isInsideHyperLink(e.target)))) + { + document.addEventListener("mousedown", gbOrignalOnMouseDown,false); + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } +} + +//trace the mouse over's position for hotspot +function BSPSPopupOnMouseOver(event) +{ + if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX; + window.gnPopupScreenClickY = event.screenY; + } else if (gbBsSafari) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX + window.screenX; + window.gnPopupScreenClickY = event.screenY + window.screenY; + } else if (gbBsNS4) { + window.gnPopupClickX = event.pageX - window.pageXOffset; + window.gnPopupClickY = event.pageY - window.pageYOffset; + window.gnPopupScreenClickX = event.screenX - window.pageXOffset; + window.gnPopupScreenClickY = event.screenY - window.pageYOffset; + } +} + +function BSSCHidePopupWindow() +{ + if (window.gPopupWindow != null) { + if (gbBsNS4) { + if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { + window.gPopupWindow.close(); + window.gPopupWindow = null; + } + } + } + return; +} + +// Add the PopupOnClick to the onclick array. +if (typeof(BsscRegisterOnClick) != "undefined") +{ + BsscRegisterOnClick(BsPopupOnClick); +} +//End to support previous popup functions + +/// Section End - Popup (JavaScript 1.0) + +/// Section Begin - Embedded Stub (JavaScript 1.0) + +function BSSCCreatePopupDiv() +{ + return; +} + +function WritePopupMenuLayer() +{ + if (BsscHasExtJs()) {_WritePopupMenuLayer();} +} + +function BSSCPopup(strURL, width, height) +{ + var re = new RegExp("'", 'g'); + strURL = strURL.replace(re, "%27"); + + if (BsscHasExtJs()) { + _BSSCPopup(strURL, width, height); + }else{ + //Create a temporary window first to ensure the real popup comes up on top + var wndTemp = null; + if (!gbBsNS3) { + wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); + } + // Create the real popup window + var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); + // Close the temporary + if (!gbBsNS3) { + wndTemp.close(); + } else { + wndPopup.focus(); + } + } +} + +var gbWndTemp = null, gbWndPopupLinks = null; +var gbstrParaTotal = ""; + +function PopupMenu_Invoke() +{ + if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function') + { + if (Number(gsSkinVersion) > 2 && IsFlashSupported()) + { + return wfRelatedTopic(PopupMenu_Invoke.arguments); + } + } + if (BsscHasExtJs()) { + return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); + } + if (gbBsNS3Before || gbBsIE3Before ) { + var argLen = PopupMenu_Invoke.arguments.length; + if (argLen < 5) { + window.document.location.href = PopupMenu_Invoke.arguments[3]; + return false; + } + gbWndTemp = null; + gbWndPopupLinks = null; + gbstrParaTotal = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + var strParaLine = ""; + if (gbBsNS2){ + strParaLine += "" + strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; + strParaLine += ""; + } else { + strParaLine += ""); + if (gbBsNS2) { + gbWndPopupLinks.document.write(""); + } else { + //YJ: IE301,302 and NS3.x works fine + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("script>"); + gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("/script>"); + } + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.write(gbstrParaTotal); + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.close(); + + // Close the temporary + if (!gbBsNS3 && gbWndTemp != null) { + gbWndTemp.close(); + }else { + gbWndPopupLinks.focus(); + } + + return true; + } + return false; +} + +/// Section End - Embedded Stub (JavaScript 1.0) + +//// Segment End -- (JavaScript 1.0) + +//// Segment Begin -- (JavaScript 1.2) +/// Section Begin - kadov DHTM (JavaScript 1.2) + +//Begin to support extended and dropdown text effects. +function kadovIsParagraph(el) +{ + return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; +} + +function kadovInitEachChild(el) +{ + for(var i=0; i "") ) + child.style.setAttribute( "x-on-pageload", "" ); + } + + var href = child.getAttribute("href") + if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) + kadovFilePopupInit(child.id); // Init for Popup + else if( child.className == "dropspot" || child.className == "expandspot" || + child.className == "glossterm" ) + kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text + else if( child.className == "trigger") + kadovInitTrigger(child.id);// Init for Trigger + else + { + kadovInitEffects(child.id);// Init for DHTML effects + CEngine.SetOneTargetInitialState( child.id ); + } + } + + if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) + child.start = "mouseover";// to start a AVI file. fileopen doesn't work + + kadovInitEachChild(child); + } +} + +function kadovRetrieveTextInner(el) +{ + var x = ""; + if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) + return x; + + if( kadovIsParagraph(el) ) + { + var strNewID = " "; + if( el.id != "" ) + strNewID += "id=" + el.id + "_NewSpan "; + x = "" + el.innerHTML + ""; + } + else + { + for(var i=0; i 0 ) + if( (nTagClose - nTagOpen) != nDistance ) + return strRawHTML; + + var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; + return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); +} + +function kadovAdjustObjectTag(strRawHTML, nStartPos) +{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings + + //Is there any DTC? + var strDTCTagOpen = ''; + var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); + if( nDTCTagOpen < 0 ) + return strRawHTML; + var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); + if( nDTCTagClose < nDTCTagOpen) + return strRawHTML; // no Design Time Controls; + + //Is the DTC HTML Help Control? + var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; + var strRTObjTagClose = ''; + var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); + if( nRTObjTagOpen < nDTCTagOpen ) + return strRawHTML; + var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); + if( nRTObjTagClose < nRTObjTagOpen ) + return strRawHTML; // is not a HTML help control + + // Is it a related Topics html help control? + var strRTObjLabel = ''; + } + + // to insert the reconstructed item params into runtime object tag + var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); + return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); +} + +function kadovTextPopupOnLoad( el ) +{ + if( typeof(el) == "string" ) + el = getElement(el); + + var src = el.getAttribute( "x-use-popup" ); + var bNeedMove=true; + if(!src&&el.id) + { + for (var i=0;i"); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + + //work around the bug in HH.exe that highlight the phrases when use Search tab + //this approach is just removing the tag inserted by Microsoft in the runtime + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); + + var strStyle = " style='display:none; position:relative;"; + var newDiv = "
" + strCleanHTML + "
"; + + removeThis(srcDiv); // empty the original DIV tag + var elParentPra = kadovFindParentParagraph(el); + if( elParentPra ) + insertAdjacentHTML(elParentPra, "afterEnd", newDiv ); + } + else if( type == "expanding" ) + { + var inner = kadovRetrieveTextInner(srcDiv); + if( inner == "" ) + inner = srcDiv.innerHTML; + var strAdjust = kadovAdjustObjectTag(inner,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; + var newSpan = ""; + removeThis(srcDiv); // empty the original DIV tag + insertAdjacentHTML(el, "afterEnd", newSpan ); + } + } + } + else + { + srcDiv.style.display = "none"; + } + return 0; +} + +function getElementsByTag(obj,sTagName) +{ + if(obj.getElementsByTagName) + return obj.getElementsByTagName(sTagName); + else if(obj.all) + return obj.all.tags(sTagName); + return null; +} + +function getElement(sID) +{ + if(document.getElementById) + return document.getElementById(sID); + else if(document.all) + return document.all(sID); + return null; +} + +function getParentNode(obj) +{ + if(obj.parentNode) + return obj.parentNode; + else if(obj.parentElement) + return obj.parentElement; + return null; +} + +function getChildNodes(obj) +{ + if(obj.childNodes) + { + var children = new Array(); + for (var i = 0; i < obj.childNodes.length; i++) + { + if (obj.childNodes[i].nodeType == 1) + children[children.length] = obj.childNodes[i]; + } + return children; + } + else if(obj.children) + return obj.children; + return null; +} + +function removeThis(obj) +{ + if(obj.parentNode) + obj.parentNode.removeChild(obj); + else + obj.outerHTML=""; +} + +function kadovTextPopup( el ) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 ) + return; + + var bNeedMove=true; + + if (window.event) + window.event.cancelBubble = true; + + if( typeof(el) == "string" ) + el = getElement(el); + + if (!el||el==window) + return; + + var src = el.getAttribute( "x-use-popup" ); + if(!src&&el.id) + { + for (var i=0;i= 0 && nNext < values.length ) + { + functions[nIdx] = values.substr( nStart, nNext-nStart+1); + nStart = nNext + 1; + nIdx++; + nNext = values.indexOf( "\)", nStart); + } + + for( var i=0; i= 0 ) + { + nPageClick = arrForClickCount[j].indexOf("="); + if( nPageClick > 0 ) + { + nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; + break; + } + } + } + var args = srcargs; + if( j < arrForClickCount.length ) + {// to strip out the "clicks=99" from the arguments string + args = ""; + for( var k = 0; k < arrForClickCount.length; k ++ ) + { + if( k != j ) + { + args += arrForClickCount[k]; + if( k < arrForClickCount.length - 1 ) + args += ","; + } + } + } + bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); + } +} + +function kadovTranslateProp( prop ) +{ + switch( prop ) + { + case "x-on-hover" : return "bsschover"; + case "x-on-pageclick" : return "bsscpageclick"; + case "x-on-pageload" : return "bsscpageload"; + case "x-on-trigger-1" : return "bssctrigger1"; + case "x-on-trigger-2" : return "bssctrigger2"; + } + return null; +} +//End to convert iWrite format to RoboEditor Format for DHTML effects + +//Begin the definition of one entry to DHTML effects +function bsscFXInit( trigger_ID, target_ID, event_type, + action_type, action_setting, event_addional ) +{ + if( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID + return; // we don't support Navigator yet + + if( typeof(event_type) == "string" ) + event_type = event_type.toLowerCase(); + if( typeof(action_type) == "string" ) + action_type = action_type.toLowerCase(); + if( typeof(action_setting) == "string" ) + action_setting = action_setting.toLowerCase(); + + // to get the target element then add it to the target list + var eleTarget = CCSSP.GetObject( target_ID ); + if( (eleTarget != null) && (event_type != null) && (action_type != null) ) + { + CEngine.AddOneTarget( target_ID, eleTarget ); + CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); + } + + // to validate the trigger_ID parameter + if( typeof(trigger_ID) == "string" && trigger_ID != "" ) + CEngine.BuildTriggerObject( trigger_ID, target_ID ); +} +//End the definition of one entry to DHTML effects + +/// Section End - kadov DHTM (JavaScript 1.2) + +/// Section Begin - CCSSP DHTM (JavaScript 1.2) + +//Begin JavaScript libary for cross-platform positioning object. +function CCSSP(){} // constructor of CCSSP class + +CCSSP.GetObject = function( obj ) +{//convert object name string or reference into a valid object reference + if( typeof(obj) == "object" ) + return obj; + else if( typeof(obj) == "string" && obj != "") + { + if( gbBsNS4 ) + return eval("document." + obj); + else + return eval("document.all(\"" + obj + "\")"); + } + else + return null; +} + +CCSSP.MoveObjectTo = function(obj, x, y) +{//positioning an object at a specific pixel coordinate + if( gbBsNS4 ) + obj.moveTo(x,y); + else + { + obj.style.pixelLeft = x; + obj.style.pixelTop = y; + } +} + +CCSSP.MoveObjectBy = function(obj, dx, dy) +{//moveing a object by x and/or y pixel + if( gbBsNS4 ) + obj.moveBy(dx,dy); + else + { + obj.style.pixelLeft += dx; + obj.style.pixelTop += dy; + } +} + +CCSSP.SetObjectBGColor = function(obj, color) +{//set the background color of an object + if( gbBsNS4 ) + obj.bgColor = color; + else + obj.style.backgroundColor = color; +} + +CCSSP.ShowObject = function(obj, bShow) +{// set the object to be visible or invisible + if( gbBsNS4 ) + obj.visibility = (bShow == true) ? 'show' : 'hide'; + else + obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. +} + +CCSSP.GetObjectLeft = function(obj) +{// retrieve the x coordinate of a posionable object + if( gbBsNS4 ) + return obj.left; + else + return obj.style.pixelLeft; +} + +CCSSP.GetObjectTop = function(obj) +{// retrieve the y coordinate of a posionable object + if( gbBsNS4 ) + return obj.top; + else + return obj.style.pixelTop; +} + +CCSSP.GetObjectContainLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageX; + else + { + if( obj == document.body ) + return obj.clientLeft; + else + return obj.offsetLeft; + } +} + +CCSSP.GetObjectWindowLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageX; + else + { + var nOffsetWindowLeft = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); + return nOffsetWindowLeft; + } +} + +CCSSP.GetObjectContainTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageY; + else + { + if( obj == document.body ) + return obj.clientTop; + else + return obj.offsetTop; + } +} + +CCSSP.GetObjectWindowTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageY; + else + { + var nOffsetWindowTop = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowTop += CCSSP.GetObjectContainTop(element); + return nOffsetWindowTop; + } +} + +CCSSP.GetObjectHeight = function(obj) +{// retrieve the height of a posionable object + if( gbBsNS4 ) + return obj.clip.height; + else + return obj.offsetHeight; +} + +CCSSP.GetObjectWidth = function(obj) +{// retrieve the width of a posionable object + if( gbBsNS4 ) + return obj.clip.width; + else + return obj.offsetWidth; +} + +CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) +{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined + if (gbBsNS4 && !gbBsNS6) + return ; + + var oldHandler = ""; + + if (gbBsMac &&gbBsIE4&&!gbBsIE5) + { + if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") + { //search for + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whcshdata.htm b/Workspace/Siman/WebContent/WebHelp/whcshdata.htm new file mode 100644 index 0000000..d64f3eb --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whcshdata.htm @@ -0,0 +1,88 @@ + + +Salome Study Manager User's Guide + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whftdata.js b/Workspace/Siman/WebContent/WebHelp/whdata/whftdata.js new file mode 100644 index 0000000..addf262 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whftdata.js @@ -0,0 +1,25 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE(sTopicTitle, sTopicURL) +{ + var len = gTEA.length; + gTEA[len] = new topicEntry(sTopicTitle, sTopicURL); +} + +function topicEntry(sTopicTitle, sTopicURL) +{ + this.sTopicTitle = sTopicTitle; + this.sTopicURL = sTopicURL; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsTData) + { + parent.putFtsTData(gTEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whftdata0.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whftdata0.htm new file mode 100644 index 0000000..5d12dfa --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whftdata0.htm @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whfts.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whfts.htm new file mode 100644 index 0000000..61a989d --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whfts.htm @@ -0,0 +1,19 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whfts.js b/Workspace/Siman/WebContent/WebHelp/whdata/whfts.js new file mode 100644 index 0000000..54246f6 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whfts.js @@ -0,0 +1,40 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +var gaFileTopicMapping = new Array(); + +function fileMapping(sStartKey, sEndKey, sFileName) +{ + this.sStartKey = sStartKey; + this.sEndKey = sEndKey; + this.sFileName = sFileName; + this.aFtsKeys = null; +} + +function fileTopicMapping(nIdBegin, nIdEnd, sFileName) +{ + this.nBegin = nIdBegin; + this.nEnd = nIdEnd; + this.sFileName = sFileName; + this.aTopics = null; +} + + +function iWM(sStartKey, sEndKey, sFileName) +{ + gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.ftsReady) + { + parent.ftsReady(gaFileMapping, gaFileTopicMapping); + } +} + +function iTM(nIdBegin, nIdEnd, sFileName) +{ + gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); +} + +window.onload = window_OnLoad; diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata.js b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata.js new file mode 100644 index 0000000..8340b59 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata.js @@ -0,0 +1,37 @@ +// WebHelp 5.10.001 +var gWEA = new Array(); +function aWE() +{ + var len = gWEA.length; + gWEA[len] = new ftsEntry(aWE.arguments); +} + +function ftsEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 1) + { + this.sItemName = fn_arguments[0]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (nLen > 1) + { + this.aTopics = new Array(); + for (var i = 0; i < nLen - 1; i ++ ) + { + this.aTopics[i] = fn_arguments[i + 1]; + } + } + } +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsWData) + { + parent.putFtsWData(gWEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata0.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata0.htm new file mode 100644 index 0000000..b4e60d3 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata0.htm @@ -0,0 +1,289 @@ + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata1.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata1.htm new file mode 100644 index 0000000..eaf5c1c --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whfwdata1.htm @@ -0,0 +1,73 @@ + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whgdata.js b/Workspace/Siman/WebContent/WebHelp/whdata/whgdata.js new file mode 100644 index 0000000..e38a107 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whgdata.js @@ -0,0 +1,26 @@ +// WebHelp 5.10.001 +var gIEA = new Array(); +function aGE(sName, sDef) +{ + var len = gIEA.length; + gIEA[len] = new gloEntry(sName, sDef); +} + +function gloEntry(sName, sDef) +{ + this.sName = sName; + this.sDef = sDef; + this.nNKOff = 0; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whglo.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whglo.htm new file mode 100644 index 0000000..484989c --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whglo.htm @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whglo.js b/Workspace/Siman/WebContent/WebHelp/whdata/whglo.js new file mode 100644 index 0000000..c34fb24 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whglo.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whidata.js b/Workspace/Siman/WebContent/WebHelp/whdata/whidata.js new file mode 100644 index 0000000..a921847 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whidata.js @@ -0,0 +1,89 @@ +// WebHelp 5.10.001 +// const strings +var gIEA = new Array(); +function aIE() +{ + var len = gIEA.length; + gIEA[len] = new indexEntry(aIE.arguments); +} + +function topic(sName, sURL) +{ + this.sName = sName; + this.sURL = sURL; +} + +function indexEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 3) + { + this.nType = fn_arguments[0]; + this.nPKOff = 0; + this.nNKOff = fn_arguments[1]; + this.sName = fn_arguments[2]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (Math.floor(nLen / 2) * 2 == nLen) + { + this.sTarget = fn_arguments[3]; + if (nLen > 5) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 5)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]); + } + } + + } + else + { + if (nLen > 4) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 4)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]); + } + } + } + } +} + +function getIndexTopicMappingList(nItemIndex) +{ + var sTopics = ""; + if (gIEA.length > nItemIndex) + { + if (gIEA[nItemIndex].aTopics) + { + var i = 0; + var nLen = gIEA[nItemIndex].aTopics.length; + for (i = 0; i < nLen; i ++) + { + sTopics += "," + gIEA[nItemIndex].aTopics[i]; + } + } + } + return sTopics; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + for (var i = 0; i < gIEA.length; i ++ ) + { + if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length) + { + + gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff; + } + } + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whidx.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whidx.htm new file mode 100644 index 0000000..a049a96 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whidx.htm @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whidx.js b/Workspace/Siman/WebContent/WebHelp/whdata/whidx.js new file mode 100644 index 0000000..c34fb24 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whidx.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whtdata.js b/Workspace/Siman/WebContent/WebHelp/whdata/whtdata.js new file mode 100644 index 0000000..0558e19 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whtdata.js @@ -0,0 +1,64 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE() +{ + gTEA[gTEA.length] = new tocEntry(aTE.arguments); +} + +function tocEntry(fn_arguments) +{ + if (fn_arguments.length < 3) + { + alert ("data format wrong!!!"); + return; + } + + this.nType = fn_arguments[0]; + this.nContents = fn_arguments[1]; + this.sItemName = fn_arguments[2]; + + if (this.nType == 1 || this.nType == 2 || this.nType == 16) + { + if (fn_arguments.length > 3) + { + this.sItemURL = fn_arguments[3]; + if (fn_arguments.length > 4) + { + this.sTarget = fn_arguments[4]; + if (fn_arguments.length > 5) + this.sIconRef = fn_arguments[5]; + } + } + } + if (this.nType == 4 || this.nType == 8) + { + if (fn_arguments.length > 3) + { + this.sRefURL = fn_arguments[3]; + if (this.nType == 4) + { + if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) + this.sRefURL+="/"; + } + if (fn_arguments.length > 4) + { + this.sItemURL = fn_arguments[4]; + if (fn_arguments.length > 5) + { + this.sTarget = fn_arguments[5]; + if (fn_arguments.length > 6) + this.sIconRef = fn_arguments[6]; + } + } + } + } +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.putData) { + parent.putData(gTEA); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whtdata0.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whtdata0.htm new file mode 100644 index 0000000..af7ce20 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whtdata0.htm @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.htm b/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.htm new file mode 100644 index 0000000..459c3e3 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.htm @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.js b/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.js new file mode 100644 index 0000000..62de5a1 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whdata/whtoc.js @@ -0,0 +1,31 @@ +// WebHelp 5.10.001 +// const strings +var gaProj = new Array(); +var gsRoot = ""; + +function setRoot(sRoot) +{ + gsRoot = sRoot +} + +function aPE(sProjPath, sRootPath) +{ + gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath); +} + +function tocProjEntry(sProjPath, sRootPath) +{ + if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) + sProjPath+="/"; + this.sPPath = sProjPath; + this.sRPath = sRootPath; +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) { + parent.projReady(gsRoot, gaProj); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whestart.ico b/Workspace/Siman/WebContent/WebHelp/whestart.ico new file mode 100644 index 0000000..110f183 Binary files /dev/null and b/Workspace/Siman/WebContent/WebHelp/whestart.ico differ diff --git a/Workspace/Siman/WebContent/WebHelp/whfbody.htm b/Workspace/Siman/WebContent/WebHelp/whfbody.htm new file mode 100644 index 0000000..1cec29f --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whfbody.htm @@ -0,0 +1,37 @@ + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whfdhtml.htm b/Workspace/Siman/WebContent/WebHelp/whfdhtml.htm new file mode 100644 index 0000000..a833eb6 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whfdhtml.htm @@ -0,0 +1,30 @@ + + +Search Frame + + + + + + + + + diff --git a/Workspace/Siman/WebContent/WebHelp/whfform.htm b/Workspace/Siman/WebContent/WebHelp/whfform.htm new file mode 100644 index 0000000..6e95873 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whfform.htm @@ -0,0 +1,136 @@ + + +Search Form + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace/Siman/WebContent/WebHelp/whfhost.js b/Workspace/Siman/WebContent/WebHelp/whfhost.js new file mode 100644 index 0000000..c3c7144 --- /dev/null +++ b/Workspace/Siman/WebContent/WebHelp/whfhost.js @@ -0,0 +1,945 @@ +// WebHelp 5.10.003 +var gsSK2=null; +var gsSK=null; +var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7"; +var gnCLF=0; +var gsHelpCannotSearch="Cannot search for that phrase."; +var gsNoTopics="No Topics Found."; +var gsLoadingDivID="LoadingDiv"; +var gsLoadingMsg="Loading data, please wait..."; +var gsSearchMsg="Searching..."; +var gsResultDivID="ResultDiv"; +var gaaFCD=new Array(); +var gaaFTCD=new Array(); +var goCF=null; +var goCTF=null; +var gaTI=null; +var gnCurrentOp=0; +var gbNot=false; +var gbReady=false; +var gnLoadFts=1; +var gnCacheLimits=5; +var gaCCD=new Array(); +var gbXML=false; +var gaData=new Array(); +var gsBgColor="#ffffff"; +var gsBgImage=""; +var gsMargin="0pt"; +var gsIndent="0pt"; +var gsCheckKey=null; +var gnIndexNum=0; +var gaFtsContentsCon=null; +var gaTopicCheckInfo=null; +var gnTopicCheck=0; +var goFont=null; +var goErrFont=null; +var goHoverFont=null; +var gsABgColor="#cccccc"; +var gbWhFHost=false; +var gbFirst=false; + +function setBackground(sBgImage) +{ + gsBgImage=sBgImage; +} + +function setBackgroundcolor(sBgColor) +{ + gsBgColor=sBgColor; +} + +function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) +{ + var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); + if(sType=="Normal") + goFont=vFont; + else if(sType=="Error") + goErrFont=vFont; + else if(sType=="Hover") + goHoverFont=vFont; +} + +function setActiveBgColor(sBgColor) +{ + gsABgColor=sBgColor; +} + +function setMargin(sMargin) +{ + gsMargin=sMargin; +} + +function setIndent(sIndent) +{ + gsIndent=sIndent; +} + +function updateCache(oCF) +{ + var len=gaCCD.length; + if(len0&&sURL) + { + var topic=new Object(); + topic.sTopicTitle=name; + topic.sTopicURL=sURL; + aTopics[aTopics.length]=topic; + } + } + oChild=oChild.nextSibling; + } + putFtsTData(aTopics); + } + } + else if(gnLoadFts==2) + { + var node=xmlDoc.lastChild; + if(node) + { + var oChild=node.firstChild; + var aFtsContents=new Array(); + while(oChild) + { + if(oChild.nodeName=="key") + { + var name=oChild.getAttribute("name"); + if(name&&name.length>0) + { + var item=new Object(); + item.sItemName=name; + aFtsContents[aFtsContents.length]=item; + var oChildChild=oChild.firstChild; + while(oChildChild) + { + if(oChildChild.nodeName=="#text") + { + var sIDs=oChildChild.nodeValue; + if(sIDs) + { + var nBPos=0; + do + { + var nPos=sIDs.indexOf(",",nBPos); + var sID=null; + if(nPos!=-1) + sID=sIDs.substring(nBPos,nPos); + else + sID=sIDs.substring(nBPos); + + if(sID) + { + var id=parseInt(sID); + if(!isNaN(id)) + { + if(!item.aTopics) + item.aTopics=new Array(); + item.aTopics[item.aTopics.length]=id; + } + } + nBPos=nPos+1; + }while(nBPos!=0&&nBPos0) + { + document.body.background=gsBgImage; + } + if(gsBgColor&&gsBgColor.length>0) + { + document.body.bgColor=gsBgColor; + } + writeResultDiv(); + loadFts(); + var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null) + SendMessage(oMsg); +} + +function writeResultDiv() +{ + var sHTML="
"; + document.body.insertAdjacentHTML("beforeEnd",sHTML); +} + +function loadFts() +{ + if(!gbReady) + { + var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); + if(SendMessage(oResMsg)&&oResMsg.oParam) + { + gbReady=true; + var oProj=oResMsg.oParam; + var aProj=oProj.aProj; + gbXML=oProj.bXML; + if(aProj.length>0) + { + var sLangId=aProj[0].sLangId; + for(var i=0;i=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){ + gnCurrentOp=0; + gbNot=false; + }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){ + gnCurrentOp=1; + gbNot=false; + }else if((sCW=="not")|| + ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){ + gbNot=!gbNot; + }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){ + var sCurrentStem=GetStem(sCW); + gsCW=sCurrentStem; + ftsFindKeyword(); + return; + } + findOneKey(); + } + else{ + displayTopics(); + checkAgain(); + } +} + +function checkAgain() +{ + gsCheckKey = ""; + gnIndexNum = 0; + gsSK=gsSK2; + gsSK2=null; + if(gsSK!=null) + setTimeout("findFTSKey();",1); +} + +function displayTopics() +{ + var sHTML=""; + var sLine=""; + for(var i=0;i"+_textToHtml(gaTI[i].sTopicTitle)+"
"; + if(i>>4<<4==i) + { + sHTML+=sLine; + sLine=""; + } + } + if(sLine.length>0) + sHTML+=sLine; + + if(sHTML.length==0) + sHTML="

"+gsNoTopics+"

" + else + sHTML="
"+sHTML+"
"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function displayMsg(sErrorMsg) +{ + var sHTML="

"+sErrorMsg+"

"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function ftsFindKeyword() +{ + var sKey=gsCW; + var bNeedLoad=false; + var aFtsContentsCon=null; + var s=0; + if(sKey==null) return; + if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0) + { + aFtsContentsCon=new Array(); + gnCheck=0; + gsCheckKey=sKey; + gnTopicCheck=0; + gaTopicCheckInfo=null; + } + else{ + s=gnIndexNum; + aFtsContentsCon=gaFtsContentsCon; + } + for(var i=gnCheck;i=aTI.length) + { + aLS=gaTI; + aSS=aTI; + } + else + { + aLS=aTI; + aSS=gaTI; + } + var s=0; + for(var i=0;i=0) + { + var nM; + var bFound=false; + do{ + nM=(nB+nE)>>1; + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) + nE=nM-1; + else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + nB=nM+1; + else + { + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + insertItemIntoArray(aTI,nM,oTI); + else + { + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + insertItemIntoArray(aTI,nM+1,oTI); + else + insertItemIntoArray(aTI,nM,oTI); + } + } + else + aTI[0]=oTI; +} + +function mergeTopics(aTI1,aTI2) +{ + var i1=0; + var i2=0; + var len1=aTI1.length; + var len2=aTI2.length; + var aTopicNew=new Array(); + var i=0; + while(i1>1; + if(compare(keys[nM].sItemName,sKey)>0) + nE=nM-1; + else if(compare(keys[nM].sItemName,sKey)<0) + nB=nM+1; + else{ + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + { + if(keys[nM].aTopics) + { + for(var i=0;i>1; + if(aFTCD[nM].nBegin>nTopicId) + nE=nM-1; + else if(aFTCD[nM].nEnd