home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / INTERNET / COMMUNIC / AS.Z / useAcct.js < prev    next >
Encoding:
Text File  |  1998-01-22  |  12.0 KB  |  307 lines

  1. <!--  to hide script contents from old browsers
  2.  
  3.  
  4.  
  5. function go(msg)
  6. {
  7.     if (parent.parent.globals.document.vars.editMode.value == "yes")    {
  8.         return(true);
  9.         }
  10.     else    {
  11.         return(checkData());
  12.         }
  13. }
  14.  
  15.  
  16.  
  17. function checkData()
  18. {
  19.     var theIndex = document.forms[0].providerlist.selectedIndex;
  20.     if (theIndex < 0)    {
  21.         alert("Please select from the list before continuing.");
  22.         parent.parent.globals.setFocus(document.forms[0].providerlist);
  23.         return(false);
  24.         }
  25.     var theProviderName = document.forms[0].providerlist.options[theIndex].text;
  26.     var theProviderFilename = document.forms[0].providerlist.options[theIndex].value;
  27.     if (theProviderFilename == "")    {
  28.         theProviderName = "";
  29.         parent.parent.globals.debug("User chose none of the above.");
  30.         }
  31.     else    {
  32.         parent.parent.globals.debug("ISP Name: " + theProviderName);
  33.         parent.parent.globals.debug("ISP Filename: " + theProviderFilename);
  34.         }
  35.     return(true);
  36. }
  37.  
  38.  
  39.  
  40. function loadData()
  41. {
  42.     // make sure all data objects/element exists and valid; otherwise, reload.
  43.  
  44.     if ((document.forms[0].providerlist == "undefined") || (document.forms[0].providerlist == "[object InputArray]"))    {
  45.         parent.controls.reloadDocument();
  46.         return;
  47.         }
  48.  
  49.     parent.parent.globals.setFocus(document.forms[0].providerlist);
  50.     if (parent.controls.generateControls)    parent.controls.generateControls();
  51. }
  52.  
  53.  
  54.  
  55. function saveData()
  56. {
  57.     netscape.security.PrivilegeManager.enablePrivilege("AccountSetup");
  58.  
  59.     // make sure all data objects/element exists and valid; otherwise, reload.
  60.  
  61.     if ((document.forms[0].providerlist == "undefined") || (document.forms[0].providerlist == "[object InputArray]"))    {
  62.         parent.controls.reloadDocument();
  63.         return;
  64.         }
  65.  
  66.     var theFile = parent.parent.globals.getAcctSetupFilename(self);
  67.     var intlFlag = parent.parent.globals.GetNameValuePair(theFile,"Mode Selection","IntlMode");
  68.     if (intlFlag != null && intlFlag != "")    {
  69.         intlFlag = intlFlag.toLowerCase();
  70.         }
  71.  
  72.     var theProviderName = "";
  73.     var theProviderFilename = "";
  74.     if (document.forms[0].providerlist.selectedIndex >=0)    {
  75.         theProviderName = document.forms[0].providerlist.options[document.forms[0].providerlist.selectedIndex].text;
  76.         theProviderFilename = document.forms[0].providerlist.options[document.forms[0].providerlist.selectedIndex].value;
  77.         if (theProviderFilename == "")    {
  78.             theProviderName = "";
  79.             }
  80.         }
  81.     parent.parent.globals.document.vars.providername.value = theProviderName;
  82.     parent.parent.globals.document.vars.providerFilename.value = theProviderFilename;
  83.  
  84.     // clear fields before reading in data from .NCI file
  85.     
  86.     parent.parent.globals.document.vars.accountAreaCode.value = "";
  87.     parent.parent.globals.document.vars.accountPhoneNumber.value = "";
  88.     parent.parent.globals.document.vars.domainName.value = "";
  89.     parent.parent.globals.document.vars.primaryDNS.value = "";
  90.     parent.parent.globals.document.vars.secondaryDNS.value = "";
  91.     parent.parent.globals.document.vars.ipAddress.value = "";
  92.     parent.parent.globals.document.vars.SMTP.value = "";
  93.     parent.parent.globals.document.vars.mailServer.value = "";
  94.     parent.parent.globals.document.vars.mailProtocol.value = "";
  95.     parent.parent.globals.document.vars.NNTP.value = "";
  96.     parent.parent.globals.document.vars.publishURL.value = "";
  97.     parent.parent.globals.document.vars.publishPassword.value = "";
  98.     parent.parent.globals.document.vars.viewURL.value = "";
  99.     parent.parent.globals.document.vars.scriptEnabled.value = "";
  100.     parent.parent.globals.document.vars.scriptFile.value = "";
  101.     parent.parent.globals.document.vars.lckFilename.value = "";
  102.  
  103.     var data="";
  104.     if (theProviderFilename != "")    {
  105.         
  106.         // read default values from selected .NCI file
  107.  
  108.         data = "" + parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Dial-In Configuration","Phone");
  109.         if (data != null && data != "")    {
  110.             parent.parent.globals.document.vars.accountAreaCode.value = "";
  111.             parent.parent.globals.document.vars.accountPhoneNumber.value = data;
  112.             if (intlFlag != "yes")    {
  113.                 var x = data.indexOf("(");
  114.                 if (x>=0)    {
  115.                     var y = data.indexOf(")");
  116.                     if (y>x)    {
  117.                         var areaCode = data.substring(x+1,y);
  118.                         data = data.substring(y+1,data.length);
  119.                         if (data.charAt(0) == ' ')    {
  120.                             data = data.substring(1,data.length);
  121.                             }
  122.                         parent.parent.globals.document.vars.accountAreaCode.value = areaCode;
  123.                         parent.parent.globals.document.vars.accountPhoneNumber.value = data;
  124.                         }
  125.                     }
  126.                 }
  127.             }
  128.  
  129.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"IP","DomainName");
  130.         parent.parent.globals.debug("ISP DomainName: " + data);
  131.         parent.parent.globals.document.vars.domainName.value = data;
  132.  
  133.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"IP","DNSAddress");
  134.         parent.parent.globals.debug("ISP DNSAddress: " + data);
  135.         parent.parent.globals.document.vars.primaryDNS.value = data;
  136.  
  137.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"IP","DNSAddress2");
  138.         parent.parent.globals.debug("ISP DNSAddress2: " + data);
  139.         parent.parent.globals.document.vars.secondaryDNS.value = data;
  140.  
  141.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"IP","IPAddress");
  142.         parent.parent.globals.debug("ISP IPAddress: " + data);
  143.         parent.parent.globals.document.vars.ipAddress.value = data;
  144.  
  145.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","SMTP_Server");
  146.         parent.parent.globals.debug("ISP smtpHost: " + data);
  147.         parent.parent.globals.document.vars.SMTP.value = data;
  148.  
  149.         parent.parent.globals.document.vars.mailServer.value = "";
  150. /*
  151.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","POP_Server");
  152.         parent.parent.globals.debug("ISP popHost: " + data);
  153.         parent.parent.globals.document.vars.POP.value = data;
  154.  
  155.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","IMAP_Server");
  156.         parent.parent.globals.debug("ISP imapHost: " + data);
  157.         parent.parent.globals.document.vars.IMAP.value = data;
  158. */
  159.  
  160.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","Default_Mail_Protocol");
  161.         parent.parent.globals.debug("ISP Default_Mail_Protocol: " + data);
  162.         parent.parent.globals.document.vars.mailProtocol.value = data;
  163.  
  164.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","NNTP_Server");
  165.         parent.parent.globals.debug("ISP nntpHost: " + data);
  166.         parent.parent.globals.document.vars.NNTP.value = data;
  167.  
  168. /*
  169.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services","NUM_LDAP_Servers");
  170.         if (data != null && data != "")    {
  171.             var numLDAPHosts = parseInt(data);
  172.             if (numLDAPHosts>0)    {
  173.                 var LDAPdata = "";
  174.                 for (var x=1; x<=numLDAPHosts; x++)    {
  175.                     var theLDAPstring = "LDAP_Server_" + x;
  176.                     data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Services",theLDAPstring);
  177.                     if (data != null && data != "")    {
  178.                         parent.parent.globals.debug("ISP LDAP_Server_" + x + ": " + data);
  179.                         LDAPdata += data + "\r";
  180.                         }
  181.                     }
  182.                 parent.parent.globals.document.vars.LDAP.value = LDAPdata;
  183.                 }
  184.             }
  185. */
  186.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Publishing","Publish_URL");
  187.         parent.parent.globals.debug("ISP Publish_URL: " + data);
  188.         parent.parent.globals.document.vars.publishURL.value = data;
  189.  
  190.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Publishing","Publish_Password");
  191.         parent.parent.globals.debug("ISP Publish_Password: " + data);
  192.         parent.parent.globals.document.vars.publishPassword.value = data;
  193.  
  194.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Publishing","View_URL");
  195.         parent.parent.globals.debug("ISP View_URL: " + data);
  196.         parent.parent.globals.document.vars.viewURL.value = data;
  197.     
  198.         // scripting support
  199.     
  200.         var theScriptFile = "";
  201.         var theScriptEnabledFlag = "FALSE";
  202.         data = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Script","ScriptEnabled");
  203.         if (data != null && data != "")    {
  204.             data = data.toLowerCase();
  205.             }
  206.         if (data == "yes")    {
  207.             theScriptFile = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Script","ScriptFileName");
  208.             if (theScriptFile != null && theScriptFile != "")    {
  209.                 theScriptEnabledFlag = "TRUE";
  210.                 theScriptFile = parent.parent.globals.getConfigFolder(self) + theScriptFile;
  211.                 parent.parent.globals.debug("ISP ScriptFileName: " + theScriptFile);
  212.                 }
  213.             }
  214.         parent.parent.globals.document.vars.scriptEnabled.value = theScriptEnabledFlag;
  215.         parent.parent.globals.document.vars.scriptFile.value = theScriptFile;
  216.     
  217.         // profile lockfile support
  218.         
  219.         parent.parent.globals.document.vars.lckFilename.value = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Configuration","ConfigurationFileName");
  220.         }
  221. }
  222.  
  223.  
  224.  
  225. function ISP(theProviderFilename,name)
  226. {
  227.     this.theProviderFilename=theProviderFilename;
  228.     this.name=name;
  229. }
  230.  
  231.  
  232.  
  233. function ISPcompare(a,b)
  234. {
  235.     if (a.name < b.name)    return(-1);
  236.     else if (a.name == b.name)    return(0);
  237.     return(1);
  238. }
  239.  
  240.  
  241.  
  242. function generateISPList()
  243. {
  244.     netscape.security.PrivilegeManager.enablePrivilege("AccountSetup");
  245.  
  246.     for (x=document.forms[0].providerlist.length; x>=0; x--)    {
  247.         document.forms[0].providerlist[x]=null;
  248.         }
  249.  
  250.     var theAcctSetupFile = parent.parent.globals.getAcctSetupFilename(self);
  251.     var showPhonesFlag = parent.parent.globals.GetNameValuePair(theAcctSetupFile,"Existing Acct Mode","ShowPhones");
  252.     if (showPhonesFlag != null && showPhonesFlag != "")    {
  253.         showPhonesFlag = showPhonesFlag.toLowerCase();
  254.         }
  255.  
  256.     var pathName = parent.parent.globals.getConfigFolder(self);
  257.     var theList = parent.parent.globals.document.setupPlugin.GetFolderContents(pathName,".NCI");
  258.  
  259.     if (theList != null)    {
  260.         parent.parent.globals.debug("GetFolderContents returned " + theList.length + " items");
  261.  
  262.         var ISParray = new Array();
  263.         for (var i=0,j=0; i<theList.length; i++)    {
  264.             var theProviderFilename = pathName + theList[i];
  265. //            parent.parent.globals.debug("theProviderFilename " + i + ": " +theProviderFilename);
  266.  
  267.             var name="";
  268.             if (showPhonesFlag == "yes")    {
  269.                 name = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Dial-In Configuration","Phone");
  270.                 }
  271.             if (name==null || name=="")    {
  272.                 var name = parent.parent.globals.document.setupPlugin.GetNameValuePair(theProviderFilename,"Dial-In Configuration","SiteName");
  273.                 }
  274.  
  275.             if (theProviderFilename!=null && theProviderFilename!="" && name!=null && name!="")    {
  276.                 ISParray[j++]=new ISP(theProviderFilename,name);
  277.                 }
  278.             }
  279.  
  280.         // un-comment the following line to sort the ISP array
  281.         // Note: for large (more than a dozen or so) lists, this is AMAZINGLY slow
  282.         // (unsorted data takes seconds; sorted data can take more than a minute)
  283.  
  284. //        ISParray.sort(ISPcompare);
  285.  
  286.         for (var x=0; x<ISParray.length; x++)    {
  287.             var y = document.forms[0].providerlist.length;
  288.             document.forms[0].providerlist.options[y] = new Option(ISParray[x].name,ISParray[x].theProviderFilename,false,false);
  289.             document.forms[0].providerlist.options[y].selected = ((ISParray[x].name == parent.parent.globals.document.vars.providername.value) ? true:false);
  290.             }
  291.  
  292.         var showNoneAboveFlag = parent.parent.globals.document.setupPlugin.GetNameValuePair(theAcctSetupFile,"Existing Acct Mode","ShowNoneAbove");
  293.         if (showNoneAboveFlag != null && showNoneAboveFlag != "")    {
  294.             showNoneAboveFlag = showNoneAboveFlag.toLowerCase();
  295.             }
  296.         if (showNoneAboveFlag != "no")    {
  297.             x = document.forms[0].providerlist.options.length;
  298.             document.forms[0].providerlist.options[x] = new Option("(None of the above)","",false,false);
  299.             document.forms[0].providerlist.options[x].selected = false;
  300.             }
  301.         }    
  302. }
  303.  
  304.  
  305.  
  306. // end hiding contents from old browsers  -->
  307.