home *** CD-ROM | disk | FTP | other *** search
/ Online Praxis 1998 March / Image.iso / CD-ROM / NETSCAPE / CCK / ASE.Z / sltab.js < prev    next >
Encoding:
Text File  |  1997-08-21  |  7.8 KB  |  335 lines

  1. <!--  to hide script contents from old browsers
  2. var loaded = false;
  3.  
  4. function loadScript(fileName)
  5. {
  6.  
  7.     var FormName = "NCISCRIPTEDLOGIN";
  8.     
  9.     dirty(false);
  10.     
  11.     if ((fileName != null) && (fileName != ""))
  12.     {
  13.         parent.parent.iasglobals.setText(FormName, "ScriptFileName", fileName);
  14.         var theScript = parent.parent.iasglobals.GetNameValuePair(fileName, null, null);
  15.         if ((theScript != null))
  16.         {
  17.             parent.parent.iasglobals.setText(FormName, "LOGINSCRIPT", theScript);
  18.             //parent.parent.iasglobals.setGlobal("ScriptEnabled", "yes");
  19.  
  20.         }
  21.         else
  22.             parent.parent.iasglobals.setText(FormName, "LOGINSCRIPT", "");
  23.     }
  24.     else
  25.     {
  26.         fileName = "";
  27.         parent.parent.iasglobals.setText(FormName, "ScriptFileName", "");
  28.         parent.parent.iasglobals.setText(FormName, "LOGINSCRIPT", "");
  29.         //parent.parent.iasglobals.setGlobal("ScriptEnabled", "no");
  30.         parent.parent.iasglobals.setGlobal("ScriptFileName", "");
  31.     }    
  32.     parent.parent.iasglobals.setSelectList(FormName, "SCPList", fileName);
  33. }
  34.  
  35. function loadData()
  36. {
  37.     if (parent.parent.iasglobals && parent.parent.iasglobals.getText)
  38.     {
  39.         var FormName = "NCISCRIPTEDLOGIN";
  40.         var selectedScript = "";
  41.         
  42.         parent.parent.iasglobals.fillSelectListWithConfigFiles(FormName, "SCPList", ".SCP", true);
  43.         selectedScript = parent.parent.iasglobals.getGlobal("ScriptFileName");
  44.         
  45.         loadScript(selectedScript);
  46.     
  47.         this.focus();
  48.         document.forms[0]["SCPList"].focus();
  49.         loaded = true;
  50.     }
  51.     else
  52.         setTimeout("loadData()",500);
  53. }//function loadData()
  54.  
  55.  
  56. function checkData()
  57. {
  58.     return true;
  59. }
  60.  
  61. function saveData()
  62. {
  63.     if (loaded && loaded == true)
  64.     {
  65.         var FormName     = "NCISCRIPTEDLOGIN";
  66.         var save = null;
  67.     
  68.         if (dirty(null))
  69.         {
  70.             if( confirm("You have made changes to the login script without saving.  Would you like to save them?"))
  71.                 save = saveNewOrOldScript();
  72.         }
  73.     
  74.         //now check if we have a valid script file selected & set the globals accordingly
  75.         if (save == null)
  76.         {
  77.             save  = parent.parent.iasglobals.getSelectListSelection(FormName, "SCPList");
  78.             if ((save == "_new_") || (save == ""))
  79.                 save = null;    
  80.         }
  81.     
  82.         if (save != null)
  83.         {
  84.             parent.parent.iasglobals.setGlobal("ScriptFileName", save);
  85.             //parent.parent.iasglobals.setGlobal("ScriptEnabled", "yes");
  86.         }
  87.         else
  88.         {
  89.             parent.parent.iasglobals.setGlobal("ScriptFileName", "");
  90.             //parent.parent.iasglobals.setGlobal("ScriptEnabled", "no");
  91.         }
  92.     }
  93. }
  94.  
  95.  
  96. function forceSCPSuffix()
  97. {
  98.     var FormName     = "NCISCRIPTEDLOGIN";
  99.  
  100.     var fName = "";
  101.     
  102.     fName = suggestSCPFileName(null);
  103.  
  104.     parent.parent.iasglobals.setText(FormName, "ScriptFileName", fName);
  105.     
  106.     return fName;
  107. }
  108.  
  109.  
  110. function suggestSCPFileName(inFName)
  111. {
  112.     
  113.     parent.parent.iasglobals.debug("I'm in forceSCPsuffix");
  114.  
  115.     var FormName     = "NCISCRIPTEDLOGIN";
  116.     var fname        = "";
  117.     
  118.     if ((inFName == null) || (inFName == ""))
  119.         fname = parent.parent.iasglobals.getText(FormName, "ScriptFileName");
  120.     else
  121.         fname = inFName;
  122.         
  123.     var outName = "";
  124.     
  125.     if ((fname != null) && (fname != ""))
  126.     {
  127.     
  128.         var len     =     fname.length;
  129.         var finLen    =    0;
  130.  
  131.         if (fname.substring(len-4, len) == ".SCP")
  132.             len -= 4;
  133.         
  134.         for (var i = 0; i < len; i++)
  135.         {
  136.             if (isAlphaNumeric(fname.charAt(i)))
  137.             {
  138.                 outName = outName + fname.charAt(i);
  139.                 finLen++;
  140.             }
  141.             if (finLen >= 8)
  142.                 break;
  143.         }
  144.         fname = (outName + ".SCP");             
  145.     }
  146.     else 
  147.         fname = "";
  148.     return fname;
  149. }
  150.  
  151. function dirty(inDirt)
  152. {
  153.  
  154.     //parent.parent.iasglobals.debug("I'm in dirty");
  155.  
  156.     var isDirty = parent.parent.iasglobals.getGlobal("ScriptDirty");
  157.     
  158.     if ((inDirt != null) && (inDirt == true))
  159.         parent.parent.iasglobals.setGlobal("ScriptDirty", "yes");
  160.     else if ((inDirt != null) && (inDirt == false))
  161.         parent.parent.iasglobals.setGlobal("ScriptDirty", "no");
  162.         
  163.     if ((isDirty != null) && (isDirty == "yes"))
  164.         return true;
  165.     else 
  166.         return false;
  167. }
  168.  
  169. function saveScript()
  170. {
  171.     //parent.parent.iasglobals.debug("I'm in savescript");
  172.     var FormName = "NCISCRIPTEDLOGIN";
  173.  
  174.     var saveScriptName = null;
  175.     
  176.     saveScriptName = saveNewOrOldScript();
  177.     //alert("SaveScriptName: " + saveScriptName);
  178.     
  179.     if ((saveScriptName != null) && (saveScriptName != ""))        
  180.     {        
  181.         parent.parent.iasglobals.fillSelectListWithConfigFiles(FormName, "SCPList", ".SCP", false);
  182.         parent.parent.iasglobals.setSelectList(FormName, "SCPList", saveScriptName);
  183.         loadScript(saveScriptName);
  184.     }
  185. }
  186.  
  187.  
  188.  
  189. function saveNewOrOldScript()
  190. {
  191.     var FormName = "NCISCRIPTEDLOGIN";
  192.     var theScriptFileName = parent.parent.iasglobals.getText(FormName, "ScriptFileName");
  193.     var selScriptFileName = parent.parent.iasglobals.getSelectListSelection(FormName, "SCPList");
  194.     var theScript = parent.parent.iasglobals.getText(FormName, "LOGINSCRIPT");
  195.     var save = null;
  196.     var endFileName = "";
  197.     
  198.     
  199.     //case 1: if the script is an existing script, save without asking
  200.     if ((selScriptFileName != null) && (selScriptFileName != "") && (selScriptFileName == theScriptFileName))
  201.         save = true;
  202.     //case 2: if a new script is there and has not been selected, ask for a fileName
  203.     // OR if a filename has been entered, check against existing fileNames
  204.     else if ((theScript != null) && (theScript != ""))
  205.     {
  206.         theScriptFileName = askSCPFileName(theScriptFileName);
  207.         if ((theScriptFileName != null) && (theScriptFileName != ""))
  208.             save = true;
  209.     }
  210.  
  211.     if ((save != null) && (save == true))        
  212.     {        
  213.         dirty(false);
  214.         parent.parent.iasglobals.saveNewConfigFile(theScriptFileName, theScript, false);
  215.     }
  216.  
  217.     if (save == true)
  218.         return    theScriptFileName;
  219.     else
  220.         return null;
  221. }
  222.  
  223. function checkIfSCPFileExists(inFileName)
  224. {
  225.     var outValue = false;
  226.     
  227.     if ((inFileName != null) && (inFileName != ""))
  228.     {    
  229.         fileList = parent.parent.iasglobals.getFileListFromConfigFolder(".SCP");
  230.         
  231.         if (fileList != null)    
  232.         {
  233.             for (var i=0; i<fileList.length; i++)    
  234.             {
  235.                 if (fileList[i] == inFileName)
  236.                     outValue = true;
  237.             }
  238.         }
  239.     }
  240.     return outValue;
  241. }
  242.  
  243.  
  244. function askSCPFileName(inFileName)
  245. {
  246.     var save     =     null;
  247.     var sName     =     inFileName;
  248.     var fName    =     null;
  249.     
  250.     //now, if there no fileName, suggest an SCP fileName, prompt for confirmation
  251.     //parent.parent.iasglobals.debug( "about to suggest..." );
  252.     while (save == null)
  253.     {
  254.         parent.parent.iasglobals.debug( "in that while loop..." );
  255.         
  256.         if ((!sName) || (sName == null) || (sName == ""))
  257.         {
  258.             var sgName = suggestSCPFileName(fName);
  259.             fName = prompt("Enter the file name for this script (must end with .SCP)", sgName);
  260.             
  261.             //if they entered an improper suffix, prompt again, and again
  262.             while ((fName != null) && (fName.substring(fName.length-4, fName.length)  != ".SCP"))
  263.             {
  264.                 sgName = suggestSCPFileName(fName);
  265.                 fName = prompt("Enter the file name for this script (must end with .SCP)", sgName);
  266.             }
  267.         }
  268.         else
  269.             fName = sName;
  270.         
  271.         // if the name exists, prompt to replace
  272.         
  273.         if ((fName != null) && (checkIfSCPFileExists(fName)))
  274.         {
  275.             var conf = confirm("The file: " + fName + " already exists.  Replace?");
  276.             if (conf)
  277.             { 
  278.                 save = true
  279.             }
  280.             else
  281.             {
  282.                 sName = null;
  283.                 save = null;
  284.             }
  285.         }
  286.         else if(fName != null)
  287.         {
  288.             //fileName doesn't exist - we can save
  289.             save = true;
  290.         }
  291.         else
  292.         {
  293.             //user canceled - name = null
  294.             save = false;        
  295.         }
  296.     }
  297.     
  298.     //now save the file if the user didn't cancel
  299.     if (save == true)
  300.     {
  301.         //return fileName
  302.         return fName;
  303.     }
  304.     else
  305.     {
  306.         //alert("Could not save this configuration because you did not provide a Name");
  307.         return null;
  308.     }
  309. }
  310.  
  311. function isAlphaNumeric(inLetter)
  312. {
  313.  
  314.     var outValue = false;
  315.     
  316.     if ((inLetter != null) && (inLetter != ""))
  317.     {
  318.  
  319.         if (!isNaN(parseInt(inLetter)))
  320.             outValue = true;
  321.         else
  322.         {
  323.             var let = inLetter.toLowerCase();
  324.             if ((let <= "z") && ( let >= "a"))
  325.                 outValue = true;
  326.             else if (let == "_")
  327.                 outValue = true;
  328.         }
  329.     }
  330.     return outValue;
  331. }
  332.  
  333.  
  334. // end hiding contents from old browsers  -->
  335.