home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / spin.js < prev    next >
Encoding:
Text File  |  2001-11-29  |  5.1 KB  |  317 lines

  1. function onUp(el)
  2. {
  3.     var newvalue = eval(el.value);
  4.  
  5.     if (newvalue<10)
  6.         newvalue+=1;
  7.     else if (newvalue<100)
  8.         newvalue = Math.floor(eval(newvalue)/10)*10+10;
  9.     else
  10.         newvalue = Math.floor(eval(newvalue)/50)*50+50;
  11.  
  12.     el.value = newvalue;
  13. }
  14.  
  15. function onDown(el)
  16. {
  17.     var newvalue = eval(el.value);
  18.  
  19.     if (newvalue<10)
  20.     {
  21.         newvalue-=1;
  22.  
  23.         if (newvalue<=0)
  24.             newvalue=1;
  25.     }
  26.     else if (newvalue<=100)
  27.     {
  28.         newvalue = Math.floor(eval(newvalue)/10)*10-10;
  29.  
  30.         if (newvalue==0)
  31.             newvalue=9;
  32.     }
  33.     else
  34.     {
  35.         newvalue = Math.floor(eval(newvalue)/50)*50-50;
  36.  
  37.         if (newvalue==50)
  38.             newvalue=90;
  39.     }
  40.  
  41.     el.value = newvalue;
  42. }
  43.  
  44. function onUpPeriod(el)
  45. {
  46.     var min = 60;
  47.     var hour = min*60;
  48.     var day = hour*24;
  49.     var time = el.value;
  50.     var c = time.charAt(time.length-1);
  51.     var newtime;
  52.  
  53.     if (!isPeriod(el.value))
  54.     {
  55.         alert("Enter a valid time period.");
  56.         el.focus();
  57.  
  58.         return;
  59.     }
  60.  
  61.     if (c=="d" || c=="h" || c=="m" || c=="s")
  62.         time = time.substr(0, time.length-1);
  63.  
  64.     if (c=="d")
  65.         newtime = (eval(time)+1)*day;
  66.     else if (c=="h")
  67.         newtime = (eval(time)+1)*hour;
  68.     else if (c=="m")
  69.     {
  70.         if (eval(time)>5)
  71.             newtime = (Math.floor(eval(time)/5)*5+5)*min;
  72.         else
  73.             newtime = (eval(time)+1)*min;
  74.     }
  75.     else
  76.         newtime = Math.floor(time.valueOf()/5)*5+5;
  77.  
  78.     el.value = toNicePeriod(newtime);
  79. }
  80.  
  81. function onDownPeriod(el, allowzero)
  82. {
  83.     var time = el.value;
  84.     var c = time.charAt(time.length-1);
  85.     var newtime;
  86.  
  87.     if (!isPeriod(el.value))
  88.     {
  89.         alert("Enter a valid time period.");
  90.         el.focus();
  91.  
  92.         return;
  93.     }
  94.  
  95.     if (c=="d" || c=="h" || c=="m" || c=="s")
  96.         time = time.substr(0, time.length-1);
  97.  
  98.     if (c=="d")
  99.     {
  100.         newtime = (eval(time)-1)*day;
  101.  
  102.         if (newtime==0)
  103.             newtime = 23*hour;
  104.     }
  105.     else if (c=="h")
  106.     {
  107.         newtime = (eval(time)-1)*hour;
  108.  
  109.         if (newtime==0)
  110.             newtime = 59*min;
  111.     }
  112.     else if (c=="m")
  113.     {
  114.         if (eval(time)>5)
  115.             newtime = (Math.floor(eval(time)/5)*5-5)*min;
  116.         else
  117.             newtime = (eval(time)-1)*min;
  118.  
  119.         if (newtime==0)
  120.             newtime = 59;
  121.     }
  122.     else
  123.     {
  124.         newtime = Math.floor(eval(time)/5)*5-5;
  125.  
  126.         if (newtime==0&&allowzero) {}
  127.         else if (newtime<=0)
  128.         {
  129.             if (allowzero)
  130.                 newtime = 0;
  131.             else
  132.                 newtime = 1;
  133.         }
  134.     }
  135.  
  136.     el.value = toNicePeriod(newtime);
  137. }
  138.  
  139. function onUpTime(time)
  140. {
  141.     var hours = getHours(time.value);
  142.     var mins = getMinutes(time.value);
  143.  
  144.     if ((hours<0||hours>23)||(mins<0||mins>59))
  145.     {
  146.         time.value="00:00";
  147.         return;
  148.     }
  149.     
  150.     mins = Math.floor(mins/5)*5+5;
  151.     if (mins==60)
  152.     {
  153.         mins=0;
  154.         hours++;
  155.     }
  156.     if (hours==24)
  157.         hours=0;
  158.  
  159.     time.value=toNiceTime(hours*hour+mins*min);
  160. }
  161.  
  162. function onDownTime(time)
  163. {
  164.     var hours = getHours(time.value);
  165.     var mins = getMinutes(time.value);
  166.  
  167.     if ((hours<0||hours>23)||(mins<0||mins>59))
  168.     {
  169.         time.value="00:00";
  170.         return;
  171.     }
  172.     
  173.     mins = Math.floor(mins/5)*5-5;
  174.     if (mins==-5)
  175.     {
  176.         mins=55;
  177.         hours--;
  178.     }
  179.     if (hours==-1)
  180.         hours=23;
  181.  
  182.     time.value=toNiceTime(hours*hour+mins*min);
  183. }
  184.  
  185. function fromNiceBytes(bytes)
  186. {
  187.     var scaler;
  188.     var index;
  189.     if (bytes.charAt(bytes.length-1)=="b"||bytes.charAt(bytes.length-1)=="B")
  190.     {
  191.         index = bytes.length-2;
  192.         switch (bytes.charAt(bytes.length-2))
  193.         {
  194.             case 'K':
  195.             case 'k':
  196.                 scaler = 1024;
  197.                 break;
  198.  
  199.             case 'M':
  200.             case 'm':
  201.                 scaler=1024*1024;
  202.                 break;
  203.  
  204.             case 'G':
  205.             case 'g':
  206.                 scaler=1024*1024*1024;
  207.                 break;
  208.  
  209.             default:
  210.                 index = bytes.length-1;
  211.                 scaler=1;
  212.         }
  213.  
  214.         var value = eval(bytes.slice(0, index));
  215.         value = value * scaler;
  216.  
  217.         return value;
  218.     }
  219.     else if (bytes=="")
  220.         return 0;
  221.     else
  222.         return eval(bytes);
  223. }
  224.  
  225. function onUpBytes(bytes)
  226. {
  227.     var value = fromNiceBytes(bytes.value);
  228.     var scaler1 = 1;
  229.     var scaler2 = 1;
  230.  
  231.     if (value<1024)
  232.         scaler1 = 1;
  233.     else if (value<1024*1024)
  234.         scaler1 = 1024;
  235.     else if (value<1024*1024*1024)
  236.         scaler1 = 1024*1024;
  237.     else
  238.         scaler1 = 1024*1024*1024;
  239.  
  240.     value = Math.round(value/scaler1);
  241.     if (value<10)
  242.         scaler2=1;
  243.     else if (value<100)
  244.         scaler2=10;
  245.     else if (value<1000)
  246.         scaler2=100;
  247.     else
  248.         scaler2=1024;
  249.  
  250.     value = Math.round(value/scaler2);
  251.  
  252.     if (value<1)
  253.         value=1;
  254.     else if (value<2)
  255.         value=2;
  256.     else if (value<5)
  257.         value=5;
  258.     else if (scaler2==100)
  259.         value=10.24;
  260.     else
  261.         value=10;
  262.  
  263.     bytes.value = toNiceBytes(value * scaler1 * scaler2);
  264. }
  265.  
  266. function onDownBytes(bytes)
  267. {
  268.     var value = fromNiceBytes(bytes.value);
  269.     var scaler1 = 1;
  270.     var scaler2 = 1;
  271.  
  272.     if (value<1024)
  273.         scaler1 = 1;
  274.     else if (value<1024*1024)
  275.         scaler1 = 1024;
  276.     else if (value<1024*1024*1024)
  277.         scaler1 = 1024*1024;
  278.     else
  279.         scaler1 = 1024*1024*1024;
  280.  
  281.     value = Math.round(value/scaler1);
  282.     if (value<10)
  283.         scaler2=1;
  284.     else if (value<100)
  285.         scaler2=10;
  286.     else if (value<1000)
  287.         scaler2=100;
  288.     else
  289.         scaler2=1024;
  290.  
  291.     value = Math.round(value/scaler2);
  292.  
  293.     if (value>5)
  294.         value=5;
  295.     else if (value>2)
  296.         value=2;
  297.     else if (value>1)
  298.         value=1;
  299.     else
  300.     {
  301.         value=5;
  302.  
  303.         if (scaler2==1024)
  304.             scaler2=500;
  305.         else if (scaler2!=1)
  306.             scaler2 = scaler2/10;
  307.         else if (scaler1!=1)
  308.         {
  309.             scaler1 = scaler1/1024;
  310.             scaler2=100;
  311.         }
  312.         else
  313.             value = 1;
  314.     }
  315.  
  316.     bytes.value = toNiceBytes(value * scaler1 * scaler2);
  317. }