home *** CD-ROM | disk | FTP | other *** search
/ com!online 2002 June / comonline0602.iso / software / cogitum / cociter.exe / CogitumH.___ / HTML / CTUTILS.JS < prev    next >
Encoding:
Text File  |  2001-08-08  |  12.6 KB  |  506 lines

  1.  
  2. L_Open_Dialog_Title = "Open";
  3. L_Import_Dialog_Title = "Import";
  4. L_Export_Dialog_Title = "Export";
  5.  
  6. L_ALL_FILES_FILTER = "All files|*.*";
  7. L_CITATES_EXT = "c-c";
  8. L_CITATES_FILTER = "Co-Citer files|*." + L_CITATES_EXT + "|" + L_ALL_FILES_FILTER;
  9. L_HTML_EXT = "htm"
  10. L_HTML_FILTER = "HTML files|*." + L_HTML_EXT + "|" + L_ALL_FILES_FILTER;
  11.  
  12. //Used by MoveToFolder dialog
  13. var cmtfFolderMove    = 1;
  14. var cmtfFragmentMove    = 2;
  15. var cmtfFolderImport    = 3;
  16. var cmtfFolderExport    = 4;
  17.  
  18. //Used by VisibilityOptions dialog
  19. var cvoDB = 1;
  20. var cvoHTMLExport = 2;
  21.  
  22. //Removes leading and ending white-space characters.
  23. //Replaces inner white-space characters by single space.
  24. //Replaces series of white-space characters by space.
  25. function fnRemoveWhiteSpaces( sString ) {
  26.     
  27.     var sTmp = fnStringRemoveOutterSpaces(sString);
  28.     sTmp = fnStringDelimiterSingleSpace(sTmp);
  29.     return sTmp;
  30. };
  31.  
  32. function fnSpecialRemoveWhiteSpaces(someText) {
  33.     someText = fnStringRemoveOutterSpaces(someText);
  34.  
  35.     someText = someText.replace(/\v{1,}/g, " ");
  36.     someText = someText.replace(/\t{1,}/g, " ");
  37.     someText = someText.replace(/\r{1,}/g, "\n");
  38.     someText = someText.replace(/\f{1,}/g, "\n");
  39.     someText = someText.replace(/ {2,}/g,  " ");
  40.     someText = someText.replace(/\n{2,}/g, "\n");
  41.     someText = someText.replace(/ \n/g, "\n");
  42.     someText = someText.replace(/\n +/g, "\n");
  43.     someText = someText.replace(/\n/g, "\r\n");
  44.  
  45.     return someText;
  46. };
  47.  
  48. function fnResizeDialogIfNotFit() {
  49.  
  50. /*
  51.     var dHeight = window.dialogHeight.slice(0, window.dialogHeight.length - 2);
  52.     var dWidth  = window.dialogWidth;
  53.  
  54.     //document.all.Cancel.
  55.     alert (dHeight.toString() + ":" + dWidth.toString());
  56.  
  57.     var dbHeight = document.body.clientHeight + document.body.clientTop;
  58.     var dbWidth  = document.body.clientWidth + document.body.clientLeft;
  59.  
  60.     alert (dbHeight.toString() + ":" + dbWidth.toString());
  61.  
  62.     var oCancel = document.all.Cancel;
  63.     var coTop   = 0;
  64.     var oRunner = oCancel;
  65.     while (oRunner != null) {
  66.         coTop += oRunner.offsetTop;
  67.     //    alert(oRunner.tagName + ":" + oRunner.offsetTop);
  68.         oRunner = oRunner.parentElement;
  69.     };
  70.     alert (coTop);
  71.  
  72.     var trCancel = oCancel.createTextRange();
  73.  
  74.     alert(trCancel.boundingTop + trCancel.boundingHeight);
  75.     var rcBounding = trCancel.getBoundingClientRect();
  76.     alert(rcBounding.top);
  77.     alert(rcBounding.bottom);
  78.  
  79. */
  80.     var oCancel = document.all.Cancel;
  81.     var trCancel = oCancel.createTextRange();
  82.     var rcBounding = trCancel.getBoundingClientRect();
  83.     var dHeight = parseInt(window.dialogHeight.slice(0, window.dialogHeight.length - 2));
  84.     var dWidth  = parseInt(window.dialogWidth.slice(0, window.dialogWidth.length - 2));
  85.     var dbHeight = document.body.clientHeight + document.body.clientTop;
  86.     var dbWidth  = document.body.clientWidth + document.body.clientLeft;
  87. //    alert(dHeight);
  88. //    alert(dbHeight);
  89. //    alert(rcBounding.bottom);
  90.     if (rcBounding.bottom + 5 > dbHeight) {
  91.         window.dialogHeight = (rcBounding.bottom +  
  92.             (rcBounding.bottom - rcBounding.top)
  93.             + dHeight - dbHeight).toString() + "px";
  94.     };
  95.  
  96.     if (rcBounding.right + 5 > dbWidth) {
  97.         window.dialogWidth = (rcBounding.right +
  98.             (rcBounding.bottom - rcBounding.top)
  99.             + dWidth - dbWidth).toString() + "px";
  100.     };
  101. };
  102.  
  103. function fnGetFolderTreeUIN() {
  104.     return fnGetTreeHolder().all.FoldersTree.GetCurrentNodeUIN();
  105. };
  106.  
  107. function fnShowWaitCursor() {
  108.     var AllFrames = top.frames;
  109.     for (i = 0; i < AllFrames.length; i++) {
  110.         var Holder = AllFrames.item(i).document.body.all.WaitCursorHolder;
  111.         if (Holder != null) {
  112.             Holder.runtimeStyle.display = "block";
  113.             if (Holder.src != null && Holder.src != "") {
  114.                 Holder.src = Holder.src;
  115.             };
  116.         };
  117.     };
  118. //    WaitCursorHolder.runtimeStyle.display = "block";
  119.     //document.recalc(false);
  120. };
  121. function fnHideWaitCursor() {
  122.     var AllFrames = top.frames;
  123.     for (i = 0; i < AllFrames.length; i++) {
  124.         var Holder = AllFrames.item(i).document.body.all.WaitCursorHolder;
  125.         if (Holder != null) {
  126.             Holder.runtimeStyle.display = "none";
  127.         };
  128.     };
  129. //    WaitCursorHolder.runtimeStyle.display = "none";
  130. };
  131. function fnNodeHasChildWithName(someNode, someName) {
  132.  
  133.     var sNewNameUppered = someName;
  134.     sNewNameUppered = sNewNameUppered.toUpperCase();
  135.  
  136.     var ctChildNodes = someNode.selectNodes("./CogTracker:ctNODE");
  137.     for (i = 0; i < ctChildNodes.length; i++) {
  138.         var sNodeNameUppered = ctChildNodes[i].getAttribute(cxbiAttName);
  139.         sNodeNameUppered = fnRemoveWhiteSpaces(sNodeNameUppered);
  140.         sNodeNameUppered = sNodeNameUppered.toUpperCase();
  141.  
  142.         if (sNodeNameUppered == sNewNameUppered) {
  143.             return true;
  144.         };
  145.     };
  146.  
  147.     return false;
  148. };
  149.  
  150. var go_ctlBrowser = new Object();
  151.  
  152. function fnBrowseForFile(someOldFileName, someDialogTitle, someExtension, someFilter,
  153.                 someShowSave, someNoCreatePrompt, someFileMustExist) {
  154.  
  155.     if (someExtension == null)
  156.         someExtension = L_CITATES_EXT;
  157.     if (someFilter == null) 
  158.         someFilter = L_CITATES_FILTER;
  159.     if (someDialogTitle == null)
  160.         someDialogTitle = "";
  161.  
  162.     go_ctlBrowser.FileName = "";
  163.     var sOldFileName = someOldFileName;
  164.  
  165.  
  166.     var cdlOFNCreatePrompt        = 0x00002000;
  167.     var cdlOFNOverwritePrompt    = 0x00000002;
  168.     var cdlOFNExplorer            = 0x00080000;
  169.     var cdlOFNHideReadOnly        = 0x00000004;
  170.     var cdlOFNLongNames            = 0x00200000;
  171.     var cdlOFNNoReadOnlyReturn    = 0x00008000;
  172.     var cdlOFNPathMustExist        = 0x00000800;
  173.     var cdlOFNFileMustExist        = 0x00001000;
  174.  
  175.     var nFlags =    
  176.                 cdlOFNExplorer |
  177.                 cdlOFNHideReadOnly | cdlOFNLongNames |
  178.                 cdlOFNNoReadOnlyReturn | cdlOFNPathMustExist;
  179.     if (someFileMustExist || ! someNoCreatePrompt) {
  180.         nFlags |= cdlOFNFileMustExist;
  181.     }
  182.     if (someNoCreatePrompt) {
  183.         nFlags &= ~cdlOFNFileMustExist;
  184.     }
  185.     else {
  186.         nFlags |= cdlOFNCreatePrompt;
  187.     };
  188.     var sInitDir = "";
  189.     try {
  190.         var fso = new ActiveXObject("Scripting.FileSystemObject");
  191.         sInitDir = fso.GetParentFolderName(sOldFileName);
  192.  
  193.     }
  194.     catch (err) {
  195.         sInitDir = "";
  196.     };
  197.  
  198.  
  199.     var bCancelled = false;
  200.     try {
  201.         if (someShowSave != null && someShowSave != false) {
  202.             nFlags |= cdlOFNOverwritePrompt;
  203.         };
  204.  
  205.         go_ctlBrowser.FileName = fnGetHelperObject().ShowBrowseDialogBox(
  206.                         (someShowSave == true), 
  207.                                                 someDialogTitle, someFilter, someExtension,
  208.                                                 sInitDir,
  209.                                                 nFlags);
  210.         if ( (go_ctlBrowser.FileName == null) || (go_ctlBrowser.FileName == "")) {
  211.             go_ctlBrowser.FileName = "";
  212.             bCancelled = true;
  213.         };
  214.  
  215.     }
  216.     catch (err) {
  217.         go_ctlBrowser.FileName = "";
  218.         bCancelled = true;
  219.     };
  220.  
  221.     return (!bCancelled);
  222.  
  223. /*
  224.     var ctlBrowser = fnGetBrowserObject();
  225.  
  226.  
  227.     var sOldFileName = someOldFileName;
  228.     var bCancelled = false;
  229.  
  230.     var cdlOFNCreatePrompt        = 0x00002000;
  231.         var cdlOFNOverwritePrompt        = 2
  232.     var cdlOFNExplorer            = 0x00080000;
  233.     var cdlOFNHideReadOnly        = 0x00000004;
  234.     var cdlOFNLongNames            = 0x00200000;
  235.     var cdlOFNNoReadOnlyReturn    = 0x00008000;
  236.     var cdlOFNPathMustExist        = 0x00000800;
  237.  
  238.     ctlBrowser.Flags =    cdlOFNCreatePrompt | cdlOFNExplorer |
  239.                 cdlOFNHideReadOnly | cdlOFNLongNames |
  240.                 cdlOFNNoReadOnlyReturn | cdlOFNPathMustExist;
  241.  
  242.  
  243.     ctlBrowser.Filter = someFilter;
  244.     ctlBrowser.DefaultExt = someExtension;
  245.     if (someDialogTitle != null)
  246.         ctlBrowser.DialogTitle = someDialogTitle;
  247.  
  248.     ctlBrowser.FileName = "";
  249.     
  250.  
  251.     try {
  252.         var fso = new ActiveXObject("Scripting.FileSystemObject");
  253.         ctlBrowser.InitDir = fso.GetParentFolderName(sOldFileName);
  254.  
  255.     }
  256.     catch (err) {
  257.     };
  258.     try {
  259.         if (someShowSave != null) {
  260.             ctlBrowser.Flags |= cdlOFNOverwritePrompt;
  261.             var res = ctlBrowser.ShowSave();
  262.         }
  263.         else {
  264.             var res = ctlBrowser.ShowOpen();
  265.         };
  266.     }
  267.     catch (err) {
  268.         bCancelled = true;
  269.     };
  270.  
  271.     return (!bCancelled);
  272. */
  273. };
  274.  
  275. //var gsSettingsPath = "C:\\CogTracker\\CTSettings.ccs";
  276. //var goCTSettings = null;
  277.  
  278. var ccsMachine = 0;
  279. var ccsUserOnly = 1;
  280. var ccsUserThenMachine = 2;
  281.  
  282. var ccsModule = "Citates";
  283.  
  284. //var ccsHolderName = "settings"
  285. var ccsStLastFile = "LastFile";
  286. var ccsStPreviousFile = "PreviousFile";
  287.  
  288. var ccsLeftPanePercent    = "LeftPanePercent";
  289. var ccsLeftPaneHidden    = "LeftPaneHidden";
  290.  
  291. var ccsSortBy        = "SortBy";
  292. var ccsSortDirection    = "SortDirection";
  293. var ccsWindowPos    = "WindowPos";
  294.  
  295. var ccsVHideFieldNames    = "VisibilityHideFieldNames";
  296. var ccsVShowTitle    = "VisibilityShowTitle";
  297. var ccsVShowDate    = "VisibilityShowDate";
  298. var ccsVShowText    = "VisibilityShowText";
  299. var ccsVShowComment    = "VisibilityShowComment";
  300. var ccsVShowURL        = "VisibilityShowURL";
  301.  
  302. var ccsHTMLVHideContents    = "HTMLVisibilityHideContents";
  303. var ccsHTMLVHideFieldNames    = "HTMLVisibilityHideFieldNames";
  304. var ccsHTMLVHideTitle        = "HTMLVisibilityHideTitle";
  305. var ccsHTMLVHideText        = "HTMLVisibilityHideText";
  306. var ccsHTMLVHideComment        = "HTMLVisibilityHideComment";
  307. var ccsHTMLVHideURL        = "HTMLVisibilityHideURL";
  308.  
  309. function fnLoadSettings() {
  310. /*
  311.     if (goCTSettings == null)
  312.         goCTSettings = fnCreateXMLctl();
  313.     if (goCTSettings == null)
  314.         return;
  315.         goCTSettings.load(gsSettingsPath);
  316.  
  317.  
  318.     var    ccsSettings = goCTSettings.selectSingleNode(ccsHolderName);
  319.     var bChanged = false;
  320.  
  321.     if (ccsSettings == null)    {
  322.         ccsSettings = goCTSettings.createElement(ccsHolderName);
  323.         
  324.         ccsSettings.text = "\n\t";
  325.  
  326.         //ccsSettings.setAttribute(cxbiAttTimeStamp, cxbiNoTimeStamp);
  327.  
  328.         goCTSettings.appendChild(ccsSettings);
  329.         
  330.         var xmlInstr = goCTSettings.createProcessingInstruction("xml", 'version="1.0" encoding="UTF-8"');
  331.         goCTSettings.insertBefore(xmlInstr, ccsSettings);
  332.  
  333.         bChanged = true;
  334.     };
  335.  
  336.            if (bChanged) {
  337.         goCTSettings.save(goCTSettings);
  338.     };
  339.  
  340. */
  341. };
  342.  
  343. function fnSaveSettings() {
  344. /*
  345.     if (goCTSettings == null)
  346.         return;
  347.     goCTSettings.save(gsSettingsPath);
  348. */
  349. };
  350.  
  351. function fnGetSetting(someSetting, someDefault, bIsNumeric) {
  352.     if (bIsNumeric == null)
  353.         bIsNumeric = false;
  354.  
  355. /*
  356.     var ccsSettings = goCTSettings.selectSingleNode(ccsHolderName);
  357.  
  358.     if (ccsSettings == null)
  359.         return someDefault;
  360.  
  361.     var aValue = ccsSettings.getAttribute(someSetting);
  362. */
  363.     var HelperObject = fnGetHelperObject();
  364.  
  365.     if (bIsNumeric) {
  366.         return HelperObject.RegistryDWORD(ccsModule, someSetting,
  367.             ccsUserThenMachine);
  368.                 
  369.     }
  370.     else {
  371.         var aValue = HelperObject.RegistryString(ccsModule, someSetting,
  372.             ccsUserThenMachine);
  373.  
  374.         if (aValue == "" || aValue == null)
  375.             return someDefault;
  376.         else 
  377.             return aValue;
  378.     };
  379.  
  380. /*
  381.     if (aValue == "" || aValue == null)
  382.         return someDefault;
  383.     if (bIsNumeric) {
  384.         var nValue = parseInt(aValue);
  385.         if (isNaN(nValue))
  386.             return someDefault;
  387.         else
  388.             return nValue;
  389.     }
  390.     else 
  391.         return aValue;
  392. */
  393. };
  394.  
  395. function fnSetSetting(someSetting, someValue, bIsNumeric) {
  396.  
  397.     if (bIsNumeric == null)
  398.         bIsNumeric = false;
  399.  
  400.     var HelperObject = fnGetHelperObject();
  401.  
  402.     if (bIsNumeric) {
  403.         HelperObject.RegistryDWORD(ccsModule, someSetting,
  404.             ccsUserThenMachine) = someValue;
  405.  
  406.     }
  407.     else {
  408.         HelperObject.RegistryString(ccsModule, someSetting,
  409.             ccsUserThenMachine) = someValue;
  410.     };
  411.     /*
  412.     var ccsSettings = goCTSettings.selectSingleNode(ccsHolderName);
  413.  
  414.     if (ccsSettings == null)
  415.         return;
  416.  
  417.     ccsSettings.setAttribute(someSetting, someValue);
  418.         */
  419. };
  420.  
  421. function fnAddHistorySetting(someSetting, someValue, someMax) {
  422.  
  423. //debugger;
  424.  
  425.     if (someMax == null || someMax == 0)
  426.         someMax = 5;
  427.     
  428.     var prevSettings = new Array(someMax);
  429.  
  430.     for (var i = 0; i < someMax; i++) {
  431.         prevSettings[i] =
  432.             fnGetSetting(someSetting + i.toString(), null, false);
  433.         if (prevSettings[i] == null) {
  434.             break;
  435.         };
  436.     };
  437.  
  438.     if (prevSettings[0] == someValue)
  439.         return;
  440.  
  441.     var nTotal = i;
  442.  
  443.     var bShifting = false;
  444.  
  445.     for (var i = 1; i < nTotal; i++) {
  446.         if (bShifting) {
  447.             prevSettings[i-1] = prevSettings[i];
  448.         };
  449.  
  450.         if (prevSettings[i] == someValue) {
  451.             bShifting = true;
  452.         };
  453.     };
  454.     if (bShifting)
  455.         nTotal --;
  456.  
  457.     if (nTotal >= someMax)
  458.         nTotal = someMax - 1;
  459.         
  460.     var newSettings = new Array(1);
  461.     newSettings[0] = someValue;
  462.     if (nTotal >= 0) {
  463.         prevSettings = prevSettings.slice(0, nTotal);
  464.         newSettings = newSettings.concat(prevSettings);
  465.     };
  466.     
  467.     nTotal = (newSettings.length); 
  468.  
  469.     for (var i = 0; i < nTotal; i++) {
  470.         fnSetSetting(someSetting + i.toString(), newSettings[i]);
  471.     };
  472.  
  473. };
  474.  
  475. function fnGetHistorySettings(someSetting, someMax) {
  476.  
  477. //debugger;
  478.  
  479.     if (someMax == null || someMax == 0)
  480.         someMax = 5;
  481.     
  482.     var currSettings = new Array(someMax);
  483.  
  484.     for (var i = 0; i < someMax; i++) {
  485.         currSettings[i] =
  486.             fnGetSetting(someSetting + i.toString(), null, false);
  487.         if (currSettings[i] == null) {
  488.             //i --;
  489.             break;
  490.         };
  491.     };
  492.  
  493.     var nTotal = i;
  494.         currSettings.length = nTotal;
  495.         return currSettings;
  496.  
  497. };
  498.  
  499. function fnShowTheHelp() {
  500.     
  501.     var sBasePath = fnGetHelperObject().GetBaseDirectory();
  502.     var sHelpPath = sBasePath + "\\" + "TCTHelp.chm";
  503.  
  504.     window.showHelp(sHelpPath);
  505. };
  506.