From: yfr Date: Fri, 25 Jun 2004 10:32:32 +0000 (+0000) Subject: DCQ : Merge with Ecole Ete a6. X-Git-Tag: Merge_with_Ecole_Ete_a6~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0740c05126ec54c2e989a9bca3f551a644cfb745;p=modules%2Fvisu.git DCQ : Merge with Ecole Ete a6. --- diff --git a/doc/salome/gui/VISU/VISU.log b/doc/salome/gui/VISU/VISU.log new file mode 100755 index 00000000..0cf5607f --- /dev/null +++ b/doc/salome/gui/VISU/VISU.log @@ -0,0 +1,318 @@ +|SourceProjectName:VISU.hpr +|DestinationProjectName:visu.html +whhost.js +whmsg.js +whmozemu.js +whproxy.js +whstub.js +whutils.js +whver.js +whform.js +whphost.js +whstart.js +whtopic.js +whframes.js +whlang.js +whskin_info.htm +whskin_blank.htm +whnjs.htm +whthost.js +whtdhtml.htm +whihost.js +whibody.htm +whiform.htm +whfhost.js +whfbody.htm +whfform.htm +whghost.js +whgbody.htm +whgdhtml.htm +whgdef.htm +whproj.js +whproj.xml +whproj.htm +whdata\whtoc.js +whdata\whtoc.xml +whdata\whtoc.htm +whdata\whtdata.js +whdata\whidx.js +whdata\whidx.xml +whdata\whidx.htm +whdata\whidata.js +whdata\whfts.js +whdata\whfts.xml +whdata\whfts.htm +whdata\whglo.js +whdata\whglo.xml +whdata\whglo.htm +whdata\whgdata.js +whdata\whftdata.js +whdata\whfwdata.js +whres.xml +webhelp.jar +webhelp.cab +whgdata\whnvp30.htm +whgdata\whnvp31.htm +whgdata\whnvp32.htm +whgdata\whnvp33.htm +whgdata\whnvt30.htm +whgdata\whnvt31.htm +whgdata\whnvt32.htm +whgdata\whnvt33.htm +whgdata\whnvf30.htm +whgdata\whnvf31.htm +whgdata\whnvf32.htm +whgdata\whnvf33.htm +whgdata\whnvl31.htm +whgdata\whnvl32.htm +whgdata\whnvl33.htm +whgdata\whexpbar.gif +cshdat_webhelp.htm +cshdat_robohelp.htm +wht_tab0.gif +wht_tab1.gif +wht_tab2.gif +wht_tab3.gif +wht_tab4.gif +wht_tab5.gif +wht_tab6.gif +wht_tab7.gif +wht_tab8.gif +wht_glo_h.gif +wht_glo_n.gif +wht_fts_h.gif +wht_fts_n.gif +wht_idx_h.gif +wht_idx_n.gif +wht_toc_h.gif +wht_toc_n.gif +wht_ws.gif +wht_ws_g.gif +wht_logo1.gif +wht_logo2.gif +wht_abgw.jpg +wht_abgi.jpg +wht_abge.jpg +wht_abtw.jpg +wht_abte.jpg +wht_abti.jpg +wht_spac.gif +wht_next.gif +wht_next_g.gif +wht_prev.gif +wht_prev_g.gif +wht_sync.gif +wht_hide.gif +wht_go.gif +whstart.ico +whestart.ico +whrstart.ico +whidhtml.htm +whfdhtml.htm +whskin_banner.htm +whtbar.js +default.skn +whskin_pdhtml.htm +whskin_papplet.htm +whskin_plist.htm +whskin_tbars.htm +whskin_mbars.htm +wht_toc4.gif +wht_toc1.gif +wht_toc2.gif +wht_toc3.gif +whskin_frmset010.htm +whst_topics.xml +whskin_frmset01.htm +visu_hha.hhk +visu.hhc +visu.hhk +files\a.htm +files\a1.htm +files\a2.htm +files\a3.htm +files\a4.htm +files\a5.htm +files\about_structure_of_med_object.htm +files\about_tables.htm +files\animating_presentations.htm +files\changing_visualization_parameters_of_the_presenetation.htm +files\creating_curves.htm +files\creating_field_presentations.htm +files\creating_presentations.htm +files\creating_tables_from_cut_lines_presentations.htm +files\creating_xy_plot.htm +files\cut_lines_presentation.htm +files\cut_lines_resentation.htm +files\deformed_shape_presentation.htm +files\displaying_hiding_presentations.htm +files\displaying_tables.htm +files\editing_field_presentations.htm +files\exploring_med_files.htm +files\getting_elements_attributes.htm +files\getting_started.htm +files\importing_med_objects.htm +files\importing_tables.htm +files\insideframe.htm +files\introduction_to_visu.htm +files\iso_surfaces_presentation.htm +files\points.htm +files\renaming_presentations.htm +files\running_visu.htm +files\scalar_map_presentation.htm +files\scaling_presentations.htm +files\selection_in_visu.htm +files\setting_properties_of_xy_plots.htm +files\shrink.htm +files\stream_lines_presentation.htm +files\surface.htm +files\surfaceframe.htm +files\sweeping.htm +files\vectors_presentation.htm +files\wireframe.htm +ehlpdhtm.js +texture_horiz_ltbluebubbles.jpg +visu.glo +default.css +image21.jpg +image10.jpg +pics\surface.jpg +image22.jpg +image11.jpg +more.jpg +pics\speed.jpg +pics\next.jpg +pics\run.jpg +pics\cutlinesicon.jpg +pics\cellselection.jpg +pics\width.jpg +pics\main.jpg +image12.jpg +createtable.gif +pics\fieldprsnt3.jpg +pics\points.jpg +pics\choosebox.jpg +image13.jpg +pics\animatdef.jpg +pics\table.gif +pics\streamlinesprsnt.jpg +pics\defshapeicon.jpg +pics\structmed.jpg +pics\visuicon.jpg +image4.jpg +createfieldprsnt.gif +image1.gif +pics\animation.jpg +pics\scalarmapicon.jpg +pics\presentat1.jpg +image15.jpg +image5.jpg +pics\fieldprsnt6.jpg +pics\shrink.jpg +image16.jpg +image6.jpg +pics\end.jpg +pics\cutplpresent.jpg +image14.gif +image17.jpg +image7.jpg +animation.gif +pics\begining.jpg +pics\streamlinesicon.jpg +pics\defshapeprsnt.jpg +pics\new.jpg +image15.gif +image18.jpg +image8.jpg +pics\display.jpg +pics\wireframe.jpg +pics\crtprsnt.jpg +image16.gif +image19.jpg +image9.jpg +pics\selmode.jpg +pics\scalingdb.jpg +i_blue.jpg +pics\object.jpg +image17.gif +tip1.gif +pics\pointselection.jpg +pics\rename.jpg +image8.gif +pics\sweeppreferences.jpg +pics\previous.jpg +pics\scalingicon.jpg +pics\importmed.jpg +pics\importingtables.jpg +pics\animationparam.jpg +pics\erase.jpg +pics\opacity.jpg +pics\cutlinesprsnt.jpg +pics\selection1.jpg +createpresent.gif +importmed.gif +note1.gif +launchvisu.gif +pics\cutlinesicn.jpg +pics\iso.jpg +pics\scalarmap.jpg +pics\display1.jpg +pics\visuwind.jpg +image20.jpg +pics\cellsel.jpg +pics\vectorsprsnt.jpg +pics\vecticon.jpg +pics\isosurf.jpg +visu.ppf +ss_btn_related_topics.gif +ss_btn_see_also.gif +default_ns.css +whdata\whtdata0.xml +whdata\whtdata0.htm +whdata\whftdata0.xml +whdata\whftdata0.htm +whdata\whfwdata0.xml +whdata\whfwdata0.htm +whdata\whgdata0.xml +whdata\whgdata0.htm +whgdata\whlstt0.htm +whgdata\whlstt1.htm +whgdata\whlstt2.htm +whgdata\whlstt3.htm +whgdata\whlstt4.htm +whgdata\whlstt5.htm +whgdata\whlstt6.htm +whgdata\whlsti0.htm +whgdata\whlstfl0.htm +whgdata\whlstfl1.htm +whgdata\whlstfl2.htm +whgdata\whlstfl3.htm +whgdata\whlstfl4.htm +whgdata\whlstfl5.htm +whgdata\whlstfl6.htm +whgdata\whlstfl7.htm +whgdata\whlstfl8.htm +whgdata\whlstfl9.htm +whgdata\whlstfl10.htm +whgdata\whlstfl11.htm +whgdata\whlstfl12.htm +whgdata\whlstfl13.htm +whgdata\whlstfl14.htm +whgdata\whlstfl15.htm +whgdata\whlstfl16.htm +whgdata\whlstfl17.htm +whgdata\whlstfl18.htm +whgdata\whlstfl19.htm +whgdata\whlstfl20.htm +whgdata\whlstfl21.htm +whgdata\whlstfl22.htm +whgdata\whlstf0.htm +whgdata\whlstf1.htm +whgdata\whlstf2.htm +whgdata\whlstf3.htm +whgdata\whlstf4.htm +whgdata\whlstf5.htm +whgdata\whlstg0.htm +visu.html +visu_csh.html +visu_rhc.html diff --git a/doc/salome/gui/VISU/animation.gif b/doc/salome/gui/VISU/animation.gif new file mode 100755 index 00000000..3f41856f Binary files /dev/null and b/doc/salome/gui/VISU/animation.gif differ diff --git a/doc/salome/gui/VISU/createfieldprsnt.gif b/doc/salome/gui/VISU/createfieldprsnt.gif new file mode 100755 index 00000000..3e65e1fc Binary files /dev/null and b/doc/salome/gui/VISU/createfieldprsnt.gif differ diff --git a/doc/salome/gui/VISU/createpresent.gif b/doc/salome/gui/VISU/createpresent.gif new file mode 100755 index 00000000..807cd7e2 Binary files /dev/null and b/doc/salome/gui/VISU/createpresent.gif differ diff --git a/doc/salome/gui/VISU/createtable.gif b/doc/salome/gui/VISU/createtable.gif new file mode 100755 index 00000000..2216f37d Binary files /dev/null and b/doc/salome/gui/VISU/createtable.gif differ diff --git a/doc/salome/gui/VISU/cshdat_robohelp.htm b/doc/salome/gui/VISU/cshdat_robohelp.htm new file mode 100755 index 00000000..4ba4a936 --- /dev/null +++ b/doc/salome/gui/VISU/cshdat_robohelp.htm @@ -0,0 +1,252 @@ + + +VISU refrence manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/cshdat_webhelp.htm b/doc/salome/gui/VISU/cshdat_webhelp.htm new file mode 100755 index 00000000..56ad2272 --- /dev/null +++ b/doc/salome/gui/VISU/cshdat_webhelp.htm @@ -0,0 +1,251 @@ + + +VISU refrence manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/default.css b/doc/salome/gui/VISU/default.css new file mode 100755 index 00000000..d2d425ac --- /dev/null +++ b/doc/salome/gui/VISU/default.css @@ -0,0 +1,209 @@ +/*=(===============================================================)*/ + +/*=(===============================================================)*/ +/*=(Created with RoboEditor.)=======================================*/ +/*=(===============================================================)*/ + +BODY { + background-color: #ffffff; + font-family: "Times New Roman", serif; +} + +H1 { + font-weight: bold; + font-size: 24.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H1 { + font-weight: bold; + font-size: 24.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H2 { + font-weight: bold; + font-size: 18.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H2 { + font-weight: bold; + font-size: 18.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H3 { + font-weight: bold; + font-size: 14.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H3 { + font-weight: bold; + font-size: 14.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H4 { + font-weight: bold; + font-size: 12.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H4 { + font-weight: bold; + font-size: 12.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H5 { + font-weight: bold; + font-size: 10.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H5 { + font-weight: bold; + font-size: 10.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H6 { + font-weight: bold; + font-size: 8.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H6 { + font-weight: bold; + font-size: 8.0pt; +} +/*}}end!kadov=======================================================*/ + + + +P { + font-size: 12.0pt; + margin-top: 0pt; + margin-bottom: 0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-P { + font-size: 12.0pt; +} +/*}}end!kadov=======================================================*/ + + + +A.expandspot { + color: #008000; + cursor: hand; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +SPAN.expandtext { + font-style: italic; + font-weight: normal; + color: #ff0000; +} + +A.dropspot { + cursor: hand; + color: #008000; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +A.glossterm { + color: #800000; + cursor: hand; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +SPAN.glosstext { + font-style: italic; + font-weight: normal; + color: #0000ff; +} + +OL, +UL { + margin-top: 0px; + margin-bottom: 0px; +} + +A:active { +} + +A:hover { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +A:link { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +A:visited { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +P.TODO { + font-weight: normal; + font-style: italic; + font-family: "Arial Black", sans-serif; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-P-CTODO { + font-weight: normal; + font-style: italic; + font-family: "Arial Black", sans-serif; +} +/*}}end!kadov=======================================================*/ + + + + +/*=(===============================================================)*/ diff --git a/doc/salome/gui/VISU/default.skn b/doc/salome/gui/VISU/default.skn new file mode 100755 index 00000000..f162a662 --- /dev/null +++ b/doc/salome/gui/VISU/default.skn @@ -0,0 +1,262 @@ + + + + Default + Contents + font-family:Arial font-size:8pt font-weight:normal font-style:normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + background:#99ccff + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + background:#639ace + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White + + left + + Contents + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Index + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Search + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Glossary + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + WebSearch + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Search Input + + + + + <text></text> + + + + + Logo + + eHelp Corporation + + + + + background:#99ccff + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + background:#639ace + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White + + + Previous + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Next + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Sync TOC + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Hide + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + background:White + + + <text>::??DefaultWebSkinText??::</text> + <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font> + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + background:White + + + <text>::??DefaultWebSkinText??::</text> + <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font> + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + ::??DefaultWebSkinText??:: + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy + background:White + + + + ::??DefaultWebSkinText??:: + + + + + ::??DefaultWebSkinText??:: + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy + background:White + + + + ::??DefaultWebSkinText??:: + + + + + + + + none + + + diff --git a/doc/salome/gui/VISU/default_ns.css b/doc/salome/gui/VISU/default_ns.css new file mode 100755 index 00000000..020a6711 --- /dev/null +++ b/doc/salome/gui/VISU/default_ns.css @@ -0,0 +1,122 @@ +BODY { + background-color:#ffffff; + font-family:"Times New Roman" , serif; } +H1 { + font-weight:bold; + font-size:24.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:1; + margin-bottom:1; + font-family:"Times New Roman" , serif; } +LI.kadov-P { + font-size:12.0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +UL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +A:active { } +A:hover { + x-text-underline:Off; + text-decoration:none; } +A:link { + x-text-underline:Off; + text-decoration:none; } +A:visited { + x-text-underline:Off; + text-decoration:none; } +P.TODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +LI.kadov-P-CTODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +ol ol { + margin-top:1; + margin-bottom:1; } +ol ul { + margin-top:1; + margin-bottom:1; } +ul ul { + margin-top:1; + margin-bottom:1; } +ul ol { + margin-top:1; + margin-bottom:1; } diff --git a/doc/salome/gui/VISU/ehlpdhtm.js b/doc/salome/gui/VISU/ehlpdhtm.js new file mode 100755 index 00000000..86d26ea9 --- /dev/null +++ b/doc/salome/gui/VISU/ehlpdhtm.js @@ -0,0 +1,4033 @@ +// eHelp® Corporation Dynamic HTML JavaScript +// Copyright© 1998-2001 eHelp® Corporation.All rights reserved. +// Version=4.57 + +// 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 gbBsIE = (gstrBsAgent.indexOf('msie') != -1); +var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)); +var gbBsOpera = (gstrBsAgent.indexOf('opera') != -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 gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); +var gbBsIE5 = false; +var gbBsIE55 = false; + +gbBsIE = (navigator.appName.indexOf("Microsoft") != -1); + +if (parseInt(navigator.appVersion) >= 4) { + gbBsIE4 = (navigator.appName.indexOf("Microsoft") != -1); + + 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; + } +} + +var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); +var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); +var gbBsOp3 = (gstrBsAgent.indexOf('opera') != -1); + +// 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 = document.all.tags("BODY")[0]; + if( typeof(objBody) == "object" ) + { + objBody.insertAdjacentHTML("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) { +//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... + if (gbBsNS6) + document.write(""); + else + document.write("
"); + } else{ + document.write(""); + if (gbBsIE4) { + document.write(""); + } + } + g_bIsPopupMenuInit = true; + } +} + +//Define variable arguments as: strTitle, strUrl +function MTE() +{ + this.strTitle = MTE.arguments[0]; + if (MTE.arguments.length > 1) + this.strURL = MTE.arguments[1]; + else + this.strURL = this.strTitle; +} + +// If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js) +function PopupMenu_SetTopicList(aPopupTopicArray) +{ + gbPopupMenuTopicList = aPopupTopicArray; +} + + +//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"); + wndPopupLinks.document.write(""); + var strParaLine = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + strParaLine = ""; + strParaLine += ""); + wndPopupLinks.document.close(); + window.gbInPopupMenu = true; + if (!gbBsIE) { + wndPopupLinks.focus(); + } + + return false; + } + + + if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) || + ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) { + // Get the place that we will be putting the topic into + var strURL = ""; + if (isNaN(fn_arguments[2]) || (gbPopupMenuTopicList == null)) { + strURL = fn_arguments[3]; + } + else { + strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL; + } + + if (targetDoc != null) { + targetDoc.location.href = strURL; + } + else { + if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined") + window.open(strURL, fn_arguments[1]); + else + window.open(strURL); + } + window.gbInPopupMenu = true; + return false; + } + + var strMenu = ""; + if (gbBsNS4) { + strMenu = ''; + } else { + strMenu = '
'; + } 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) { + + layerPopup = document.all["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) { + layerPopup = document.getElementById("PopupMenu"); + layerPopup.style.visibility = "hidden"; + + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _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) { + e.srcElement.className = "PopupOver"; + } else if (gbBsNS4) { +// this.bgColor = "red"; +// e.target.document.className = "PopupOver"; + } + return; +} + +function PopupMenu_Out(e) +{ + if (gbBsIE4) { + e.srcElement.className = "PopupNotOver"; + } else if (gbBsNS4) { + this.bgColor = "#f0f0f0"; + } + return; +} + + +function PopupMenu_HandleClick(e) +{ + if (window.gbPopupMenuTimeoutExpired) { + + window.gbInPopupMenu = false; + + if (gbBsNS4 && !gbBsNS6) { + window.releaseEvents(Event.MOUSEDOWN); + } + + var layerPopup = null; + var stylePopup = null; + if (gbBsIE4) { + layerPopup = document.all["PopupMenu"]; + stylePopup = layerPopup.style; + stylePopup.visibility = "hidden"; + } else if (gbBsNS6) { + layerPopup = document.getElementById("PopupMenu"); + layerPopup.style.visibility = "hidden"; + } else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + } + + if (gOlddocumentClick) + { + if (gbBsNS4 && !gbBsNS6) + document.onmousedown = gOlddocumentClick; + else + document.onclick = gOlddocumentClick; + } + } + return; +} + +// This function should be deleted when all old projects are cleaned up +function BSPSWritePopupFrameForIE4() +{ + return false; +} + +///////////////////////////////////////////////////////////////////// +function BSSCPopup_ClickMac() +{ + if ((!DHTMLPopupSupport()) && (gbBsIE4)) + { + 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 = el.parentElement; + } + } + 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) + 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 +////////////////////////////////////////////////////////////////////////////////////////////// +// +// Begin DHTML Popup Functions +// +////////////////////////////////////////////////////////////////////////////////////////////// +//variables used to isolate the browser type +var gBsDoc = null; +var gBsSty = null; +var gBsHtm = null; +var gBsStyVisShow = null; +var gBsStyVisHide = null; +var gBsClientWidth = 640; +var gBsClientHeight = 480; +var gBsBrowser = null; + +// 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 eval("document.all['" + getPopupTopicID(nIndex) + "']").style; +} + +function getPopupShadowStyle(nIndex) +{ + return eval("document.all['" + getPopupShadowID(nIndex) + "']").style; +} + +function getPopupIFrame(nIndex) +{ + + return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); +} + +function getPopupDivStyle(nIndex) +{ + return eval("document.all['" + getPopupID(nIndex) + "']").style; +} + +function getPopupIFrameStyle(nIndex) +{ + return eval("document.all['" + getPopupIFrameName(nIndex) + "'].style"); +} + + +function findDiv(strURL) +{ + var i = 0; + for (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) +{ + var i = 0; + for (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() +{ + var i = 0; + for (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() +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++ ) + getPopupDivStyle(i).visibility = gBsStyVisHide; +} + +function getCurrentPopupIFrame() +{ + var i = 0; + for (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; + +} + +//the browser information itself +function _BSPSBrowserItself() +{ + var agent = navigator.userAgent.toLowerCase(); + this.major = parseInt(navigator.appVersion); + this.minor = parseFloat(navigator.appVersion); + this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1))); + this.ns2 = ((this.ns) && (this.major == 2)); + this.ns3 = ((this.ns) && (this.major == 3)); + this.ns4 = ((this.ns) && (this.major >= 4)); + this.ns6 = ((this.ns) && (this.major >= 5)); + this.ie = (agent.indexOf("msie") != -1); + this.ie3 = ((this.ie) && (this.major == 2)); + this.ie4 = ((this.ie) && (this.major >= 4)); + this.op3 = (agent.indexOf("opera") != -1); + + if (this.ns4) + { + gBsDoc = "document"; + gBsSty = ""; + gBsHtm = ".document"; + gBsStyVisShow = "show"; + gBsStyVisHide = "hide"; + + } + else if (this.ie4) + { + gBsDoc = "document.all"; + gBsSty = ".style"; + gBsHtm = ""; + gBsStyVisShow = "visible"; + gBsStyVisHide = "hidden"; + } +} + +//Here is the browser type +function _BSPSGetBrowserInfo() +{ + gBsBrowser = new _BSPSBrowserItself(); +} + +_BSPSGetBrowserInfo(); + +//Get client size info +function _BSPSGetClientSize() +{ + if (gBsBrowser.ns4) + { + gBsClientWidth = innerWidth; + gBsClientHeight = innerHeight; + + } + else if (gBsBrowser.ie4) + { + 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)) { + return true; + } + return false; +} + + + +function BSSCPopup_IsPopup() +{ + if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { + return true; + } else if ((gbBsNS4 || gbBsIE4) && (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. +if (BSSCPopup_IsPopup() && !gbBsIE4) { + 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 = document.all.tags("BODY")[0]; + if( typeof(objBody) != "object" ) + return; + + objBody.insertAdjacentHTML("beforeEnd", strPopupDiv); +} + +function BSSCPopup_Timeout(nIndex, nToken) +{ + if (!IsValidToken(nToken)) return; + + if ((getPopupIFrame(nIndex).document.readyState == "complete") && + (getPopupIFrame(nIndex).document.body != null)) { + window.getPopupDivStyle(nIndex).visibility = gBsStyVisShow; + setClear(nIndex); + window.gbPopupTimeoutExpired = true; + + BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); + getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; + + if (!gbOrignalOnMouseDown && document.onmousedown) + gbOrignalOnMouseDown = document.onmousedown; + + document.onmousedown = BSSCPopupParentClicked; + + } 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 = tagsObject.all.tags("A"); + BSSCPopup_ChangeTargettoParent2(collA); + + var collIMG = tagsObject.all.tags("IMG"); + BSSCPopup_ChangeTargettoParent2(collIMG); +} + +function BSSCPopup_ChangeTargettoParent2(colls) +{ + var j = 0; + if (colls != null) { + for (j = 0; j < colls.length; j ++ ) + { + var strtemp = colls[j].href; + 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()) { + // If we are already in a popup, replace the contents + // if (BSSCPopup_IsPopup()) { + // parent._BSSCPopup(strURL, cuswidth, cusheight); + // } else { + 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; + window.onbeforeunload = window_BUnload; +} + +function window_BUnload() +{ + for (var i = 0; i < arrayPopupURL.length; i ++) + document.all(getPopupID(i)).outerHTML = ""; + arrayPopupURL.length = 0; + if (ehlpdhtm_fOldBefureUnload) + ehlpdhtm_fOldBefureUnload(); +} + +function _BSSCPopup2(strURL, width, height) +{ + if (window.name == gstrPopupSecondWindowName) { + window.location = strURL; + } else { + if (!gbBsMac || !gBsBrowser.ns4) { + 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 (gBsBrowser.ns) { + if (gBsBrowser.ns6) { + strParam += ",Height=" + nHeight + ",Width=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + } + 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; + } + window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); + + if (gBsBrowser.ns4) { + window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + window.gPopupWindow.onblur = NonIEPopup_HandleBlur; + } + else if (gBsBrowser.ie4) + { + setTimeout("setPopupFocus();", 100); + } + } + return; +} + +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.target == "") + window.location.href = e.target.href; + else + window.open(e.target.href, e.target.target); + + if (e.target.href.indexOf("javascript:void(0)") == -1 && e.target.href.indexOf("javascript:null") == -1 && e.target.href.indexOf("BsscPopup") == -1) { + this.close(); + } + } else { + this.close(); + } + return false; + +} + +function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (typeof(window.getPopupIFrame(nIndex).document) == "unknown") { + _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); + return; + } + if (!IsValidToken(nToken)) 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; + + // Determine the width and height for the window + //var size = new BSSCSize(0, 0); + //BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + //var nWidth = size.x; + //var nHeight = size.y; + + _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. + // if (nWidth < 40 || nHeight < 40) return; // there must be something terribly wrong. + + window.getPopupDivStyle(nIndex).pixelWidth = nWidth; + window.getPopupDivStyle(nIndex).pixelHeight = nHeight; + + window.getPopupShadowStyle(nIndex).pixelWidth = nWidth; + window.getPopupShadowStyle(nIndex).pixelHeight = nHeight; + window.getPopupTopicStyle(nIndex).pixelWidth = nWidth; + window.getPopupTopicStyle(nIndex).pixelHeight = nHeight; + if (gbBsIE55) + { + window.getPopupShadowStyle(nIndex).pixelWidth = nWidth + 2; + window.getPopupShadowStyle(nIndex).pixelHeight = nHeight + 2; + window.getPopupTopicStyle(nIndex).pixelWidth = nWidth + 2; + window.getPopupTopicStyle(nIndex).pixelHeight = nHeight + 2; + } + + window.getPopupIFrameStyle(nIndex).pixelWidth = nWidth; + window.getPopupIFrameStyle(nIndex).pixelHeight = nHeight; + if (gbBsIE55) + { + window.getPopupIFrameStyle(nIndex).top = 0; + window.getPopupIFrameStyle(nIndex).left = 0; + } + + var strURL = getPopupURL(nIndex); + if (strURL.indexOf("#") != -1) + getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. + + MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); +} + +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 = window.getPopupDivStyle(nIndex).pixelWidth; + var nHeight = window.getPopupDivStyle(nIndex).pixelHeight; + + if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) { + nTop = nClickY + 10; + } else { + nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20; + } + if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) { + nLeft = nClickX; + } else { + nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8; + } + + if (nTop < document.body.scrollTop ) nTop = document.body.scrollTop + 1; + if (nLeft< document.body.scrollLeft) nLeft = document.body.scrollLeft + 1; + + + window.getPopupDivStyle(nIndex).left = nLeft; + window.getPopupDivStyle(nIndex).top = nTop; + + // Set the location of the background blocks + window.getPopupShadowStyle(nIndex).left = 6; + window.getPopupShadowStyle(nIndex).top = 6; + if (gbBsIE55) + { + window.getPopupShadowStyle(nIndex).left = 4; + window.getPopupShadowStyle(nIndex).top = 4; + } + + if (gbBsMac) { + // Total hack on the iMac to get the IFrame to position properly + window.getPopupIFrameStyle(nIndex).pixelLeft = 100; + window.getPopupIFrameStyle(nIndex).pixelLeft = 0; + // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it + window.getPopupIFrame(nIndex).window.BSSCOnLoad(); + } + + BSSCPopup_Timeout(nIndex , nToken ); + + return; +} + +function BSSCSize(x, y) +{ + this.x = x; + this.y = y; +} + +function BSSCGetContentSize(thisWindow, size) +{ + if (!((gBsBrowser.ie4) || (gBsBrowser.ns4))) + return; + + if (gbBsMac) { + size.x = 300; + size.y = 300; + 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'; + + // Handle absurd cases just in case IE flakes + // if (size.y < 100) { + // size.y = 100; + // } + } + } + 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; + //i = 0; + 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; + //i ++; + + } + //size.x = x - gBscrollWidth; + 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; + } + } + } + + // no reload no scrollbar. + //size.x = size.x + 16; //reserve a width for scrollbar (IE 4.0 only) + + 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 BSSCPopupClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + + var popupIFrame = getCurrentPopupIFrame(); + if (popupIFrame == null) { + return true; + } + +/* + if ("undefined" != typeof(popupIFrame.gbInPopupMenu) && + popupIFrame.gbInPopupMenu) { + return true; + }*/ + + if (!((popupIFrame.window.event != null) && + (popupIFrame.window.event.srcElement != null) && + ((popupIFrame.window.event.srcElement.tagName == "A") || + (popupIFrame.window.event.srcElement.tagName == "IMG")))) { + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; + } +} + + +//trace the mouse over's position for hotspot +function BSPSPopupOnMouseOver(event) +{ + if (gBsBrowser.ie4) { + window.gnPopupClickX = event.clientX + document.body.scrollLeft; + window.gnPopupClickY = event.clientY + document.body.scrollTop; + window.gnPopupScreenClickX = event.screenX; + window.gnPopupScreenClickY = event.screenY; + } else if (gBsBrowser.ns4) { + 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 (gBsBrowser.ns4) { + 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) + +var s_strAgent = navigator.userAgent.toLowerCase(); +var s_nVer = parseInt(navigator.appVersion); + +var s_bIE = (s_strAgent.indexOf('msie') != -1); +var s_bNS = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1)); +var s_bOpera = (s_strAgent.indexOf('opera') != -1); + +var s_bIE3Before = ((s_bIE) && (s_nVer <= 2)); +var s_bNS3Before = ((s_bNS) && (s_nVer <= 3)); + +var s_bNS2 = ((s_bNS) && (s_nVer <= 2)); +var s_bNS3 = ((s_bNS) && (s_nVer == 3)); +var s_bIE300301 = ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1))); +var s_bIE302 = ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1)); + + +function HasExtJs() +{ + if (s_bIE3Before) { return false;} + if (s_bNS3Before) { return false;} + if (typeof (BsGeneralOnLoad) == "undefined"){ return false; } + return true; +} + + +function BSSCCreatePopupDiv() +{ + return; +} + + +function WritePopupMenuLayer() +{ + if (HasExtJs()) {_WritePopupMenuLayer();} +} + +function BSSCPopup(strURL, width, height) +{ + if (HasExtJs()) { + _BSSCPopup(strURL, width, height); + }else{ + //Create a temporary window first to ensure the real popup comes up on top + var wndTemp = null; + if (!s_bNS3) { + 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 (!s_bNS3) { + wndTemp.close(); + } else { + wndPopup.focus(); + } + } +} + +var gbWndTemp = null, gbWndPopupLinks = null; +var gbstrParaTotal = ""; + +function PopupMenu_Invoke() +{ + if (HasExtJs()) { + return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); + } + if (s_bNS3Before || s_bIE3Before ) { + 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 (s_bNS2 || s_bOpera){ + strParaLine += "
" + strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; + strParaLine += ""; + } else { + strParaLine += ""); + if (s_bNS2 || s_bOpera) { + 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 (!s_bNS3 && 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( !CCSSP.bIsWinOS && !CCSSP.bIsSunOS) + return 0; + + if( typeof(el) == "string" ) + el = document.all.item(el); + + var src = el.getAttribute( "x-use-popup" ); + if(!src) + return 0; + + var name = src; + if( src.substr(0,1) == "#" ) + name = src.substr(1, src.length-1); + var srcDiv = document.all.item(name); + if( !srcDiv ) + return 1; + + var type = el.getAttribute( "x-popup-type" ); + var setup = el.getAttribute( "x-tmp-setup" ); + var newId = name; + if( newId.indexOf( "_tmp") <= 0 ) + newId += "_tmp"; + + if( !setup ) + { + el.setAttribute( "x-tmp-setup", 1 ); + + if( type == "pulldown" ) + { + var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + 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 + "
"; + + srcDiv.outerHTML = ""; // empty the original DIV tag + var elParentPra = kadovFindParentParagraph(el); + if( elParentPra ) + elParentPra.insertAdjacentHTML( "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 = ""; + srcDiv.outerHTML = ""; // empty the original DIV tag + el.insertAdjacentHTML( "AfterEnd", newSpan ); + } + } + return 0; +} + +function kadovTextPopup( el ) +{ + if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS) || (window.event == null) ) + return; + window.event.cancelBubble = true; + + if( typeof(el) == "string" ) + el = document.all.item(el); + + var src = el.getAttribute( "x-use-popup" ); + if(!src) + return; + + var name = src; + if( src.substr(0,1) == "#" ) + name = src.substr(1, src.length-1) + "_tmp"; + var srcDiv = document.all.item(name); + if( !srcDiv ) + return; + + var type = el.getAttribute( "x-popup-type" ); + var setup = el.getAttribute( "x-tmp-setup" ); + if( srcDiv ) + { + if( srcDiv.style.display == "" ) + srcDiv.style.display = "none"; + else + { + srcDiv.style.display = ""; + if( typeof(srcDiv.bInitialized) == "undefined" ) + { + srcDiv.bInitialized = true; + kadovInitEffects(name); + kadovInitEachChild(srcDiv); + } + } + } + return; +} + +function kadovFindParentParagraph( el ) +{ + if( typeof(el) == "string" ) + el = document.all.item(el); + if( (!el) || el.tagName == "BODY" ) + return null; + if( kadovIsParagraph(el.parentElement) ) + return el.parentElement; + else + return kadovFindParentParagraph( el.parentElement ); +} + +//Begin HTML code invoked function +function kadovRegisterEventHandler( obj, strEvent, strEventHandler ) +{ + if( !gbBsIE4 ) + return; + CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler ); +} + +function kadovTextPopupInit( el ) +{ + if( (!gbBsIE4) || (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS)) + return; + + if( typeof(el) == "string" ) + el = document.all.item(el); + if( el != null ) + { + CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(" + el.id +");" ); + CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(" + el.id +");" ); + } +} +//End HTML code invoked function + +//End to support extended and dropdown text effects. + +//Begin to convert iWrite format to RoboEditor Format for DHTML effects +function kadovInitTriggersInHead( ) +{ + if( Object.xDelayedInitElements ) + { + var x = Object.xDelayedInitElements; + for(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( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS ) || 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.strAgent = navigator.userAgent.toLowerCase(); +CCSSP.nAppVersion = parseInt(navigator.appVersion); + +CCSSP.bIsWinOS = ((CCSSP.strAgent.indexOf("win") >= 0) || (CCSSP.strAgent.indexOf("16bit") >= 0)); +CCSSP.bIsMacOS = (CCSSP.strAgent.indexOf("mac") >= 0); +CCSSP.bIsSunOS = (CCSSP.strAgent.indexOf("sunos") != -1); + +CCSSP.bIsIE = (navigator.appName.indexOf("Microsoft") >= 0); +CCSSP.bIsIE4 = (CCSSP.bIsIE && (CCSSP.nAppVersion >= 4)); +CCSSP.bIsIE5 = (CCSSP.bIsIE4 && (CCSSP.strAgent.indexOf("msie 5") != -1) ) + +CCSSP.bIsNav = (navigator.appName.indexOf("Netscape") >= 0); +CCSSP.bIsNav4 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 4)); +CCSSP.bIsNav6 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 5)); + +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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + obj.bgColor = color; + else + obj.style.backgroundColor = color; +} + +CCSSP.ShowObject = function(obj, bShow) +{// set the object to be visible or invisible + if( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + return obj.left; + else + return obj.style.pixelLeft; +} + +CCSSP.GetObjectTop = function(obj) +{// retrieve the y coordinate of a posionable object + if( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + 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( CCSSP.bIsNav4 ) + return obj.clip.height; + else + return obj.offsetHeight; +} + +CCSSP.GetObjectWidth = function(obj) +{// retrieve the width of a posionable object + if( CCSSP.bIsNav4 ) + 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 (CCSSP.bIsNav4 && !CCSSP.bIsNav6) + return ; + var oldHandler = ""; + if (CCSSP.bIsMacOS && CCSSP.bIsIE4) + { + if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") + { //search for + VISU refrence manual + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/visu_csh.html b/doc/salome/gui/VISU/visu_csh.html new file mode 100755 index 00000000..8ef91be4 --- /dev/null +++ b/doc/salome/gui/VISU/visu_csh.html @@ -0,0 +1,100 @@ + + +VISU refrence manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/visu_rhc.html b/doc/salome/gui/VISU/visu_rhc.html new file mode 100755 index 00000000..2f069516 --- /dev/null +++ b/doc/salome/gui/VISU/visu_rhc.html @@ -0,0 +1,100 @@ + + +VISU refrence manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/webhelp.cab b/doc/salome/gui/VISU/webhelp.cab new file mode 100755 index 00000000..14586089 Binary files /dev/null and b/doc/salome/gui/VISU/webhelp.cab differ diff --git a/doc/salome/gui/VISU/webhelp.jar b/doc/salome/gui/VISU/webhelp.jar new file mode 100755 index 00000000..d985cac1 Binary files /dev/null and b/doc/salome/gui/VISU/webhelp.jar differ diff --git a/doc/salome/gui/VISU/whestart.ico b/doc/salome/gui/VISU/whestart.ico new file mode 100755 index 00000000..110f1835 Binary files /dev/null and b/doc/salome/gui/VISU/whestart.ico differ diff --git a/doc/salome/gui/VISU/whfbody.htm b/doc/salome/gui/VISU/whfbody.htm new file mode 100755 index 00000000..300d23be --- /dev/null +++ b/doc/salome/gui/VISU/whfbody.htm @@ -0,0 +1,37 @@ + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whfdhtml.htm b/doc/salome/gui/VISU/whfdhtml.htm new file mode 100755 index 00000000..ec6c521f --- /dev/null +++ b/doc/salome/gui/VISU/whfdhtml.htm @@ -0,0 +1,30 @@ + + +Search Frame + + + + + + + + + diff --git a/doc/salome/gui/VISU/whfform.htm b/doc/salome/gui/VISU/whfform.htm new file mode 100755 index 00000000..e40b10b1 --- /dev/null +++ b/doc/salome/gui/VISU/whfform.htm @@ -0,0 +1,136 @@ + + +Search Form + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whfhost.js b/doc/salome/gui/VISU/whfhost.js new file mode 100755 index 00000000..a30564d4 --- /dev/null +++ b/doc/salome/gui/VISU/whfhost.js @@ -0,0 +1,916 @@ +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; + +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(); + return; + } + else{ + displayTopics(); + checkAgain(); + } +} + +function checkAgain() +{ + 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