$_SESSION['partopreno']->skribu();
    $_SESSION['partopreno'] = new Partopreno($_SESSION['partopreno']->datoj['ID']);
}
HtmlKapo();
$partoprenanto = $_SESSION["partoprenanto"];
// la persona pronomo (li aux sxi)
$ri = $partoprenanto->personapronomo;
$Ri = ucfirst($ri);
eoecho("Ni nun akceptas <b>" . $partoprenanto->datoj[personanomo] . " " . $partoprenanto->datoj[nomo] . " </b>(" . $partoprenanto->datoj[ID] . ") al la <b>" . $_SESSION["renkontigxo"]->datoj[nomo] . "</b>");
// Demandendaxjoj ...
eoecho("<h2>Demandendas:</h2>\n<UL>\n");
eoecho("<LI>C^u {$ri} s^ang^is personajn au^ partoprenajn datumojn sur la akceptofolio?");
eoecho("<br />\nSe jes,");
ligu("partrezultoj.php", "s^angu ilin");
eoecho(" en la datumbazo.</li>\n");
if (eltrovu_landokategorion($partoprenanto->datoj[lando]) != 'A') {
    eoecho("<LI>Eventuale kontrolu la log^landon.</LI>\n");
}
if ($partopren->datoj['agxo'] <= 26) {
    eoecho("<li>Eventuale kontrolu la ag^on / naskig^daton. (" . $partopreno->datoj[agxo] . " / " . $partoprenanto->datoj[naskigxdato] . ")</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).</li>\n");
}
// Krompago por ne-membroj
echo "<li>\n";
if (deviga_membreco_tipo == 'landa' and $partoprenanto->datoj["lando"] == HEJMLANDO) {
    eoecho("{$Ri} log^as en " . renkontigxolando . ". C^u {$ri} jam estas membro de " . deviga_membreco_nomo . "?<br />\n");
    $membrokontrolo = true;
} else {
    if (deviga_membreco_tipo == 'monda') {
 function Kotizo($partopreno, $partoprenanto, $renkontigxo)
 {
     if ($partopreno == null) {
         return;
     }
     //agxo je la komenco de la arangxo
     $agxo = kalkulu_agxon($partoprenanto->datoj['naskigxdato'], $renkontigxo->datoj['de']);
     //            echo "AGXO: $agxo";
     $this->agxkategorio = $this->kalkulu_agx_kategorio($agxo, $renkontigxo);
     $this->komento .= "agxkategorio = '" . $this->agxkategorio . "', ";
     //40 Euro mehr für über 40 jährige (nur 2003)
     if ($agxo >= 40.0 && $renkontigxo->datoj["ID"] == 3) {
         $this->kromtroagxa = 40;
     }
     // TODO: auch aus der DB ziehen.
     $this->landakategorio = eltrovu_landokategorion($partoprenanto->datoj[lando]);
     if (!$this->landakategorio) {
         // TODO: cxu eble pli bone A?
         $this->landakategorio = "C";
     }
     // TODO: Cxu GROUP BY necesas?
     // "select sum(kvanto) from pagoj where dato>='".$renkontigxo->datoj[de]."' and partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID order by dato asc"
     // sumo de surlokaj pagoj (= pagoj, kiuj ne okazis antauxe)
     $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "pagoj", array("dato >= '" . $renkontigxo->datoj[de] . "'", "partoprenoID = '" . $partopreno->datoj[ID] . "'"), "", array("group" => "partoprenoID", "order" => "dato ASC"))));
     if ($row) {
         $this->surlokapago = $row[0];
     }
     //eltrovi la antauxpagon egalas: eltrovi la unuan pagon
     // TODO: Cxu vere? Cxu ne eblas plurfoje antauxpagi?
     // TODO: Cxu GROUP BY necesas?
     // "select sum(kvanto) from pagoj where dato<'".$renkontigxo->datoj[de]."' and partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID order by dato asc"
     $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "pagoj", array("dato < '" . $renkontigxo->datoj["de"] . "'", "partoprenoID = '" . $partopreno->datoj["ID"] . "'"), "", array("group" => "partoprenoID", "order" => "dato ASC"))));
     if ($row) {
         $this->antauxpago = $row[0];
     }
     // "select dato from pagoj where partoprenoID='".$partopreno->datoj[ID]."' order by dato asc limit 0,1"
     $row = mysql_fetch_row(sql_faru(datumbazdemando("dato", "pagoj", "partoprenoID = '" . $partopreno->datoj['ID'] . "'", "", array("order" => "dato ASC", "limit" => "0,1"))));
     if ($row) {
         $this->antauxpagdato = $row[0];
     }
     //eltrovi la rabatsumon
     // "select sum(kvanto) from rabatoj where partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID"
     // TODO: Cxu GROUP BY necesas?
     $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "rabatoj", "partoprenoID='" . $partopreno->datoj[ID] . "'", "", array("group" => "partoprenoID"))));
     if ($row) {
         $this->rabato = $row[0];
     }
     if ($partopreno->datoj["KKRen"] == 'J') {
         $relevantadato = $renkontigxo->datoj["plejfrue"];
     } else {
         if (!$partopreno->datoj["aligxkategoridato"] or $partopreno->datoj["aligxkategoridato"] == "0000-00-00") {
             if ($this->landakategorio[0] == "C") {
                 $this->relevantadato = $partopreno->datoj["aligxdato"];
             } else {
                 if ($this->landakategorio[0] == "B" and $this->antauxpago >= 8) {
                     // TODO: minimuma antauxpago el datumbazo
                     $this->relevantadato = $this->antauxpagdato;
                 } else {
                     if ($this->landakategorio[0] == "A" and $this->antauxpago >= 28) {
                         // TODO: minimuma antauxpago el datumbazo
                         $this->relevantadato = $this->antauxpagdato;
                     } else {
                         // alia kategorio?
                         $this->relevantadato = $renkontigxo->datoj["de"];
                     }
                 }
             }
         } else {
             $this->relevantadato = $partopreno->datoj["aligxkategoridato"];
         }
     }
     $this->aligxkategorio = $this->kalkulu_aligx_kategorion($this->relevantadato, $renkontigxo);
     $this->partoprentagoj = kalkulu_tagojn($partopreno->datoj[de], $partopreno->datoj[gxis]);
     $renkontigxotempo = kalkulu_tagojn($renkontigxo->datoj[de], $renkontigxo->datoj[gxis]);
     //$landarabato = kalkulu_landa_rabato($partoprenanto->datoj[lando]);
     if ($renkontigxo->datoj["ID"] < 4) {
         $rabato = 0.0;
         if ($partopreno->datoj[domotipo][0] != "M") {
             if ($this->landakategorio[0] == "B") {
                 $rabato = 30.0;
             } else {
                 if ($this->landakategorio[0] == "C") {
                     $rabato = 40.0;
                 }
             }
         } else {
             if ($partopreno->datoj[domotipo][0] == "M") {
                 if ($this->landakategorio[0] == "B") {
                     $rabato = 40.0;
                 } else {
                     if ($this->landakategorio[0] == "C") {
                         $rabato = 50.0;
                     }
                 }
             }
         }
         $this->landarabato = $rabato;
     }
     //auch aus der DB!!
     $baza = $this->kutimaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $this->aligxkategorio, $partopreno->datoj["domotipo"], $this->landakategorio);
     $this->bazahodiaux = $this->kutimaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $this->kalkulu_aligx_kategorion(date("Y-m-d", time()), $renkontigxo), $partopreno->datoj[domotipo], $this->landakategorio);
     /* mi rekalkulas, por ke la kromefiko nuligxu. */
     $this->kalkulu_aligx_kategorion($this->relevantadato, $renkontigxo);
     if ($renkontigxo->datoj["ID"] < 4) {
         $plej_alta = $this->plejaltaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $partopreno->datoj[domotipo]);
         $parttempa = $plej_alta / $renkontigxo->datoj[parttemppartoprendivido] * $this->partoprentagoj;
     } else {
         $parttempa = $baza * $this->partoprentagoj / $renkontigxo->datoj["parttemppartoprendivido"];
     }
     if ($this->partoprentagoj < $renkontigxotempo) {
         if ($renkontigxo->datoj["ID"] < 4) {
             //echo "Baza $baza parttempa $parttempa rabato:".$this->landarabato;
             if ($parttempa < $baza - $this->landarabato) {
                 $baza = $parttempa;
                 $this->landarabato = 0;
                 // $kromsenantauxpago = 0; //parttemppartoprenantoj ne devas antauxpagi
             }
             //else $baza=$plej_alta;  quasi $baza=$baza;
             //echo "Baza $baza parttempa $parttempa rabato:".$this->landarabato;
         } else {
             $baza = $parttempa;
         }
     }
     // se la parta_prezo estos pli pl la baza, k.e. junaj homoj kun 6 partoprentagoj ni prenos la bazprezon.
     $this->bazakotizo = $baza;
     //kalkulu_bazo($agxo,$kato,$domo,$landakategorio,$partoprentagoj,$this->antauxpago);
     // TODO: jaja, später aus der DB
     //  if ($partopreno->datoj[dulita][0]=="J") $this->kromdulita=(double)20.00;
     //TODO: certigi, ke vere estas dulita cxambro
     $row = mysql_fetch_array(eltrovu_cxambrojn($partopreno->datoj[ID]), MYSQL_NUM);
     if ($row) {
         // "select litonombro,dulita from cxambroj where ID='".$row[0]."'"
         $row2 = mysql_fetch_array(sql_faru(datumbazdemando(array("litonombro", "dulita"), "cxambroj", "ID = '" . $row[0] . "'")), MYSQL_BOTH);
         $this->litoj = $row2[litonombro];
         if ($row2[dulita] == 'J') {
             $this->litoj = 2;
         }
         //TODO: traduku: Simulierter Zweierzimmer bei Raumüberschuss.
         if ($this->litoj == '2') {
             $this->kromdulita = (double) 20.0;
         }
         if ($row2[litonombro] == '1') {
             $this->kromdulita = (double) 30.0;
         }
         //TODO: eventuell andere Zuzahlung für Einzelzimmer
     } else {
         // TODO: traduku: noch kein Zimmer zugewiesen - trotzdem dulita-krompago berechnen
         if ($partopreno->datoj['dulita'] == 'J') {
             $this->kromdulita = (double) 20.0;
         }
     }
     if ($renkontigxo->datoj['ID'] >= 7) {
         // ekde Würzburg nova invitilo-sistemo
         $invitdetaloj = $partopreno->sercxu_invitpeton();
         if ($invitdetaloj and $invitdetaloj->datoj['invitletero_sendenda'] == 'j') {
             $this->krominvitilo = $agxo < 30 ? (double) 5 : (double) 10;
         } else {
             $this->krominvitilo = 0;
         }
     } else {
         if ($partopreno->datoj[invitletero][0] == 'J' and $partopreno->datoj[invitilosendata] != "0000-00-00") {
             if ($renkontigxo->datoj[ID] < 4 || $agxo < 30) {
                 $this->krominvitilo = (double) 5;
             } else {
                 $this->krominvitilo = (double) 10;
             }
         } else {
             $this->krominvitilo = 0.0;
         }
     }
     if ($partopreno->datoj[ekskursbileto] == 'J') {
         $this->kromekskurso = 7;
     }
     //auch aus der DB ziehen
     switch ($partopreno->datoj['surloka_membrokotizo']) {
         case 'j':
         case 'i':
             $this->krom_membro = $partopreno->datoj['membrokotizo'];
             break;
         case 'k':
             $this->krom_nemembro = $partopreno->datoj['membrokotizo'];
             break;
     }
     switch ($partopreno->datoj['tejo_membro_kontrolita']) {
         case 'i':
             $this->rabato_tejo = TEJO_RABATO;
             $this->kotizo_tejo = $partopreno->datoj['tejo_membro_kotizo'];
             break;
         case 'j':
             $this->rabato_tejo = TEJO_RABATO;
             $this->kotizo_tejo = 0.0;
             break;
         case '?':
         case 'n':
             $this->rabato_tejo = 0.0;
             $this->kotizo_tejo = 0.0;
             break;
     }
     $this->aliaj_krompagoj = $this->kromdulita + $this->krominvitilo + $this->kromekskurso + $this->kromtroagxa + $this->krom_surloka;
     $this->krompago = $this->aliaj_krompagoj + $this->kotizo_tejo + $this->krom_membro + $this->krom_nemembro;
     $this->cxiuj_rabatoj = $this->rabato + $this->rabato_tejo + $this->troagxasedrabato;
     $this->kotizo = $this->bazakotizo - $this->landarabato + $this->krompago - $this->cxiuj_rabatoj;
     $this->pagenda = $this->kotizo - $this->antauxpago - $this->surlokapago;
     // + Beachtung der Landeskategorien
     // Später auch mal aus der DB zu ziehen
     //return $baza;
 }
 function landokategorio()
 {
     $kategorio = eltrovu_landokategorion($this->datoj['lando']);
     return $kategorio->datoj['nomo'];
 }
