/**
  * kreas nomŝildon.
  * $x, $y bazaj koordinatoj
  * $partoprenantoID - la identifikilo de la partoprenanto.
  * specialaj nomŝildoj:
  *  partoprenoID == -1: printu specialan nomŝildon,
  *             tiam partoprenantoID nomas la identifikilon
  *             en la nomŝildo-tabelo.
  *  partoprenoID == 0: printu malplenajn nomŝildojn.
  */
 function kreu_nomsxildon($x, $y, $partoprenantoID, $partoprenoID, $savu)
 {
     if ($partoprenoID == -1) {
         $dungito = new Speciala_Nomsxildo($partoprenantoID);
         echo "<!--";
         var_export($dungito);
         echo "-->";
         $this->kreu_nomsxildon_interne($x, $y, $dungito->datoj['titolo_esperante'], $dungito->datoj['nomo'], $dungito->datoj['funkcio_esperante'], 20, 0, 0);
         if ($savu == "J") {
             $dungito->datoj['havasNomsxildon'] = 'P';
             $dungito->skribu();
         }
     } else {
         if ($partoprenoID == 0) {
             $this->kreu_nomsxildon_interne($x, $y, "", "", "", 20, 0, 0);
         } else {
             $partopreno = new Partopreno($partoprenoID);
             $partoprenanto = new Partoprenanto($partoprenantoID);
             if ($savu == "J") {
                 $partopreno->datoj[havasNomsxildon] = 'P';
                 $partopreno->skribu();
             }
             $this->kreu_nomsxildon_interne($x, $y, $partoprenanto->datoj['sxildnomo'] ? $partoprenanto->datoj['sxildnomo'] : $partoprenanto->datoj['personanomo'], $partoprenanto->datoj['nomo'], $partoprenanto->datoj['sxildlando'] ? $partoprenanto->datoj['sxildlando'] : eltrovu_landon($partoprenanto->datoj['lando']), $partopreno->datoj['agxo'], $partopreno->datoj['de'], $partopreno->datoj['gxis']);
         }
     }
 }
/**
 * $kodigo - aux 'x-metodo' aux 'utf-8'.
 */
function kreu_unuan_konfirmilan_tekston($partoprenanto, $partopreno, $renkontigxo, $kodigo = 'utf-8')
{
    // TODO: ebligu nacilingvan varianton
    $speciala = array();
    $speciala['landonomo'] = eltrovu_landon($partoprenanto->datoj['lando']);
    $speciala['tejojaro'] = TEJO_MEMBRO_JARO;
    $speciala['tejorabato'] = TEJO_RABATO;
    $speciala['asekuro'] = $partopreno->datoj['havas_asekuron'] == 'J' ? "Vi havas asekuron pri malsano kaj kunportos la necesajn paperojn." : "Vi ne havas tauxgan asekuron pri malsano.";
    $speciala['partopreno'] = $partopreno->datoj['partoprentipo'] == 't' ? "tuttempe" : "parttempe";
    switch ($partopreno->datoj['vegetare']) {
        case 'J':
            $speciala['mangxmaniero'] = "vegetarano";
            break;
        case 'N':
            $speciala['mangxmaniero'] = "viandmang^anto";
            break;
        case 'A':
            $speciala['mangxmaniero'] = "vegano";
            break;
        default:
            $speciala['mangxmaniero'] = "nekonata mang^anto";
    }
    if ($partopreno->datoj['domotipo'] == 'M') {
        $speciala['domotipo'] = "log^os en la amaslog^ejo kaj mang^os memzorge";
        $speciala['cxambro'] = "";
    } else {
        $speciala['domotipo'] = "log^os kaj mang^os en la junulargastejo";
        switch ($partopreno->datoj['cxambrotipo']) {
            case 'u':
                $cxambrosekso = "unuseksan c^ambron";
            case 'g':
                $cxambrosekso = "gean c^ambron";
            default:
                $cxambrosekso = "(strang-seksan: '{$partopreno->datoj['cxambrotipo']}')" . " c^ambron";
        }
        $speciala['cxambro'] = "\n Vi mendis " . ($partopreno->datoj['dulita'] == "J" ? "dulitan " : "") . $cxambrosekso . ($partopreno->datoj['kunkiu'] ? " kun (eble) " . $partopreno->datoj['kunkiu'] : "");
    }
    // TODO: kunmangxas
    $kotizo = new Kotizo($partopreno, $partoprenanto, $renkontigxo);
    $speciala['antauxpago'] = $kotizo->minimuma_antauxpago();
    $speciala['pageblecoj'] = pageblecoj_retpagxo;
    $invitpeto = $partopreno->sercxu_invitpeton();
    if ($invitpeto) {
        $speciala['invitpeto'] = "\n Detaloj por la Invitilo" . "\n-------------------------" . "\n" . $invitpeto->konfirmilaj_detaloj() . "\n\n" . donu_tekston('konf1-invitilo', $renkontigxo);
    } else {
        // ne petis invitleteron, do ne necesas ion pri tio skribi
        $speciala['invitpeto'] = "";
    }
    // TODO - aldonu kiel teksto, cxu ne?
    $speciala['dissendolisto'] = "";
    $speciala['subskribo'] = $renkontigxo->funkciulo('admin') . ", en la nomo de " . organizantoj_nomo . ", la organiza teamo.";
    $datumoj = array('anto' => $partoprenanto->datoj, 'eno' => $partopreno->datoj, 'igxo' => $renkontigxo->datoj, 'speciala' => $speciala);
    $sxablono = file_get_contents($GLOBALS['prafix'] . '/sxablonoj/unua_konfirmilo_eo.txt');
    return eotransformado(transformu_tekston($sxablono, $datumoj), $kodigo);
}
 * @version $Id$
 * @copyright 2007-2008 Paul Ebermann.
 *       Uzebla laŭ kondiĉoj de GNU Ĝenerala Publika Permesilo (GNU GPL)
 */
