/**
  * Calculates the date of the Nth weekday of the month,
  * such as the second Saturday of January 2000.
  *
  * $occurance: 1=first, 2=second, 3=third, etc.
  * $day_of_week: 0=Sunday, 1=Monday, etc.
  *
  */
 function get_n_week_day_of_month($occurance, $day_of_week, $date = null)
 {
     $this->_check_date(&$date);
     $year = $date->year;
     $month = $date->month;
     $DOW1day = ($occurance - 1) * 7 + 1;
     $d = date::create($year, $month, $DOW1day);
     $DOW1 = $d->get_day_of_week();
     $wdate = ($occurance - 1) * 7 + 1 + (7 + $day_of_week - $DOW1) % 7;
     if ($wdate > $this->get_days_in_month($date)) {
         return null;
     } else {
         return date::create($year, $month, $wdate);
     }
 }