switch ($span) {
         case 'day':
             $span_start_day = date('d');
             $span_start_month = date('m');
             $span_start_year = date('Y');
             $span_end_day = $span_start_day;
             $span_end_month = $span_start_month;
             $span_end_year = $span_start_year;
             break;
         case 'week':
             Get_Span_Limits(date('d'), date('m'), date('Y'), 'week', 0, $span_start_day, $span_start_month, $span_start_year, $span_end_day, $span_end_month, $span_end_year);
             break;
     }
 }
 if ($changed) {
     Get_Span_Limits($span_start_day, $span_start_month, $span_start_year, $span, $mult_factor, $span_start_day, $span_start_month, $span_start_year, $span_end_day, $span_end_month, $span_end_year);
 }
 switch ($span) {
     case 'day':
         $result_xsl = "xsl/" . $default_xsl . "/groups_shedule_day.xsl";
         break;
     case 'week':
         $result_xsl = "xsl/" . $default_xsl . "/groups_schedule_week.xsl";
         break;
 }
 $beg_day = "{$span_start_year}-{$span_start_month}-{$span_start_day}";
 $end_day = "{$span_end_year}-{$span_end_month}-{$span_end_day}";
 $span_start_day_of_week_id = date('w', mktime(1, 1, 1, $span_start_month, $span_start_day, $span_start_year));
 $span_end_day_of_week_id = date('w', mktime(1, 1, 1, $span_end_month, $span_end_day, $span_end_year));
 $span_start_day_of_week = $cfg['days_of_week'][$span_start_day_of_week_id];
 $span_end_day_of_week = $cfg['days_of_week'][$span_end_day_of_week_id];
$query = "SELECT * FROM accounts WHERE account_id = '{$account_id}'";
$result = $bd->Query($query);
$role = $bd->FetchResult($result, 0, 'role');
$var_type = $role . '_type';
$var_color = $role . '_color';
$var_image = $role . '_icon';
$array_type = $cfg[$var_type];
$array_color = $cfg[$var_color];
$array_image = $cfg[$var_image];
if ($role == 'user') {
    $person = List_People($account_id, '', '', '', '', $bd);
}
$num_blocks = count($cfg['time']);
$block_size = intval((600 - $num_blocks * $space) / $num_blocks);
$max_text_factor = (int) ($block_size / 7);
Get_Span_Limits(date('d'), date('m'), date('Y'), 'week', 0, $span_start_day, $span_start_month, $span_start_year, $span_end_day, $span_end_month, $span_end_year);
function locate($vector, $element, $n_elem)
{
    $found = 0;
    for ($i = 1; $i <= $n_elem and !$found; $i++) {
        if ($vector[$i] == $element) {
            $found = 1;
        }
    }
    if (!$found) {
        return -1;
    } else {
        return $i - 1;
    }
}
function insert(&$vector, $element, &$n_elem)