/**
 */
simpla_aliĝilo_komenco('3a', CH('aligxilo#titolo'));
?>
<tr><td colspan='4'>
<?php 
echo CH('pasporto-detaloj-bla');
if (!$_POST['pasporta_adreso'] or !$_POST['senda_adreso']) {
    if (!$_POST['landonomo']) {
        echo "<!-- prafix: {$prafix} -->";
        require_once $prafix . '/iloj/iloj.php';
        $landonomo = eltrovu_landon($_POST['lando']);
        tenukasxe('landonomo', $landonomo);
    } else {
        $landonomo = $_POST['landonomo'];
    }
}
?>
</td></tr>
<tr>
<?php 
aliĝilo_tabelentajpilo('pasportnumero', CH('pasportnumero'), 25);
if (!$_POST['pasporta_persona_nomo']) {
    $_REQUEST['pasporta_persona_nomo'] = $_POST['personanomo'];
}
if (!$_POST['pasporta_famila_nomo']) {
    $_REQUEST['pasporta_familia_nomo'] = $_POST['nomo'];
require_once 'iloj/iloj_akceptado.php';
$partoprenanto = $_SESSION["partoprenanto"];
$partopreno = $_SESSION['partopreno'];
// la persona pronomo (li aux sxi)
$ri = $partoprenanto->personapronomo;
$Ri = ucfirst($ri);
akceptado_kapo("kontroloj");
// ###############################################################################
// <p>(Reen al <a href='akceptado.php?pasxo=datumoj'>datumoj</a>)</p>
echo "<ul>\n";
eoecho("<li><p>Jen c^iuj notoj pri {$ri}. Kontrolu, c^u io estas neprilaborita.</p>\n");
$sql = datumbazdemando(array("ID", "prilaborata", "dato", "partoprenantoID", "subjekto", "kiu", "kunKiu", "tipo"), "notoj", "", array("partoprenanto" => "partoprenantoID"));
sercxu($sql, array("dato", "desc"), array(array('ID', '', '->', 'z', '"notoj.php?wahlNotiz=XXXXX"', '-1'), array('prilaborata', 'prilaborata?', 'XXXXX', 'z', '', '-1'), array('dato', 'dato', 'XXXXX', 'l', '', '-1'), array('subjekto', 'subjekto', 'XXXXX', 'l', '', '-1'), array("kiu", "kiu", 'XXXXX', 'l', '', '-1'), array("kunKiu", "kun Kiu?", 'XXXXX', 'l', '', '-1'), array("tipo", "tipo", 'XXXXX', 'l', '', '-1')), array(array('', array('&sum; XX', 'A', 'z'))), "notoj-akceptado", array('Zeichenersetzung' => array('1' => array('j' => '<strong class="malaverto">prilaborata</strong>', '' => '<strong class="averto">neprilaborata</strong>', 'n' => '<strong class="averto">neprilaborata</strong>'))), 0, '', '', 'ne');
eoecho("<p>Se estas iuj gravaj aferoj, prilaboru tuj (au^ voku respondeculon).</p>\n</li>");
$_SESSION['sekvontapagxo'] = 'akceptado-datoj.php';
eoecho("<li>Eble kontrolu {$ri}an log^landon (estu " . eltrovu_landon($partoprenanto->datoj['lando']) . "/" . eltrovu_landon_lokalingve($partoprenanto->datoj['lando']) . " &ndash;");
ligu("partoprenanto.php?ago=sxangxi", "s^ang^u!");
echo ").</li>\n";
eoecho("<li> Eble kontrolu lian ag^on, {$ri} asertis esti naskita je " . $partoprenanto->datoj['naskigxdato'] . " (nun " . $partopreno->datoj['agxo'] . "-jara)");
ligu("partoprenanto.php?ago=sxangxi", "(s^ang^u!)");
echo "</li>\n";
if ($partopreno->datoj['agxo'] < 18) {
    eoecho("<li>Kolektu la gepatran permeson (se g^i mankas donu faksnumeron de" . " la ejo, kaj insistu ke {$ri} donos g^in.).</li>\n");
}
echo "</ul><p>";
if (necesas_tejo_traktado()) {
    ligu("akceptado-tejo.php", "C^io estas en ordo, plu al <em>TEJO-membreco</em>");
} else {
    if (necesas_lokaasocio_traktado()) {
        ligu("akceptado-lokaasocio.php", "C^io estas en ordo, plu al <em>membreco cxe " . deviga_membreco_nomo . "</em>");
    } else {
            sql_kaju($sql, naskigxdato, $naskigxdato);
        }
    }
    $result = sql_faru($sql);
    if (mysql_num_rows($result) != 0) {
        echo "<TABLE border=1>\n";
        echo "<tr> <th> vidu </th>\n";
        echo "        <th> ID </th>\n";
        echo "        <th> personanomo </th>\n";
        echo "        <th> nomo </th>\n";
        echo "        <th> urbo </th>\n";
        echo "        <th> lando </th>\n";
        eoecho("     <th> pos^tkodo </th>\n");
        eoecho("     <th> naskig^dato </th> </tr>\n");
        while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
            $row[4] = eltrovu_landon($row[4]);
            // TODO: Join
            echo "<TR> <TD>\n";
            ligu("partrezultoj.php?partoprenantoidento={$row['0']}", "-->");
            echo "</TD><TD> ";
            eoecho(implode(" </TD><TD> ", $row));
            echo "</TR>\n";
        }
        echo "</TABLE>\n";
    } else {
        echo "Mi ne trovas tiajn datumojn\n";
    }
}
eoecho("<h3>Simpla serc^ilo</h3>");
eoecho("<p>(lokoteniloj: '_' estas iu signo, '%' estas iuj signoj.)</p>\n");
echo "<FORM ACTION='partsercxo.php?sql=sercxu' METHOD='POST'>\n";
}
akceptado_kesto_fino();
if (!necesas_lokaasocio_traktado()) {
    eoecho("<p>Lau^ la opinio de la programo ne necesas " . deviga_membreco_nomo . "-traktado por tiu ulo. Vi" . " (kiel h**o) kompreneble tamen rajtas fari tion.</p>");
}
eoecho("<form action='akceptado-lokaasocio.php' method='POST' class='elekto-listo'>\n");
eoecho("<ul><li>" . "Foje kelkaj homoj nepre ig^u membroj de iuj organizoj. Je tiu" . " renkontig^o ");
if ($partoprenanto->datoj['GEJmembro'] == 'J') {
    $defauxlto = 'j';
    // jam estas membro kaj rekotizas
} else {
    $defauxlto = 'i';
    // igxos nova membro kaj kotizas
}
if (deviga_membreco_tipo == 'landa') {
    eoecho("homoj log^anta en " . eltrovu_landon(HEJMLANDO) . " devas esti membro de " . deviga_membreco_nomo . " por la jaro " . deviga_membreco_jaro . ". Nemembroj " . "devos pagi krompagon.");
    if ($partoprenanto->datoj['lando'] != HEJMLANDO) {
        $estas_eksterlandano = true;
        $defauxlto = 'n';
        // ne devas igxi membro
    }
} else {
    if (deviga_membreco_tipo == 'monda') {
        eoecho("c^iuj partoprenantoj devas esti membro de " . deviga_membreco_nomo . " por la jaro " . deviga_membreco_jaro . ". Nemembroj devos pagi " . "krompagon.");
    } else {
        eoecho("ne estas deviga membreco.");
        $defauxlto = 'n';
        // ne devas igxi membro
    }
}
eoecho("</li>\n");
malfermu_datumaro();
kontrolu_rajton("akcepti");
require_once 'iloj/iloj_akceptado.php';
$partoprenanto = $_SESSION["partoprenanto"];
$partopreno = $_SESSION['partopreno'];
// la persona pronomo (li aux sxi)
$ri = $partoprenanto->personapronomo;
$Ri = ucfirst($ri);
akceptado_kapo("kontroloj");
// ###############################################################################
// <p>(Reen al <a href='akceptado.php?pasxo=datumoj'>datumoj</a>)</p>
akceptada_instrukcio("Sube estas c^iuj notoj pri {$ri}. Kontrolu, c^u io" . " estas neprilaborita. <br/> Se estas iuj gravaj" . " aferoj, prilaboru tuj (au^ voku respondeculon).");
akceptada_instrukcio("Eble kontrolu {$ri}an log^landon kaj " . "korektu g^in (se necesas).");
akceptada_instrukcio("Eble kontrolu {$ri}an ag^on, kaj korektu g^in, " . "se necesas.");
if ($partopreno->datoj['agxo'] < 18) {
    akceptada_instrukcio("Kolektu la gepatran permeson. Se g^i mankas", " donu faksnumeron de la ejo, kaj insistu ke" . " {$ri} donos g^in.");
}
ligu_sekvan();
akceptado_kesto_fino();
eoecho("<h3>Notoj</h3>");
listu_notojn($_SESSION['partoprenanto']->datoj['ID']);
$_SESSION['sekvontapagxo'] = 'akceptado-kontroloj.php';
eoecho("<h3>Log^lando</h3>");
eoecho(" <p>Lau^ alig^o: " . eltrovu_landon($partoprenanto->datoj['lando']) . "/" . eltrovu_landon_lokalingve($partoprenanto->datoj['lando']) . " &ndash;");
ligu("partoprenanto.php?ago=sxangxi", "s^ang^u!");
echo "</p>\n";
eoecho("<h3> Ag^o/naskig^dato </h3>");
eoecho("<p>Lau^ alig^o: " . $partoprenanto->datoj['naskigxdato'] . " (nun " . $partopreno->datoj['agxo'] . " jaroj) &ndash; ");
ligu("partoprenanto.php?ago=sxangxi", "(s^ang^u!)");
echo "</p>";
HtmlFino();
/**
 * TODO: dokumentado por faru_aligxtekston
 *
 * ### uzata nuntempe nur en sendu_ekzport()  (supre)
 * ###  kaj (provizore) en diversaj_retmesagxoj.php    ###
 */