/**
 * TODO: dokumentado por faru_1ankonfirmilon
 *
 * ### uzata de partrezultoj.php, AligxiloDankon.php,
 *     kaj sendu_konfirmilon(). ###
 */
function faru_1akonfirmilon($partoprenanto, $partopreno, $renkontigxo)
{
    //$partoprenanto = new Partoprenanto($antoID);
    //$partopreno = new Partopreno($enoID);
    //$kotizo = new Kotizo($partopreno,$partoprenanto,$renkontigxo);
    $ek = "";
    if ($partopreno->datoj["germanakonfirmilo"] == "J") {
        $ek .= utf8_encode("[ Deutsche Übersetzung am Ende. ]\n\n");
    }
    $ek .= "Saluton kara " . eotransformado($partoprenanto->datoj[personanomo] . " " . $partoprenanto->datoj[nomo], "x-metodo");
    $ek .= "\nni jxus ricevis vian aligxilon por la\n" . eotransformado($renkontigxo->datoj[nomo], "x-metodo") . " en " . eotransformado($renkontigxo->datoj[loko], "x-metodo") . ".\n";
    if ($partopreno->datoj[retakonfirmilo] == "J") {
        $ek .= "\nVi indikis, ke vi deziras retan konfirmilon, do vi\n ricevas la jenan mesagxon kiel 1a konfirmilo. \nLa 2a konfirmilo sekvos en novembro.\n";
    }
    $ek .= "\n";
    //$ek .= "De ".$partoprenanto->datoj[retposxto]." venis la sekva aligxilo\n";
    $ek .= "Aligxdato: " . $partopreno->datoj[aligxdato] . "\n";
    $ek .= "\n";
    $ek .= "---- Personaj datoj ----\n";
    $ek .= "Personanomo: " . $partoprenanto->datoj[personanomo] . "\n";
    $ek .= "Familianomo: " . $partoprenanto->datoj[nomo] . "\n";
    $ek .= "Sekso: " . $partoprenanto->datoj[sekso] . "\n";
    $ek .= "Naskigxdato: " . $partoprenanto->datoj[naskigxdato] . "\n";
    //  $ek .= "okupigxo: ".okupigxtipo($partoprenanto->datoj[okupigxo])." ".$partoprenanto->datoj[okupigxteksto]."\n";
    if ($partoprenanto->datoj[lando] == '16') {
        $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 ($partoprenanto->datoj['ueakodo']) {
        $ek .= "Via UEA-kodo estas " . $partoprenanto->datoj['ueakodo'] . ".\n";
    }
    if ($partopreno->datoj['tejo_membro_laudire'] == 'j') {
        $ek .= "Vi indikis, ke vi en " . substr($renkontigxo->datoj['gxis'], 0, 4) . " estos individua membro de TEJO.\n" . "(Ni kontrolos tion - prefere sendu vian TEJO/UEA-kotizon\n" . " jam antaux la renkontigxo al UEA.)\n";
    }
    if ($partopreno->datoj[komencanto][0] == "J") {
        $ek .= "Vi estas novulo / komencanto.\n";
    }
    if ($partopreno->datoj[invitletero][0] == "J") {
        $ek .= "Vi deziras invitlereron por pasportnumero: " . $partopreno->datoj[pasportnumero] . ".\n";
    }
    if ($partopreno->datoj["havas_asekuron"][0] == "J") {
        $ek .= "Vi havas asekuron pri malsano kaj kunportos la necesajn paperojn.\n";
    } else {
        $ek .= "Vi ne havas tauxgan asekuron pri malsano.\n";
    }
    if ($partopreno->datoj[partoprentipo][0] == "t") {
        $ek .= "Vi partoprenos tuttempe (de: " . $partopreno->datoj[de] . " gxis: " . $partopreno->datoj[gxis] . ")" . "\n";
    } elseif ($partopreno->datoj[partoprentipo][0] == "p") {
        $ek .= "Vi partoprenos partatempe (de: " . $partopreno->datoj[de] . " gxis: " . $partopreno->datoj[gxis] . ")" . "\n";
    } else {
        $ek .= "mankas partoprentipo?? io eraro okazis - bonvolu kontaktu nin" . "\n";
        //TODO: MAcht das skript dann automatisch :))
    }
    if ($partopreno->datoj[vegetare][0] == "J") {
        $ek .= "Vi aligxis kiel vegetarano kaj ";
    } else {
        if ($partopreno->datoj['vegetare'][0] == "N") {
            $ek .= "Vi aligxis kiel viandmangxanto kaj ";
        } else {
            if ($partopreno->datoj['vegetare'][0] == "A") {
                $ek .= "Vi aligxis kiel vegano kaj ";
            } else {
                $ek .= "Vi aligxis (pri mangxado) en nekonata formo\n" . "(" . $partopreno->datoj['vegetare'] . ")";
            }
        }
    }
    if ($partopreno->datoj[domotipo][0] == "M") {
        $vosto .= "memzorgas ";
        if ($partopreno->datoj[kunmangxas][0] == "J") {
            $vosto .= "sed kunmangxas ";
        }
    } else {
        if ($partopreno->datoj[domotipo][0] == "J") {
            $vosto .= "junulargastejumas \n en (eble) ";
            if ($partopreno->datoj[dulita][0] == "J") {
                $vosto .= "dulita ";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "u") {
                $vosto .= "unuseksa ";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "g") {
                $vosto .= "gea " . "";
            }
            if ($partopreno->datoj[cxambrotipo][0] == "n") {
                $vosto .= "negrava " . "";
            }
            $vosto .= "cxambro ";
            if ($partopreno->datoj[kunkiu] != "") {
                $vosto .= "(eble) kun " . $partopreno->datoj[kunkiu] . "\n";
            }
        }
    }
    $ek .= $vosto;
    if ($partopreno->datoj[tema]) {
        $ek .= "\n[X] kontribuos al la tema programo per: " . $partopreno->datoj[tema] . "";
    }
    if ($partopreno->datoj[distra]) {
        $ek .= "\n[X] kontribuos al la distra programo per: " . $partopreno->datoj[distra] . "";
    }
    if ($partopreno->datoj[vespera]) {
        $ek .= "\n[X] kontribuos al la vespera programo per: " . $partopreno->datoj[vespera] . "";
    }
    if ($partopreno->datoj[muzika]) {
        $ek .= "\n[X] kontribuas al la muzika vespero: " . $partopreno->datoj[muzika] . "";
    }
    /* if ($partopreno->datoj[rabato]!=0.00)
      {
        $ek .= "\n[X] deziras rabato de: ".$partopreno->datoj[rabato]." Euro, cxar \"".$partopreno->datoj[kialo]." \"";
      }*/
    if ($partopreno->datoj[rimarkoj]) {
        $ek .= "\nkaj havas la jenajn rimarkojn:\n\n[" . $partopreno->datoj[rimarkoj] . "]\n";
    }
    // Sonderregelung Deutsche Ü 27
    if ($renkontigxo->datoj["mallongigo"] == "IS 2005" and $partoprenanto->datoj["lando"] == HEJMLANDO and strcmp($partoprenanto->datoj["naskigxdato"], "1978-12-27") < 0) {
        $ek .= "\nVi (je la komenco de IS) agxos 27 jarojn aux pli. Tial vi" . "\n nur povos partopreni, se vi kontribuos al la programo." . "\n Bonvolu sendi proponojn al la programrespondeculoj." . "\n Vidu  http://www.esperanto.de/is/de/2005/adresoj#programo." . "\n";
    }
    // TODO: generaligu antauxpagon (prenu el datumbazo?)
    $landkat = eltrovu_landokategorion($partoprenanto->datoj[lando]);
    switch ($landkat) {
        case "A":
            $antauxpago = "30";
            break;
        case "B":
            $antauxpago = "10";
            break;
    }
    if ($landkat != "C") {
        $ek .= "\n\nNe forgesu, ke via aligxo nur ekvalidas post alveno de\n minimuma antauxpago de {$antauxpago} euxroj cxe ni.\n";
        $ek .= "Pri pageblecoj rigardu http://www.esperanto.de/is/eo/2006/kontoj\n\n";
    }
    if ($partopreno->datoj[invitletero][0] == 'J') {
        $ek .= "\n" . donu_tekston("konf1-invitilo", $renkontigxo) . "\n";
    }
    $ek .= "\nPor priparoli la ISon jam antaux la IS, plani kunveturadon, ktp." . "\nnun ekzistas aparta jahugrupo:  is-en-germanio." . "\n" . "\nPor aligxi uzu" . "\n       http://groups.yahoo.com/group/is-en-germanio/" . "\naux sendu retmesagxon al" . "\n       is-en-germanio-subscribe@yahoogroups.com" . "\n";
    $ek .= "\nNi atendos vin en la IS.\n\nJulia Noe en la nomo de la organiza teamo de la IS.";
    //$kotizo->montru_kotizon(1,$partopreno,$partoprenanto,$renkontigxo);
    //$ek .= $kotizo->mesagxo;
    if ($partopreno->datoj["germanakonfirmilo"] == "J") {
        $ek .= utf8_encode("\n\n ------- Deutsche Übersetzung ---------\n\n") . faru_1an_konfirmilon_germane($partoprenanto, $partopreno, $renkontigxo);
    }
    return $ek;
}
 function landokategorio()
 {
     return eltrovu_landokategorion($this->datoj['lando']);
 }