home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / utils / tiny_firewall / tpf5.exe / Tiny Personal Firewall 5.0.msi / labellist.js < prev    next >
Encoding:
Text File  |  2003-07-04  |  2.4 KB  |  82 lines

  1. var    HTML_SELECT_HEADER = '<SELECT ',
  2.     HTML_SELECT_TRAILER = '></SELECT>',
  3.     HTML_OPTION_HEADER = '<OPTION value="',
  4.     HTML_OPTION_TRAILER = '</OPTION>';
  5.  
  6. var    AT_LABEL = 0,
  7.     AT_DEFINITION = 1;
  8.  
  9. function AddAllLabels(list, arrLabelTypes, strAppSelected)
  10. {
  11.     var strLabelList = "";
  12.     list.moveFirst();
  13.        while (!list.atEnd())
  14.        {
  15.         //add option to array
  16.  
  17.         var label = list.item().LabelID;
  18.         strLabelList += HTML_OPTION_HEADER + label + '"';
  19.         if (label == strAppSelected)
  20.             strLabelList += ' selected';
  21.         strLabelList += '>' + label + HTML_OPTION_TRAILER;
  22.         arrLabelTypes[arrLabelTypes.length] = AT_LABEL;
  23.           list.moveNext();                 //Get next exception
  24.        }
  25.     return strLabelList;
  26. }
  27.  
  28. function AddAllGroups(list, strAppSelected)
  29. {
  30.     var strGrList = "";
  31.     list.moveFirst();
  32.        while (!list.atEnd())
  33.        {
  34.         //add option to array
  35.         var id = list.item().AppGroupID;
  36.         var strGroupOption = HTML_OPTION_HEADER + id + '"';
  37.         if (id == strAppSelected)
  38.             strGroupOption += ' selected';
  39.         strGroupOption +=  '>' + id + HTML_OPTION_TRAILER;
  40.         strGrList += strGroupOption;
  41.         arrLabelTypes[arrLabelTypes.length]  = AT_DEFINITION;
  42.           list.moveNext();                 //Get next exception
  43.        }
  44.     return strGrList;
  45. }
  46.  
  47. function AddAsterisk(strSelectedLabel)
  48. {
  49.     var ret = HTML_OPTION_HEADER + '*"';
  50.     if (strSelectedLabel == "*")
  51.         ret += ' selected';
  52.     ret += '>*' + HTML_OPTION_TRAILER;
  53.     arrLabelTypes[arrLabelTypes.length]  = AT_LABEL;
  54.     return ret;
  55. }
  56.  
  57.  
  58. function GenerateLabelList(strSelectedLabel)
  59. {
  60.     arrLabelTypes = new Array();
  61.  
  62.     strLabelList =     AddAsterisk(strSelectedLabel);
  63.     strLabelList += AddAllLabels(new Enumerator(ServerAppParser.LabelList), arrLabelTypes, strSelectedLabel);
  64.     strLabelList += AddAllGroups(new Enumerator(ServerAppParser.AppGroupList), arrLabelTypes, strSelectedLabel);
  65.     if (ClientAppParser != null)
  66.     {
  67.         strLabelList += AddAllLabels(new Enumerator(ClientAppParser.LabelList), arrLabelTypes, strSelectedLabel);
  68.         strLabelList += AddAllGroups(new Enumerator(ClientAppParser.AppGroupList), arrLabelTypes, strSelectedLabel);
  69.     }
  70.     return strLabelList;    
  71.  
  72. }
  73.  
  74. function GetLabelListHtmlStr(id, strSelectedLabel, index)
  75. {
  76.     var str = HTML_SELECT_HEADER + 'id="' + id + '" ' +
  77.             'OnChange="OnAppChange(' + id + ',' + index + ', this.value);">' 
  78.             + GenerateLabelList(strSelectedLabel) + HTML_SELECT_TRAILER;
  79.     return str;
  80. }
  81.  
  82.