function faru_aligxtekston($antoID, $enoID)
{
    $partoprenanto = new Partoprenanto($antoID);
    $partopreno = new Partopreno($enoID);
    $ek = "----- aufgeschluesselter Teil ----\n";
    $ek .= "De " . $partoprenanto->datoj[retposxto] . " venis la sekva aligxilo\n";
    $ek .= "Aligx-Dato = " . $partopreno->datoj[aligxdato] . "\n";
    $ek .= "\n";
    $ek .= "Nomo = " . $partoprenanto->datoj[nomo] . "\n";
    $ek .= "Antauxnomo = " . $partoprenanto->datoj[personanomo] . "\n";
    $ek .= "Sekso = " . $partoprenanto->datoj[sekso] . "\n";
    $ek .= "Naskigxdato = " . $partoprenanto->datoj[naskigxdato] . "\n";
    $ek .= "Gejmembro = " . $partopreno->datoj[GEJmembro] . "\n";
    $ek .= "\n";
    $ek .= "---- Adreso ----\n";
    if ($partoprenanto->datoj[adresaldonajxo]) {
        $ek .= "adresaldonajxo:" . $partoprenanto->datoj[adresaldonajxo] . "\n";
    }
    $ek .= "strato = " . $partoprenanto->datoj[strato] . "\n";
    $ek .= "posxtkodo = " . $partoprenanto->datoj[posxtkodo] . "\n";
    $ek .= "urbo = " . $partoprenanto->datoj[urbo] . "\n";
    $ek .= "lando = " . eltrovu_landon($partoprenanto->datoj[lando]) . "\n";
    $ek .= "\n---- Komunikado ----\n";
    $ek .= "telefono = " . $partoprenanto->datoj[telefono] . "\n";
    $ek .= "telefakso = " . $partoprenanto->datoj[telefakso] . "\n";
    $ek .= "retposxtadreso = " . $partoprenanto->datoj[retposxto] . "\n";
    $ek .= "\n---- Partoprendatumoj ----\n";
    if ($partopreno->datoj[komencanto][0] == "J") {
        $ek .= "[X] estas novulo / komencanto\n";
    }
    if ($partopreno->datoj[invitletero][0] == "J") {
        $ek .= "[X] bezonas invitlereron por pasportnumero: " . $partopreno->datoj[pasportnumero] . "\n";
    }
    if ($partopreno->datoj[partoprentipo][0] == "t") {
        $ek .= "partoprenos >>>tuttempe<<< \n(de: " . $partopreno->datoj[de] . " gxis: " . $partopreno->datoj[gxis] . ")" . "\n";
    } elseif ($partopreno->datoj[partoprentipo][0] == "p") {
        $ek .= "partoprenos >>>partatempe<<< \n(de: " . $partopreno->datoj[de] . " gxis: " . $partopreno->datoj[gxis] . ")" . "\n";
    } else {
        $ek .= "mankas partopreno?? io eraro okazis - bonvolu kontaktu nin" . "\n";
        // MAcht das skript dann automatisch :))
    }
    if ($partopreno->datoj[vegetare][0] == "J") {
        $ek .= "estas >>>vegetarano<<<" . "\n";
    } else {
        if ($partopreno->datoj['vegetare'][0] == 'A') {
            $ek .= "estas >>>vegano<<<\n";
        } else {
            if ($partopreno->datoj['vegetare'][0] == 'N') {
                $ek .= "estas >>>viandmangxanto<<<" . "\n";
            } else {
                $ek .= "mangxas en nekonata formo (" . $partopreno->datoj['vegetare'] . ")\n";
            }
        }
    }
    if ($partopreno->datoj[domotipo][0] == "M") {
        $vosto .= ">>>memzorgas<<<" . "\n";
        if ($partopreno->datoj[kunmangxas][0] == "J") {
            $vosto .= "sed kunmang^as ";
        }
    } else {
        if ($partopreno->datoj[domotipo][0] == "J") {
            $vosto .= ">>>junulargastejumas<<< \n en ";
            if ($partopreno->datoj[dulita][0] == "J") {
                $vosto .= ">>>dulita<<< \n";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "u") {
                $vosto .= ">>>unuseksa<<< (sekso estas: " . $partoprenanto->datoj[sekso] . ")\n";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "g") {
                $vosto .= ">>>gea<<<" . "\n";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "n") {
                $vosto .= ">>>negrava<<< " . "\n";
            }
            $vosto .= "cxambro \n\n";
            if ($partopreno->datoj[kunkiu] != "") {
                $vosto .= "volas logxi kun >>>" . $partopreno->datoj[kunkiu] . "<<<\n";
            }
        }
    }
    $ek .= $vosto;
    if ($partopreno->datoj[tema]) {
        $ek .= "[X] kontribuos al la tema programo per: " . $partopreno->datoj[tema] . "\n";
    }
    if ($partopreno->datoj[distra]) {
        $ek .= "[X] kontribuos al la distra programo per: " . $partopreno->datoj[distra] . "\n";
    }
    if ($partopreno->datoj[vespera]) {
        $ek .= "[X] kontribuos al la vespera programo per: " . $partopreno->datoj[vespera] . "\n";
    }
    if ($partopreno->datoj[muzika]) {
        $ek .= "[X] kontribuas al la muzika vespero: " . $partopreno->datoj[muzika] . "\n";
    }
    // TODO: Prüfen, ob es wegfallen kann.
    if ($partopreno->datoj[rabato] != 0.0) {
        $ek .= "[X] deziras rabato de: " . $partopreno->datoj[rabato] . " E^, c^ar \"" . $partopreno->datoj[kialo] . " \"";
    }
    if ($partopreno->datoj["havas_asekuron"][0] == "N") {
        $ek .= "[X] bezonas asekuron pri malsano.";
    }
    return $ek;
}
 function landonomo()
 {
     return eltrovu_landon($this->datoj['lando']);
 }
