%( $Id: anclist_mooncgl.txt mickroue(a)yahoo.fr 20140913 templ=templm %)

%define;mooncglb(z1)
  %reset_count;
  %foreach;sorted_list_item;
    %if;(item.1 = 0)
      %incr_count;
      %if;(next_item.2 != item.2 or next_item.1 = 1)
        %let;l_top;%expr(item.2 + z1)%in;
        %let;l_width0;%expr(count * l_size)%in;
        %let;l_width;%if;(l_width0 > max_width)%max_width;%else;%l_width0;%end;%in;
        <span class="s50" style="top:%l_top;em;border-width:%l_width;px;">%count;</span>
        %reset_count;
      %end;
    %elseif;(item.1 = 1)
      %incr_count;
      %if;(next_item.2 != item.2)
        %let;l_top;%expr(item.2 + z1)%in;
        %let;l_width0;%expr(count * l_size)%in;
        %let;l_width;%if;(l_width0 > max_width)%max_width;%else;%l_width0;%end;%in;
        <span class="s51" style="top:%l_top;em;border-width:%l_width;px;">%count;</span>
        %reset_count;
      %end;
    %end;
  %end;
%end;

%define;mooncgl(z1)
  %apply;mooncgla("ancestor.z1_date.day","ancestor.z1_date.date.moon_age",3)
  %let;nb_date;%count;%in;
  %let;l_size;%expr(40 / ((90 + nb_date) / 9 / 10))%in;
  <div class="s1 bcbg2" style="height:20px;">
    <strong class="s2">[*z1]</strong>
    <strong class="s3">%nb_date; [date/dates]1</strong>
  </div>
  %if;(version = "6.08 - exp - mr")
  <div class="s1 bcbg1" style="height:320px;">
    <span class="s4" style="top:1em;">[*moon age/new moon/first quarter/full moon/last quarter]1</span>
    <span class="s4" style="top:8em;">[*moon age/new moon/first quarter/full moon/last quarter]2</span>
    <span class="s4" style="top:16em;">[*moon age/new moon/first quarter/full moon/last quarter]3</span>
    <span class="s4" style="top:24em;">[*moon age/new moon/first quarter/full moon/last quarter]4</span>
    %apply;mooncglb(0)
  </div>
  %end;
  %apply;mooncgla("ancestor.z1_date.day","ancestor.z1_date.date.week_day",1)
  %let;nb_female;%count;%in;
  %let;l_size;%expr(40 / ((40 + nb_date) / 4 / 10))%in;
  %if;(version = "6.08 - exp - mr")
  <div class="s1 bcbg1" style="height:90px;">
    <span class="s4" style="top:1em;">[*(week day)]0</span>
    <span class="s4" style="top:2em;">[*(week day)]1</span>
    <span class="s4" style="top:3em;">[*(week day)]2</span>
    <span class="s4" style="top:4em;">[*(week day)]3</span>
    <span class="s4" style="top:5em;">[*(week day)]4</span>
    <span class="s4" style="top:6em;">[*(week day)]5</span>
    <span class="s4" style="top:7em;">[*(week day)]6</span>
    %apply;mooncglb(1)
  </div>
  %end;
  %apply;mooncgla("ancestor.z1_date.day","ancestor.z1_date.month",0)
  %let;nb_male;%count;%in;
  %let;l_size;%expr(40 / ((40 + nb_date) / 4 / 10))%in;
  <div class="s1 bcbg1" style="height:140px;">
    <span class="s4" style="top:1em;">[*(month)]0</span>
    <span class="s4" style="top:2em;">[*(month)]1</span>
    <span class="s4" style="top:3em;">[*(month)]2</span>
    <span class="s4" style="top:4em;">[*(month)]3</span>
    <span class="s4" style="top:5em;">[*(month)]4</span>
    <span class="s4" style="top:6em;">[*(month)]5</span>
    <span class="s4" style="top:7em;">[*(month)]6</span>
    <span class="s4" style="top:8em;">[*(month)]7</span>
    <span class="s4" style="top:9em;">[*(month)]8</span>
    <span class="s4" style="top:10em;">[*(month)]9</span>
    <span class="s4" style="top:11em;">[*(month)]10</span>
    <span class="s4" style="top:12em;">[*(month)]11</span>
    %apply;mooncglb(0)
  </div>
  %apply;mooncgla("ancestor.z1_date.day","level",0)
  %let;l_size;%expr(40 / ((30 + nb_date) / 3 / 10))%in;
  <div class="s1 bcbg1" style="height:%expr(l_v * 10 + 20)px;">
    %foreach;ancestor_level(l_v)
      <span class="s4" style="top:%level;em;">
        %if;(level = 1)[*generation/generations]1%else;%level;%end;
      </span>
    %end;
    %apply;mooncglb(0)
  </div>
  <div class="s1 bcbg2" style="height:20px;">
    <strong class="s2" style="color:#4682B4;">%nb_male; [M/F]0</strong>
    <strong class="s3" style="color:#FF69B4;">%nb_female; [M/F]1</strong>
  </div>
%end;

%define;mooncgla(z1,z2,z3)
  %reset_count;
  %empty_sorted_list;
  %foreach;ancestor_level(l_v)
    %if;(level > 1 and (evar.only != "on" or level = l_v))
      %foreach;ancestor;
        %if;(ancestor.same = "" and z1 != "")
          %let;l_y;%z2;%in;
          %if;(z3 = 3 or ancestor.sex = z3)
            %incr_count;
          %end;
          %apply;add_in_sorted_list(ancestor.sex,l_y,ancestor.index)
        %end;
      %end;
    %end;
  %end;
%end;

%( tf1 = mooncgl %)
%let;max_width;180%in;
%apply;gen()
<table class="moon">
  <tr><td>
    %apply;mooncgl("birth")
  </td><td>
    %apply;mooncgl("death")
  </td></tr>
  </table>
