home *** CD-ROM | disk | FTP | other *** search
/ Adelphia Powerlink / adelphia-powerlink.iso / install / inc / outlook.js < prev    next >
Encoding:
JavaScript  |  2003-06-02  |  3.0 KB  |  89 lines

  1. var  MAIN_IDENTITY_REG_KEY = "SOFTWARE\\Microsoft\\Internet Account Manager\\Accounts\\";
  2.  
  3. function ssIsOutlookExpressInstalled()
  4. {
  5.   var oeRegVal = window.external.QueryRegValue("HKLM", "SOFTWARE\\Clients\\Mail\\Outlook Express\\", "");
  6.   if (oeRegVal == null || oeRegVal == "") return false;
  7.   else return true;
  8. }
  9.  
  10. function ssGetIdentities()
  11. {
  12.   var  strIdentities = window.external.QueryRegSubkeys("HKCU", "Identities");
  13.   return strIdentities.split(",");
  14. }
  15.  
  16. function ssGetIdentityDisplayName(identity)
  17. {
  18.   var regKey = "Identities\\" + identity;
  19.   return window.external.QueryRegValue("HKCU", regKey, "Username");
  20. }
  21.  
  22. function ssIsMainIdentity(identity)
  23. {
  24.   var displayName = ssGetIdentityDisplayName(identity);
  25.   if (displayName.toLowerCase() == "main identity") return true;
  26.   else return false;
  27. }
  28.  
  29. function ssGetNextAcctNum(identityRegKey)
  30. {
  31.   var   acctNum = 1;
  32.  
  33.   while (acctNum < 100)
  34.   {
  35.     // convert number to 8 char hex string (example: "00000001")
  36.     var   strAcctNum = acctNum.toString(16);
  37.     var   len = 8 - strAcctNum.length;
  38.  
  39.     for (var i = 0; i < len; i++)
  40.     {
  41.       strAcctNum = "0" + strAcctNum;
  42.     }
  43.  
  44.     // check registry if accout number already exists
  45.     var  regKey = identityRegKey + strAcctNum;
  46.     var  acctName = window.external.QueryRegValue("HKCU", regKey, "Account Name");
  47.     if (acctName == null || acctName == "") return strAcctNum;
  48.  
  49.     // account exists, increment account number
  50.     acctNum++;
  51.   }
  52.  
  53.   return "";
  54. }
  55.  
  56. function ssSetOEProfile(regKey, acctName, userName, userDisplayName, emailAddr, mailSvr, popSvr)
  57. {
  58.   window.external.SetRegValueByType("HKCU", regKey, "Account Name", 1, acctName);
  59.   window.external.SetRegValueByType("HKCU", regKey, "Connection Type", 4, 1);
  60.   window.external.SetRegValueByType("HKCU", regKey, "POP3 Prompt for Password", 4, 1);
  61.   window.external.SetRegValueByType("HKCU", regKey, "POP3 Server", 1, popSvr);
  62.   window.external.SetRegValueByType("HKCU", regKey, "POP3 User Name", 1, userName);
  63.   window.external.SetRegValueByType("HKCU", regKey, "SMTP Display Name", 1, userDisplayName);
  64.   window.external.SetRegValueByType("HKCU", regKey, "SMTP Email Address", 1, emailAddr);
  65.   window.external.SetRegValueByType("HKCU", regKey, "SMTP Server", 1, mailSvr);
  66. }
  67.  
  68. function ssCreateOEAccount(identity, acctName, userName, userDisplayName, emailAddr, mailSvr, popSvr)
  69. {
  70.   var   identityRegKey;
  71.   var   strAcctNum;
  72.   var   strRegKey;
  73.  
  74.   if (ssIsMainIdentity(identity)) identityRegKey = MAIN_IDENTITY_REG_KEY;
  75.   else identityRegKey = "Identities\\" + identity + "\\Software\\Microsoft\\Internet Account Manager\\Accounts\\";
  76.  
  77.   strAcctNum = ssGetNextAcctNum(identityRegKey);
  78.   if (strAcctNum != "")
  79.   {
  80.     var strAcctNumParsed = strAcctNum.slice(strAcctNum.length-2, strAcctNum.length);
  81.     strRegKey = identityRegKey + strAcctNum;
  82.     acctName += " (" + strAcctNumParsed + ")";
  83.     ssSetOEProfile(strRegKey, acctName, userName, userDisplayName, emailAddr, mailSvr, popSvr);
  84.     return true;
  85.   }
  86.  
  87.   return false;
  88. }
  89.