/**
 * Montras la aktualan staton de cxambro.
 *  $grandeco: - se ne donita aux "malgranda", montras nur 
 *             - se "granda", ...
 * verda se estas tauxga
 * rugxa se ne tauxgas (pro sekso)
 */
function montru_cxambron($cxambro, $renkontigxo, $partoprenanto, $partopreno, $grandeco = "malgranda")
{
    $cxam_sql = datumbazdemando(array("litonombro", "nomo", "tipo", "etagxo", "dulita", "rimarkoj"), "cxambroj", "ID = '{$cxambro}'");
    $cxam_rezulto = sql_faru($cxam_sql);
    $row = mysql_fetch_array($cxam_rezulto, MYSQL_BOTH);
    if (tauxgas($partopreno->datoj[cxambrotipo], $partoprenanto->datoj[sekso], $row[tipo])) {
        $koloro = "green";
    } else {
        if ($row[tipo] == '') {
            $koloro = "black";
        } else {
            $koloro = "red";
        }
    }
    if ($grandeco == "granda") {
        ligu("cxambroj.php?etagxo=" . $row[etagxo], "Etag^o " . $row[etagxo]);
        echo " |";
    }
    ligu("cxambroj.php?cxambronombro={$cxambro}", "C^ambro: {$row['nomo']}");
    echo "<font color={$koloro}><strong>";
    if ($row[tipo] == "v") {
        echo " (vira)";
    } else {
        if ($row[tipo] == "i") {
            echo " (ina)";
        } else {
            if ($row[tipo] == "g") {
                echo " (gea)";
            } else {
                echo " (nedifinita)";
            }
        }
    }
    echo "</strong></font>\n";
    rajtligu("kreu_cxambron.php?id={$cxambro}", $grandeco == 'granda' ? "redaktu bazajn informojn" : "red.", "", "teknikumi", "ne");
    if ($grandeco == "granda") {
        //sxangxi la cxambrotipon
        echo "<form action='cxambroj.php?cxambronombro={$cxambro}' method='post'>";
        entajpbutono("(", "tipo", $row[tipo], "g", "g", 'gea');
        entajpbutono("", "tipo", $row[tipo], "v", "v", 'vira');
        entajpbutono("", "tipo", $row[tipo], "i", "i", 'ina)');
        entajpbokso("[", dulita, $row[dulita], J, J, "dulita c^ambro]");
        entajpejo("<BR>Rimarkoj:", "rimarkoj", $row[rimarkoj], 20);
        send_butono("Ek!");
        echo "</form>";
    }
    $renkontigxdauxro = kalkulu_tagojn($renkontigxo->datoj[de], $renkontigxo->datoj[gxis]);
    $partoprentagoj = kalkulu_tagojn($partopreno->datoj[de], $partopreno->datoj[gxis]);
    if ($partoprenanto->datoj[ID] and $grandeco == "granda") {
        echo "<form ACTION='cxambroj.php?cxambronombro={$cxambro}' METHOD='POST'>\n";
    }
    echo "<Table border><TR><TD>Nokto: ";
    if ($grandeco == "granda") {
        $manko = eltrovu_litojn($partopreno->datoj[ID]);
        $ar = JMTdisigo($renkontigxo->datoj[de]);
        $tago = $ar[tago];
        for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) {
            $ar = JMTdisigo(sekvandaton($renkontigxo->datoj[de], $noktoj));
            $sektago = $ar[tago];
            echo "<TD align=\"center\"> {$tago} / {$sektago}";
            $tago = $sektago;
        }
        echo "<TD><TD align=\"center\">tuta tempo";
    } else {
        for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) {
            echo "<TD>{$noktoj}</noktoj>";
        }
    }
    for ($litoj = 1; $litoj <= $row[litonombro]; $litoj++) {
        echo "<TR valign = center>\n<TD nowrap>Lito: " . $litoj;
        $uzata = false;
        for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) {
            $r = cxambro_uzata($cxambro, $noktoj, $litoj);
            $diferenco = $r[nokto_gxis] - $noktoj;
            echo "<TD align = center ";
            if ($diferenco > 0) {
                $noktoj += $diferenco++;
                //TODO:? hehe [respondo de Martin:] Das ist einfach nur eine geniale Funktion.
                echo "colspan = {$diferenco} ";
            }
            if ($r[rezervtipo] == "d") {
                echo " bgcolor=green> ";
                $uzata = true;
            } else {
                if ($r[rezervtipo] == "r") {
                    echo " bgcolor=yellow> ";
                    $uzata = true;
                } else {
                    if ($partoprenanto and $grandeco == "granda" and sekvandaton($renkontigxo->datoj[de], $noktoj - 1) >= $partopreno->datoj[de] and sekvandaton($renkontigxo->datoj[de], $noktoj) <= $partopreno->datoj[gxis] and $manko[$noktoj] != "1") {
                        echo "";
                        entajpbokso(">", "nokto[{$noktoj}]", "falseoderso", "", "{$litoj}", "", "", "ne");
                    } else {
                        echo " bgcolor=white>--";
                    }
                }
            }
            echo "<A href = \"partrezultoj.php?partoprenidento={$r['3']}&partoprenantoidento={$r['0']}\" onClick=\"doSelect({$r['0']});\">";
            if (($grandeco == "granda" or $diferenco > 3) and $r[partoprenantoID]) {
                $loka_partoprenanto = new Partoprenanto($r[partoprenantoID]);
                $teksto = $loka_partoprenanto->datoj[personanomo] . " " . $loka_partoprenanto->datoj[nomo] . " (" . eltrovu_landon($loka_partoprenanto->datoj[lando]) . " / " . $loka_partoprenanto->datoj[sekso] . "/" . $loka_partopreno->datoj[agxo] . ")";
                if ($grandeco == "granda") {
                    eoecho($teksto . "<BR> ");
                } else {
                    eoecho($teksto);
                }
                //eoecho (/*substr*/($teksto,0,$diferenco*3));
            }
            if ($diferenco > 3 and !$r[partoprenantoID] or $grandeco == "granda") {
                switch ($r[rezervtipo]) {
                    case "d":
                        echo "disdonita";
                        break;
                    case "r":
                        echo "rezervita";
                        break;
                }
            } else {
                if ($diferenco < 4) {
                    echo $r[rezervtipo];
                }
            }
            echo "</A>";
        }
        if ($partoprenanto and $grandeco == "granda") {
            echo "<TD>&nbsp;&nbsp;<TD align=center>";
            if ($uzata == false and $partoprentagoj == $renkontigxdauxro and $manko[sumo] == 0) {
                entajpbokso("", "tute", "falseoderso", "", "{$litoj}", "", "", "ne");
            }
        }
    }
    echo "</Table>";
    if ($partoprenanto->datoj[ID] and $grandeco == "granda") {
        echo "<select name=\"tipo\" size=1>\n";
        echo "<option selected>rezervi\n";
        echo "<option>disdoni\n";
        echo "</select><BR>\n";
        send_butono("Faru!");
        echo "</FORM>";
    }
    if ($grandeco != "granda") {
        eoecho($row[rimarkoj]);
    }
}
 /**
  * eltrovas la landokategorio-IDon en tiu cxi kategorisistemo,
  * en kiu estus la $partoprenanto per sia $partopreno en $renkontigxo.
  * redonu:
  *        array('ID' => identifikilo de la kategorio,
  *              'kialo' => iu teksto aux array(de => ..., eo => ...)).
  */
 function trovu_kategorion($partoprenanto, $partopreno, $renkontigxo)
 {
     debug_echo("<!-- trovu_kategorion[lando](): ppanto: " . var_export($partoprenanto, true) . "-->");
     $kat = $this->donu_kategorion_por($partoprenanto->datoj['lando']);
     // TODO: iom pli eficienta implementado.
     return array('ID' => $kat->datoj['ID'], 'kialo' => array('eo' => eltrovu_landon($partoprenanto->datoj['lando']), 'de' => eltrovu_landon_lokalingve($partoprenanto->datoj['lando'])));
 }