Guest User

Untitled

a guest
Apr 8th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. get_eventnum = function(day:Date):Number
  2. {
  3.     var num_events:Number = 0;
  4.    
  5.     var week_first_day:Number = day.getDate() - days[day.getDay()];
  6.     var cur_week = new Date(day.getFullYear(), day.getMonth(), week_first_day);
  7.    
  8.     var week_date:Number = cur_week.getDate();
  9.     var week_month:Number = cur_week.getMonth() + 1;
  10.     var week_year:Number = cur_week.getFullYear();
  11.    
  12.     var ms__current_day:Number = day.getTime();
  13.    
  14.     var today_date:Number = day.getDate();
  15.     var today_month:Number = day.getMonth() + 1;
  16.     var today_year:Number = day.getFullYear();
  17.    
  18.     for (var i = 0; i < events.length; i++)
  19.     {
  20.         var event_date_from_arr:Array = events[i].date_from.split("-");
  21.         var event_date_to_arr:Array = events[i].date_to.split("-");
  22.        
  23.         var event_date_from:Date;
  24.         var event_date_to:Date;
  25.        
  26.         switch (events[i].reoccurrence)
  27.         {
  28.             case 0:
  29.                 event_date_from = new Date(Number(event_date_from_arr[0]), Number(event_date_from_arr[1]) - 1, Number(event_date_from_arr[2]), 0, 0, 0, 0);
  30.                 event_date_to = new Date(Number(event_date_to_arr[0]), Number(event_date_to_arr[1]) - 1, Number(event_date_to_arr[2]), 23, 59, 59, 0);
  31.                 break;
  32.                
  33.                
  34.             case 1:
  35.                
  36.                 var event_date_from_date:Number;
  37.                 var event_date_from_month:Number;
  38.                 var event_date_from_year:Number;
  39.                
  40.                 if (today_date < Number(event_date_from_arr[2]) && (today_month <= Number(event_date_from_arr[1])) && (today_year <= Number(event_date_from_arr[0])))
  41.                 {
  42.                     event_date_from_date = Number(event_date_from_arr[2]);
  43.                     event_date_from_month = Number(event_date_from_arr[1]);
  44.                     event_date_from_year = Number(event_date_from_arr[0]);
  45.                 }
  46.                 else
  47.                 {
  48.                     event_date_from_date = today_date;
  49.                     event_date_from_month = today_month;
  50.                     event_date_from_year = today_year;
  51.                 }
  52.                
  53.                 event_date_from = new Date(event_date_from_year, event_date_from_month - 1, event_date_from_date, 0, 0, 0, 0);
  54.                 event_date_to = new Date(event_date_from_year + (Number(event_date_to_arr[0]) - Number(event_date_from_arr[0])), event_date_from_month - 1 + (Number(event_date_to_arr[1]) - Number(event_date_from_arr[1])), event_date_from_date + (Number(event_date_to_arr[2]) - Number(event_date_from_arr[2])), 23, 59, 59, 0);
  55.                
  56.                 break;
  57.                
  58.                
  59.             case 2:
  60.                
  61.                 var event_date_from_date:Number;
  62.                 var event_date_from_month:Number;
  63.                 var event_date_from_year:Number;
  64.                
  65.                 var event_date_from_tmp:Date = new Date(Number(event_date_from_arr[0]), Number(event_date_from_arr[1]) - 1, Number(event_date_from_arr[2]), 0, 0, 0, 0);
  66.                 var event_day:Number = event_date_from_tmp.getDay();
  67.                
  68.                 if ((today_date < Number(event_date_from_arr[2]) && (today_month <= Number(event_date_from_arr[1])) && (today_year <= Number(event_date_from_arr[0]))) || ((today_month < Number(event_date_from_arr[1])) && (today_year <= Number(event_date_from_arr[0]))) || (today_year < Number(event_date_from_arr[0])))
  69.                 {
  70.                     event_date_from_date = Number(event_date_from_arr[2]);
  71.                     event_date_from_month = Number(event_date_from_arr[1]);
  72.                     event_date_from_year = Number(event_date_from_arr[0]);
  73.                 }
  74.                 else
  75.                 {
  76.                     event_date_from_date = week_date + days[event_day];
  77.                     event_date_from_month = week_month;
  78.                     event_date_from_year = week_year;
  79.                 }
  80.                
  81.                 event_date_from = new Date(event_date_from_year, event_date_from_month - 1, event_date_from_date, 0, 0, 0, 0);
  82.                 event_date_to = new Date(event_date_from_year + (Number(event_date_to_arr[0]) - Number(event_date_from_arr[0])), event_date_from_month - 1 + (Number(event_date_to_arr[1]) - Number(event_date_from_arr[1])), event_date_from_date + (Number(event_date_to_arr[2]) - Number(event_date_from_arr[2])), 23, 59, 59, 0);
  83.                
  84.                 break;
  85.                
  86.                
  87.             case 3:
  88.                
  89.                 var event_date_from_date:Number;
  90.                 var event_date_from_month:Number;
  91.                 var event_date_from_year:Number;
  92.                
  93.                 if ((today_month < Number(event_date_from_arr[1])) && (today_year <= Number(event_date_from_arr[0])))
  94.                 {
  95.                     event_date_from_date = Number(event_date_from_arr[2]);
  96.                     event_date_from_month = Number(event_date_from_arr[1]);
  97.                     event_date_from_year = Number(event_date_from_arr[0]);
  98.                 }
  99.                 else
  100.                 {
  101.                     event_date_from_date = Number(event_date_from_arr[2]);
  102.                     event_date_from_month = today_month;
  103.                     event_date_from_year = today_year;
  104.                 }
  105.                
  106.                 event_date_from = new Date(event_date_from_year, event_date_from_month - 1, event_date_from_date, 0, 0, 0, 0);
  107.                 event_date_to = new Date(event_date_from_year + (Number(event_date_to_arr[0]) - Number(event_date_from_arr[0])), event_date_from_month - 1 + (Number(event_date_to_arr[1]) - Number(event_date_from_arr[1])), event_date_from_date + (Number(event_date_to_arr[2]) - Number(event_date_from_arr[2])), 23, 59, 59, 0);
  108.                
  109.                 break;
  110.                
  111.                
  112.             case 4:
  113.                
  114.                 var event_date_from_date:Number;
  115.                 var event_date_from_month:Number;
  116.                 var event_date_from_year:Number;
  117.                
  118.                 if (today_year < Number(event_date_from_arr[0]))
  119.                 {
  120.                     event_date_from_date = Number(event_date_from_arr[2]);
  121.                     event_date_from_month = Number(event_date_from_arr[1]);
  122.                     event_date_from_year = Number(event_date_from_arr[0]);
  123.                 }
  124.                 else
  125.                 {
  126.                     event_date_from_date = Number(event_date_from_arr[2]);
  127.                     event_date_from_month = Number(event_date_from_arr[1]);
  128.                     event_date_from_year = today_year;
  129.                 }
  130.                
  131.                 event_date_from = new Date(event_date_from_year, event_date_from_month - 1, event_date_from_date, 0, 0, 0, 0);
  132.                 event_date_to = new Date(event_date_from_year + (Number(event_date_to_arr[0]) - Number(event_date_from_arr[0])), event_date_from_month - 1 + (Number(event_date_to_arr[1]) - Number(event_date_from_arr[1])), event_date_from_date + (Number(event_date_to_arr[2]) - Number(event_date_from_arr[2])), 23, 59, 59, 0);
  133.                
  134.                 break;
  135.         }
  136.        
  137.         var ms__event_date_from:Number = event_date_from.getTime();
  138.         var ms__event_date_to:Number = event_date_to.getTime();
  139.        
  140.         if ((ms__current_day < ms__event_date_from) || (ms__current_day > ms__event_date_to))
  141.             continue;
  142.        
  143.         num_events++;
  144.     }
  145.    
  146.     return num_events;
  147. }
Add Comment
Please, Sign In to add comment