home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Theme / 8GadgetPack / 8GadgetPackSetup.msi / timeZones.js_2 < prev    next >
Text (UTF-16)  |  2012-05-19  |  10KB  |  192 lines

  1. ////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // THIS CODE IS NOT APPROVED FOR USE IN/ON ANY OTHER UI ELEMENT OR PRODUCT COMPONENT.
  4. // Copyright (c) 2009 Microsoft Corporation. All rights reserved.
  5. //
  6. ////////////////////////////////////////////////////////////////////////////////
  7. var e = new Array();
  8. var eItem = 0;
  9. var eZone = 1;
  10. var eOffset = 2;
  11.  
  12. var zones = null;
  13. var zonesCount = 0;
  14. ////////////////////////////////////////////////////////////////////////////////
  15. //
  16. // update time zones
  17. //
  18. ////////////////////////////////////////////////////////////////////////////////
  19. function updateTimeZones(sortName)
  20. {
  21.     zones = System.Time.timeZones;
  22.     zonesCount = zones.count;
  23.     
  24.     if (sortName)
  25.     {
  26.         var zoneArray = new Array();
  27.         
  28.         for (var i = 0; i < zonesCount; i++)
  29.         {
  30.             zoneArray[i] = [i, zones.item(i).displayName, zones.item(i).bias];
  31.         }
  32.  
  33.         var zoneArrayTemp1 = [];
  34.         zoneArrayTemp1.push(zoneArray[0]);
  35.         
  36.         for (var i = 1; i < zoneArray.length; i++)
  37.         {
  38.             for (var j = 0; j < zoneArrayTemp1.length; j++)
  39.             {
  40.                 if (zoneArray[i][eOffset] >= zoneArrayTemp1[j][eOffset])
  41.                 {
  42.                     for (var k = zoneArrayTemp1.length - 1; k >= j; k--)
  43.                     {
  44.                         zoneArrayTemp1[k + 1] = zoneArrayTemp1[k];
  45.                     }
  46.                     
  47.                     zoneArrayTemp1[j] = zoneArray[i];
  48.                     
  49.                     if (zoneArrayTemp1[j + 1][eOffset] == zoneArrayTemp1[j][eOffset])
  50.                     {
  51.                         var tempArray1 = [];
  52.                         var tempArray2 = [];
  53.                         
  54.                         for (var l = j; l < zoneArrayTemp1.length; l++)
  55.                         {
  56.                             if (zoneArrayTemp1[j][eOffset] != zoneArrayTemp1[l][eOffset])
  57.                             {
  58.                                 break;
  59.                             }
  60.                             
  61.                             tempArray1[zoneArrayTemp1[l][eZone]] = zoneArrayTemp1[l][eItem];
  62.                             tempArray2[tempArray2.length] = zoneArrayTemp1[l][eZone];
  63.                         }
  64.                         
  65.                         if (tempArray2.length > 1)
  66.                         {
  67.                             tempArray2.sort();
  68.                             
  69.                             for (var l = 0; l < tempArray2.length; l++)
  70.                             {
  71.                                 zoneArrayTemp1[j + l][0] = tempArray1[tempArray2[l]];
  72.                                 zoneArrayTemp1[j + l][1] = tempArray2[l];
  73.                             }
  74.                         }
  75.                     }
  76.                     
  77.                     break;
  78.                 }
  79.             }
  80.         }
  81.         
  82.         zoneArrayTemp1.length--;
  83.         
  84.         var zoneArrayTemp2 = [];
  85.         zoneArrayTemp2.push(zoneArray[0]);
  86.         
  87.         for (var i = 1; i < zoneArray.length; i++)
  88.         {
  89.             for (var j = 0; j < zoneArrayTemp2.length; j++)
  90.             {
  91.                 if (zoneArray[i][eOffset] <= zoneArrayTemp2[j][eOffset])
  92.                 {
  93.                     for (var k = zoneArrayTemp2.length - 1; k >= j; k--)
  94.                     {
  95.                         zoneArrayTemp2[k + 1] = zoneArrayTemp2[k];
  96.                     }
  97.                     
  98.                     zoneArrayTemp2[j] = zoneArray[i];
  99.                     
  100.                     if (zoneArrayTemp2[j + 1][eOffset] == zoneArrayTemp2[j][eOffset])
  101.                     {
  102.                         var tempArray1 = [];
  103.                         var tempArray2 = [];
  104.                     
  105.                         for (var l = j; l < zoneArrayTemp2.length; l++)
  106.                         {
  107.                             if (zoneArrayTemp2[j][eOffset] != zoneArrayTemp2[l][eOffset])
  108.                             {
  109.                                 break;
  110.                             }
  111.                             
  112.                             tempArray1[zoneArrayTemp2[l][eZone]] = zoneArrayTemp2[l][eItem];
  113.                             tempArray2[tempArray2.length] = zoneArrayTemp2[l][eZone];
  114.                         }
  115.                         
  116.                         if (tempArray2.length > 1)
  117.                         {
  118.                             tempArray2.sort(compareDisplayName);
  119.                             
  120.                             for (var l = 0; l < tempArray2.length; l++)
  121.                             {
  122.                                 zoneArrayTemp2[j + l][0] = tempArray1[tempArray2[l]];
  123.                                 zoneArrayTemp2[j + l][1] = tempArray2[l];
  124.                             }
  125.                         }
  126.                     }
  127.                     
  128.                     break;
  129.                 }
  130.             }
  131.         }
  132.         
  133.         zoneArrayTemp2.reverse();
  134.         
  135.         e = zoneArrayTemp1.concat(zoneArrayTemp2);
  136.     }
  137. }
  138. ////////////////////////////////////////////////////////////////////////////////
  139. //
  140. //
  141. ////////////////////////////////////////////////////////////////////////////////
  142. function compareDisplayName(string1, string2)
  143. {
  144.     for (var i = 0; i < Math.min(string1.length, string2.length); i++)
  145.     {
  146.         if (string1.charAt(i) != string2.charAt(i))
  147.         {
  148.             return (string1.charAt(i) < string2.charAt(i) ? 1 : -1);
  149.         }
  150.     }
  151.  
  152.     return 0;
  153. }
  154. ////////////////////////////////////////////////////////////////////////////////
  155. //
  156. // get current local time
  157. //
  158. ////////////////////////////////////////////////////////////////////////////////
  159. function getCurrentTimeZone()
  160. {
  161.     if (zonesCount > 0)
  162.     {
  163.         var curZone = System.Time.currentTimeZone;
  164.  
  165.         for (var i = 0; i < zonesCount; i++)
  166.         {
  167.             if (zones.item(i).standardDisplayName == curZone.standardDisplayName)
  168.             {
  169.                 return i;
  170.             }
  171.         }
  172.     }
  173.     
  174.     return -1;
  175. }
  176. ////////////////////////////////////////////////////////////////////////////////
  177. //
  178. // check to see if time zone within array
  179. //
  180. ////////////////////////////////////////////////////////////////////////////////
  181. function getValidTimeZone(index)
  182. {
  183.     if (parseInt(index) > -1 && parseInt(index) < zonesCount)
  184.     {
  185.         return parseInt(index);
  186.     }
  187.     else
  188.     {
  189.         return -1;
  190.     }
  191. }
  192.