SM-hallit 2020 - ilmoittautuneet


{source}

<style>
th {
    font-weight: bold;
    text-align: left;
}
td {
    padding: 1px;
    line-height: 14px;
    text-align: left;
    vertical-align: top;
}
td#note0, th#note0 {
    text-align: left;
    font-size: 12px;
    vertical-align: top;
}
td#note3, th#note3 {
    font-weight: bold;
    text-align: left;
    font-size: 12px;
    vertical-align: top;
}
td#note2, th#note2 {
    font-weight: bold;
    text-align: left;
    font-size: 14px;
    height: 30px;
    vertical-align: middle;
    padding:0;
    margin:0
}
td#note1, th#note1 {
    font-weight: bold;
    text-align: left;
    font-size: 14px;
    height: 50px;
    vertical-align: middle;
    padding:0;
    margin:0
}

</style>


<?php

if (!function_exists('mb_ucwords'))
{
function mb_ucwords($str)
{
return mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
}
}
// Alkukirjaimet isoiksi, muut pieniksi
function nimen_muokkaus($nimi_in) {
$viiva_pos = strpos($nimi_in,'-',0);
$nimi_out = $nimi_in;
if ($viiva_pos !== false) {
$nimi_out = str_replace("-", "=", $nimi_in);
$nimi_out = mb_strtolower($nimi_out,'UTF-8');
$nimi_out = mb_convert_case($nimi_out, MB_CASE_TITLE, "UTF-8");
$nimi_out = str_replace("=", "-", $nimi_out);
} else {
$nimi_out = mb_strtolower($nimi_out,'UTF-8');
$nimi_out = mb_convert_case($nimi_out, MB_CASE_TITLE, "UTF-8");
}
return trim($nimi_out);
}

function sortArray($data, $field)
{
if(!is_array($field)) $field = array($field);
usort($data, function($a, $b) use($field) {
$retval = 0;
foreach($field as $fieldname) {
if($retval == 0) $retval = strnatcmp($a[$fieldname],$b[$fieldname]);
}
return $retval;
});
return $data;
}

$halli_yu_lajit =       array('60 m aj','3000 m käv',
                        '60 m', '200 m', '400 m', '800 m', '1500 m', '3000 m',
                        'kuula', 'painonheitto', 'pituus', 'kolmiloikka', 'korkeus', 'seiväs');                                    

$viesti_lajit =         array('4x200 m (M45,M40,M35,M30)',
                        '4x200 m (M65,M60,M55,M50)',
                        '3x200 m (M80+,M75,M70)',
                        '4x200 m (N45,N40,N35,N30)',
                        '4x200 m (N60+,N60+,N55,N50)');

include $_SERVER['DOCUMENT_ROOT']."/joomla/KP-php/SAUL-seurat.php";

define('TIMER', microtime(true));
register_shutdown_function('calculate_time');
function calculate_time(){
return microtime(true)-TIMER;
}

$time_start = microtime(true);

// OSALLISTUJIEN TIETOJA
$kilpailu = "";
$joukkuekilpailu = "";
$taulukko = "";
$lisatiedot = "";
$osallistujien_ilmoituksia = 0;
$osallistujia = 0;
$osallistujia_yht = 0;
$osallistuja_nro = 0;
$mies_sarjanvaihtoja = 0;
$nais_sarjanvaihtoja = 0;
$osallistujan_seura_lyhenne = "";
$ilmo_data = array();
$laji_data = array();
$hlo_data = array();
$henkilo_data = array();
$laji_osallistujat = array();
$rekisterointi_maksut = array();
$ikasarjat = array();
$hlo_tunniste = array();
// $kaikki_lajit = array();
$osallistuja_id = array();
$sarjanvaihtajien_tunnisteet = array();
$osallistujien_tunnisteet = array();
$hlo_tunniste_laji_tark = array();
$sarjanvaihtajien_joukkuesarjat = array();
$omat_sarjat = array();
$osallisuneet_seurat = array();
$seuran_joukkueet_kpl = array();
$seuran_osallistujat_kpl = array();
$seuran_osallistujat_netti_kpl = array();
$seuran_osallistujat_ryhma_kpl = array();
$seuran_laji_osallistujat_kpl = array();
$seuran_laji_osallistujat_netti_kpl = array();
$seuran_laji_osallistujat_ryhma_kpl = array();

$tarkistus_ilmoitus = array();
//$suorituksia = 0;

$bgc1 = '#FADAA2';
$bgc2 = '#ffffff';
$bgc3 = '#DDDDDD';
$vtc = '#FCBBAC';

global $hlo_data;

////////////////////////////////////////////////////////////////
// Valitse tutkittava kilpailu
////////////////////////////////////////////////////////////////

// Valitse yksi allaolevista kilpailuista
$aseta_kilpailu = 'SM_hallit';

if ($aseta_kilpailu == 'SM_hallit') {
    // Päivitä kilpailun mukaan, jos maantie 10km
    $kilpailu = 'SMhallit2020ilm';
    $taulukko = 'SMhallit2020taulukko';
//    $joukkuekilpailu = 'sm-hallit-2018-viestit';
    //$kaikki_lajit = $halli_yu_lajit;
}
////////////////////////////////////////////////////////////////
// Kilpailuasetukset tänne asti
////////////////////////////////////////////////////////////////
$tulosta_julkinen_osallistujat = true;
$tulosta_osallistujamaarat = true;
$tulosta_huomautukset = false;
$tulosta_maksuseuranta = false;
$tulosta_tulospalvelu = false;

////////////////////////////////////////////////////////////////
// HAE YKSILÖILMOITUSTEN TIEDOT TAULUKKOON
////////////////////////////////////////////////////////////////
// Hae valitun kilpailun ilmoittautumisten ID:t
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select('id');
$query->from($db->quoteName('joom3_facileforms_records'));
$query->where($db->quoteName('name')." = ".$db->quote($kilpailu));
$query->order($db->quoteName('id') . 'ASC');
$db->setQuery($query);
$ilmoittautumiset = $db->loadColumn();
$osallistujien_ilmoituksia = count($ilmoittautumiset);
//echo "<br>osallistujien_ilmoituksia: ".$osallistujien_ilmoituksia;
$ilmo_nro = 0;
// Hae ilmoittautuneiden tiedot ja tallenna taulukkoon
for ($ilmo_nro = 0; $ilmo_nro < $osallistujien_ilmoituksia; $ilmo_nro++) {
    $osallistujan_id = $ilmoittautumiset[$ilmo_nro];
//    echo "<br>osallistujan_id: ".$osallistujan_id."<br>";
    $query = $db->getQuery(true);
//    $query->select('value');
//    $query->select('element');
    $query->select(array('name', 'value'));
    $query->from($db->quoteName('joom3_facileforms_subrecords'));
    $query->where($db->quoteName('record')." = ".$db->quote($osallistujan_id));
    $query->order($db->quoteName('element') . 'ASC');
    $db->setQuery($query);
    $osallistujatiedot = $db->loadAssocList();
    $nro = $oi;
    $kaikki_lajit = array();
    $lajeja = 0;
    for ($datacol = 0; $datacol < count($osallistujatiedot); $datacol++) {
        switch ($osallistujatiedot[$datacol]['name']) {
            case 'osallistujanetunimi':
                $osallistujan_etunimi = $osallistujatiedot[$datacol]['value'];
//                echo $osallistujan_etunimi."<br>";
                break;
            case 'osallistujansukunimi':
                $osallistujan_sukunimi = $osallistujatiedot[$datacol]['value'];
                break;
            case 'seura':
                $ilmo_data[$ilmo_nro]['seura'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'sukupuoli':
                $ilmo_data[$ilmo_nro]['sukupuoli'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'sarja':
                $ilmo_data[$ilmo_nro]['ikasarja'] = $osallistujatiedot[$datacol]['value'];
                $osallistujan_sarja = $osallistujatiedot[$datacol]['value'];
                break;
            case 'syntymaaika':
                $ilmo_data[$ilmo_nro]['syntymaaika'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'sahkopostiosoite':
                $ilmo_data[$ilmo_nro]['sahkoposti'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'ilmoitetutlajit':
                $ilmo_data[$ilmo_nro]['lajit'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'parasaika60m':
                $ilmo_data[$ilmo_nro]['paras_60m'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'parasaika60maj':
                $ilmo_data[$ilmo_nro]['paras_60maj'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'parasaika200m':
                $ilmo_data[$ilmo_nro]['paras_200m'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'parasaika400m':
                $ilmo_data[$ilmo_nro]['paras_400m'] = $osallistujatiedot[$datacol]['value'];
                break;
            case 'lisatiedot':
                $ilmo_data[$ilmo_nro]['lisatiedot'] = $osallistujatiedot[$datacol]['value'];
                break;
        }
    }
    $lajit_kaikki = explode(',', $ilmo_data[$ilmo_nro]['lajit']);
    $lajeja = count($lajit_kaikki);


    $osallistujan_etunimi = nimen_muokkaus($osallistujan_etunimi);
    $osallistujan_sukunimi = nimen_muokkaus($osallistujan_sukunimi);
    $ilmo_data[$ilmo_nro]['etunimi'] = $osallistujan_etunimi;
    $ilmo_data[$ilmo_nro]['sukunimi'] = $osallistujan_sukunimi;
    $ilmo_data[$ilmo_nro]['nimi'] = $osallistujan_etunimi." ".$osallistujan_sukunimi;
    $ilmo_data[$ilmo_nro]['lajeja'] = $lajeja;
    $ilmo_data[$ilmo_nro]['maksu'] = 5 + 12*$lajeja;
    $ilmo_data[$ilmo_nro]['idnro'] = $osallistujan_id;
    $ilmo_data[$ilmo_nro]['ilmo_mode'] = 'yksilo';
    $ilmo_data[$ilmo_nro]['sarja'] = $ilmo_data[$ilmo_nro]['sukupuoli'][0].$osallistujan_sarja;
//    echo "<br>sarja: ".$laji_data[$ilmo_nro]['sarja']."<br>";
}

////////////////////////////////////////////////////////////////////
// Hae taulukkoilmoittautumisten tiedot samaan taulukkoon
////////////////////////////////////////////////////////////////////
// Hae taulukkoilmoitusten ID:t
$query = $db->getQuery(true);
$query->select('id');
$query->from($db->quoteName('joom3_facileforms_records'));
$query->where($db->quoteName('name')." = ".$db->quote($taulukko));
$query->order($db->quoteName('id') . 'ASC');
$db->setQuery($query);
$column = $db->loadColumn();
$taulukko_ilmoituksia = count($column);
//$ilmo_nro = $osallistujien_ilmoituksia;
// echo "<br>Taulukkoilmoittautumisten ID:t: ";
for ($taulu_nro=0; $taulu_nro<$taulukko_ilmoituksia+1; $taulu_nro++) {
    $taulukko_ilmoitus_id = $column[$taulu_nro];
//    echo "taulukko_ilmoitus_id $taulu_nro ".$column[$taulu_nro]."<br>";;
    $query = $db->getQuery(true);
    $query->select(array('name', 'value'));
    $query->from($db->quoteName('joom3_facileforms_subrecords'));
    $query->where($db->quoteName('record')." = ".$db->quote($taulukko_ilmoitus_id));
    $query->order($db->quoteName('element') . 'ASC');
    $db->setQuery($query);
    $taulukkotiedot = $db->loadAssocList();
    $nro = $ti;
    $ilmoittajan_nimi = '';
    $ryhma_seura = '';
    $ryhmatiedot = '';
    $osallistujan_seura_lyhenne = "";
    $osallistujan_nimi = '';
    $osallistujan_sukupuoli = '';
    for ($item = 0; $item < count($taulukkotiedot); $item++) {
//        echo "<br>item: ".$taulukkotiedot[$item]['name']."<br>";
        switch ($taulukkotiedot[$item]['name']) {
            case 'ilmoittajannimi':
                $ryhma_ilmoittaja = $taulukkotiedot[$item]['value'];
//                echo $ilmoittajannimi."<br>";
                break;
            case 'sahkopostiosoite':
                $sahkoposti = $taulukkotiedot[$item]['value'];
                break;
            case 'seura':
                $ryhma_seura = $taulukkotiedot[$item]['value'];
//                echo "<br>ryhma_seura: ".$ryhma_seura."<br>";
                break;
            case 'ryhmataulukko':
                $ryhmatiedot = $taulukkotiedot[$item]['value'];
//                echo $ryhmatiedot."<br>";
                break;
            case 'lisatiedot':
                $ryhma_lisatiedot = $taulukkotiedot[$item]['value'];
                break;
        }
    }
    
    $line = explode("\n", $ryhmatiedot);
    $lines = count($line);
    for ($li=0; $li<$lines; $li++) {
        $ryhma_data = explode("\t", $line[$li]);
        $sarakkeita = count($ryhma_data);
        $ilmo_data[$ilmo_nro]['idnro'] = $taulukko_ilmoitus_id;
        if ($sarakkeita > 4) {
            $ilmo_data[$ilmo_nro]['ilmo_mode'] = 'ryhma';
            $ilmo_data[$ilmo_nro]['sahkoposti'] = $sahkoposti;
            $ilmo_data[$ilmo_nro]['seura'] = $ryhma_seura;
            $osallistujan_etunimi = trim($ryhma_data[0]);
            $osallistujan_sukunimi = trim($ryhma_data[1]);
            $osallistujan_etunimi = nimen_muokkaus($osallistujan_etunimi);
            $osallistujan_sukunimi = nimen_muokkaus($osallistujan_sukunimi);
            $ilmo_data[$ilmo_nro]['etunimi'] = $osallistujan_etunimi;
            $ilmo_data[$ilmo_nro]['sukunimi'] = $osallistujan_sukunimi;
            $ilmo_data[$ilmo_nro]['nimi'] = $osallistujan_etunimi." ".$osallistujan_sukunimi;
            $ilmo_data[$ilmo_nro]['sarja'] = trim($ryhma_data[2]);
            $ilmo_data[$ilmo_nro]['syntymaaika'] = trim($ryhma_data[3]);
            $ilmo_data[$ilmo_nro]['lajit'] = trim($ryhma_data[4]);
            $ilmo_data[$ilmo_nro]['paras_60m'] = '';
            $ilmo_data[$ilmo_nro]['paras_200m'] = '';
            $ilmo_data[$ilmo_nro]['paras_400m'] = '';
            $ilmo_data[$ilmo_nro]['paras_60maj'] = '';
            $ilmo_data[$ilmo_nro]['lisatiedot'] = $ryhma_lisatiedot;

            if ($sarakkeita > 5) $ilmo_data[$ilmo_nro]['paras_60m'] = trim($ryhma_data[5]);
            if ($sarakkeita > 6) $ilmo_data[$ilmo_nro]['paras_200m'] = trim($ryhma_data[6]);
            if ($sarakkeita > 7) $ilmo_data[$ilmo_nro]['paras_400m'] = trim($ryhma_data[7]);
            if ($sarakkeita > 8) $ilmo_data[$ilmo_nro]['paras_60maj'] = trim($ryhma_data[8]);
            
            $ilmo_data[$ilmo_nro]['sukupuoli'] = 'tuntematon';
            if ($ilmo_data[$ilmo_nro]['sarja'][0] == 'M') {
                $ilmo_data[$ilmo_nro]['sukupuoli'] = 'Miehet';
            } else {
                if ($ilmo_data[$ilmo_nro]['sarja'][0] == 'N') {
                    $ilmo_data[$ilmo_nro]['sukupuoli'] = 'Naiset';
                }
            }
            $lajit_kaikki = explode(',', $ilmo_data[$ilmo_nro]['lajit']);
            $lajeja = count($lajit_kaikki);

            $ilmo_data[$ilmo_nro]['lajeja'] = $lajeja;
            $ilmo_data[$ilmo_nro]['maksu'] = 5 + 12*$lajeja;
            $ilmo_nro++;
        } /*else {
            $tarkistus = "<tr><td>ID: ".$ilmo_data[$ilmo_nro]['idnro']." sarakkeita: ".$sarakkeita.
            "</td><td bgcolor=$vtc>Puutteellinen ryhmädata</td></tr>";
            $tarkistus_ilmoitus[] = $tarkistus;
        } */
    }
}
$hlo_ilmoituksia = $ilmo_nro;
$lajisuoritukset_yhteensa = 0;
$laji_suoritus = array();
$laji_osallistuja = 0;
$osallistujat_yhteensa = 0;
//echo "<br>hlo_ilmoituksia: ".$hlo_ilmoituksia."<br>";

////////////////////////////////////////////////////////////////////////////////////
// Lasketaan osallistujat, taulukoidaan lajiosallistumiset ja merkitään lajien tuplailmoittautumiset  
////////////////////////////////////////////////////////////////////////////////////

for ($ilmoitus_nro=0; $ilmoitus_nro<$hlo_ilmoituksia; $ilmoitus_nro++) {

    $osallistujan_seura    = $ilmo_data[$ilmoitus_nro]['seura'];
    $osallistujan_sukupuoli = $ilmo_data[$ilmoitus_nro]['sukupuoli'];
    // Hae seuran lyhenne SAUL-luettelosta
    $key_seura = array_search($osallistujan_seura, $seuranimet);
    $osallistujan_seura_lyhenne = '';
    if ($key_seura >= 0) {
        $osallistujan_seura_lyhenne = $seuranimet[$key_seura+1];
    }

    $kaikki_lajit = explode(',', $ilmo_data[$ilmoitus_nro]['lajit']);
    $lajeja = count($kaikki_lajit);

    $osallistujan_nimi = $ilmo_data[$ilmoitus_nro]['nimi'];
    $osallistujan_etunimi = $ilmo_data[$ilmoitus_nro]['etunimi'];
    $osallistujan_sukunimi = $ilmo_data[$ilmoitus_nro]['sukunimi'];
    $osallistujan_synt_aika = $ilmo_data[$ilmoitus_nro]['syntymaaika'];

    if ($osallistujan_nimi !== '') {
        // Osallistujat yhteensä ja seuroittain
        $osallistujan_syntyma = explode('.', $osallistujan_synt_aika);
        $osallistujan_synt_vuosi = $osallistujan_syntyma[2];
        $osallistujan_tunniste = $osallistujan_seura."-".$osallistujan_nimi."-".$osallistujan_synt_vuosi;
        // Osallistuneet seurat
        if (in_array($osallistujan_seura, $osallistuneet_seurat) == false) {
            $osallistuneet_seurat[] = $osallistujan_seura;
        }
        
        // Osallistujien taulukointi
        if (in_array($osallistujan_tunniste, $osallistujien_tunnisteet) == false) {
            $osallistujien_tunnisteet[] = $osallistujan_tunniste;
            $osallistujat_yhteensa++;
            $seuran_osallistujat_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;
            if ($ilmo_data[$ilmoitus_nro]['ilmo_mode'] == 'yksilo') $seuran_osallistujat_netti_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;
            if ($ilmo_data[$ilmoitus_nro]['ilmo_mode'] == 'ryhma') $seuran_osallistujat_ryhma_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;
        } else {
            $tarkistus = "<tr><td>".$osallistujan_nimi." ".$osallistujan_seura." ".$ilmo_data[$ilmoitus_nro]['sarja'].
            "</td><td bgcolor=$vtc>Toistettu ilmoitus</td></tr>";
            $tarkistus_ilmoitus[] = $tarkistus;
        }
        // Lajiosallistujien taulukointi
        for ($k=0; $k<$lajeja; $k++) {
            $osallistujan_laji = trim($kaikki_lajit[$k]);
            if ($osallistujan_laji === "3-loikka") $osallistujan_laji = "kolmiloikka";

            $osallistujan_laji_tunniste = $osallistujan_laji."-".$osallistujan_seura."-".$osallistujan_nimi;
            if (in_array($osallistujan_laji_tunniste, $laji_osallistujat) == false) {
                $laji_osallistujat[] = $osallistujan_laji_tunniste;
                $lajisuoritukset_yhteensa++;
                $seuran_laji_osallistujat_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;
                if ($ilmo_data[$ilmoitus_nro]['ilmo_mode'] == 'yksilo') $seuran_laji_osallistujat_netti_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;
                if ($ilmo_data[$ilmoitus_nro]['ilmo_mode'] == 'ryhma') $seuran_laji_osallistujat_ryhma_kpl[$osallistujan_seura][$osallistujan_sukupuoli]++;            

                $laji_data[$laji_osallistuja]['ilmo_mode'] = $ilmo_data[$ilmoitus_nro]['ilmo_mode'];
                $laji_data[$laji_osallistuja]['idnro'] = $ilmo_data[$ilmoitus_nro]['idnro'];
                $laji_data[$laji_osallistuja]['sukupuoli'] = $ilmo_data[$ilmoitus_nro]['sukupuoli'];
                $laji_data[$laji_osallistuja]['sarja'] = $ilmo_data[$ilmoitus_nro]['sarja'];
                $laji_data[$laji_osallistuja]['syntymaaika'] = $ilmo_data[$ilmoitus_nro]['syntymaaika'];
                $laji_data[$laji_osallistuja]['etunimi'] = $ilmo_data[$ilmoitus_nro]['etunimi'];
                $laji_data[$laji_osallistuja]['sukunimi'] = $ilmo_data[$ilmoitus_nro]['sukunimi'];
                $laji_data[$laji_osallistuja]['nimi'] = $ilmo_data[$ilmoitus_nro]['nimi'];
                $laji_data[$laji_osallistuja]['seura'] = $osallistujan_seura;
                $laji_data[$laji_osallistuja]['lyhenne'] = $osallistujan_seura_lyhenne;
    //            $osallistujan_laji = trim($kaikki_lajit[$k]);
                if ($osallistujan_laji === "3-loikka") $osallistujan_laji = "kolmiloikka";
                $laji_data[$laji_osallistuja]['laji'] = $osallistujan_laji;
                $laji_data[$laji_osallistuja]['lisatiedot'] = '';
                $laji_data[$laji_osallistuja]['paras_60m'] = $ilmo_data[$ilmoitus_nro]['paras_60m'];
                $laji_data[$laji_osallistuja]['paras_200m'] = $ilmo_data[$ilmoitus_nro]['paras_200m'];
                $laji_data[$laji_osallistuja]['paras_400m'] = $ilmo_data[$ilmoitus_nro]['paras_400m'];
                $laji_data[$laji_osallistuja]['paras_60maj'] = $ilmo_data[$ilmoitus_nro]['paras_60maj'];
//                $laji_data[$laji_osallistuja]['tuplailmo'] = false;
                $laji_osallistuja++;
            } else {
//                $laji_data[$laji_osallistuja]['tuplailmo'] = true;
                $tarkistus = "<tr><td>".$osallistujan_nimi." ".$osallistujan_seura." ".$ilmo_data[$ilmoitus_nro]['sarja']." ".$osallistujan_laji.
                "</td><td bgcolor=$vtc>Ilmoitettu samaan lajiin uudelleen</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
        }
    }
}

if ($tulosta_julkinen_osallistujat) {
    ////////////////////////////////////////////////////////////////////////
    // Tulosta osallistujat (julkinen)
    ////////////////////////////////////////////////////////////////////////
    $laji_data = sortArray($laji_data, array('sukupuoli','sarja', 'laji', 'seura'));
    $bg = $bgc1;

    $ilmoitetut_osallistujat_tulostus = "";
    $ilmoitetut_tulostus = "";

    $nro = 0;
    $prev_sukup = "dummy";
    $prev_sarja = "dummy";
    $prev_laji = "dummy";
//    echo '<br>lajisuoritukset yhteensa: '.$lajisuoritukset_yhteensa;

    for ($j=0; $j<$lajisuoritukset_yhteensa; $j++) {
        if ($laji_data[$j]['nimi'] !== '') {    //???? miksi
            if ($laji_data[$j]['sukupuoli'] !== $prev_sukup) {
                if ($laji_data[$j]['sukupuoli'] == "Miehet") {
                    $ilmoitetut_tulostus .= "<tr><td id = 'note1'>ILMOITETUT MIEHET</td></tr>";
                }
                if ($laji_data[$j]['sukupuoli'] == "Naiset") {
                    $ilmoitetut_tulostus .= "<tr><td> </td></tr>";
                    $ilmoitetut_tulostus .= "<tr><td id = 'note1'>ILMOITETUT NAISET</td></tr>";
                }
                $prev_sukup = $laji_data[$j]['sukupuoli'];
            }
            $osall_laji = trim($laji_data[$j]['laji']);
            $osall_sarja = trim($laji_data[$j]['sarja']);

            if ($osall_laji !== $prev_laji OR $osall_sarja !== $prev_sarja) {
                $ilmoitetut_tulostus .= "<tr><td id = 'note2'>".$osall_sarja." ".$osall_laji."</td></tr>";
                $prev_sarja = $osall_sarja;
                $prev_laji = $osall_laji;
                $nro = 0;
            }
            $nro++;
            $ilmoitetut_tulostus .= "<tr>";
            $ilmoitetut_tulostus .= "<td width=25%>".$nro.". ".$laji_data[$j]['nimi']."</td>";
            $ilmoitetut_tulostus .= "<td width=35%>".$laji_data[$j]['seura']."</td>";
            $ilmoitetut_tulostus .= "<td width=10%>".$laji_data[$j]['lyhenne']."</td>";
            $ilmoitetut_tulostus .= "</tr>";
        } else {
            $tarkistus = "<tr><td>ID: ".$laji_data[$j]['idnro']." nimi: ".$osallistujan_nimi." seura: ".$osallistujan_seura." sarja: ".$ilmo_data[$ilmoitus_nro]['sarja']." laji: ".$osallistujan_laji.
            "</td><td bgcolor=$vtc>Tunnistamaton ongelma</td></tr>";
            $tarkistus_ilmoitus[] = $tarkistus;
        }
    }

    $ilmoitetut_osallistujat_tulostus = "<table width=80%>".$ilmoitetut_tulostus."</table>";

    echo $ilmoitetut_osallistujat_tulostus;
}

if ($tulosta_maksuseuranta) {
    ////////////////////////////////////////////////////////////////////////
    // Tulosta osallistujat ja maksut paitsi KP-osallistujat
    ////////////////////////////////////////////////////////////////////////

    $ilmo_data = sortArray($ilmo_data, array('seura', 'sukupuoli'));
    $bg = $bgc1;
    $maksut_yhteensa = 0;
    $kaikki_maksut_yhteensa = 0;
    $prev_seura = 'dummy';

    $ilmoitetut_tulostus = "<tr>";
//        $ilmoitetut_tulostus .= "<td>laji</td>";
    $ilmoitetut_tulostus .= "<td> </td>";
    $ilmoitetut_tulostus .= "<td>ID</td>";
    $ilmoitetut_tulostus .= "<td>Nimi</td>";
    $ilmoitetut_tulostus .= "<td>Ilmoittajan s-posti</td>";
    $ilmoitetut_tulostus .= "<td>Seura</td>";
//        $ilmoitetut_tulostus .= "<td>Lyhenne</td>";
    $ilmoitetut_tulostus .= "<td>Sarja</td>";
    $ilmoitetut_tulostus .= "<td>Lajeja</td>";
    $ilmoitetut_tulostus .= "<td>Maksu</td>";
    $ilmoitetut_tulostus .= "<td>Yhteensä</td>";
//        $ilmoitetut_tulostus .= "<td>Synt_aika</td>";
//        $ilmoitetut_tulostus .= "<td>Paras 60m</td>";
//        $ilmoitetut_tulostus .= "<td>Paras 60maj</td>";
//        $ilmoitetut_tulostus .= "<td>Paras 200m</td>";
//        $ilmoitetut_tulostus .= "<td>Paras 400m</td>";
//        $ilmoitetut_tulostus .= "<td>laji1</td>";
//        $ilmoitetut_tulostus .= "<td>laji2</td>";
//        $ilmoitetut_tulostus .= "<td>laji3</td>";
//        $ilmoitetut_tulostus .= "<td>laji4</td>";
//        $ilmoitetut_tulostus .= "<td>laji5</td>";
//        $ilmoitetut_tulostus .= "<td>laji6</td>";
//        $ilmoitetut_tulostus .= "<td>laji7</td>";
//        $ilmoitetut_tulostus .= "<td>laji8</td>";
//        $ilmoitetut_tulostus .= "<td>laji9</td>";
//        $ilmoitetut_tulostus .= "<td>laji10</td>";
    $ilmoitetut_tulostus .= "</tr>";

    $nro = 0;
    for ($j=0; $j<count($ilmo_data); $j++) {
        if ($ilmo_data[$j]['seura'] != 'Kunto-Pirkat') {
            if ($prev_seura != $ilmo_data[$j]['seura']) {
                $prev_seura = $ilmo_data[$j]['seura'];
                $maksut_yhteensa = 0;
            }
            $maksut_yhteensa += $ilmo_data[$j]['maksu'];
            $kaikki_maksut_yhteensa += $ilmo_data[$j]['maksu'];
            $nro++;
            $ilmoitetut_tulostus .= "<tr>";
            $ilmoitetut_tulostus .= "<td>".$nro."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['idnro']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['nimi']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sahkoposti']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['seura']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sarja']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['lajeja']."</td>";
            $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['maksu']."</td>";
            $ilmoitetut_tulostus .= "<td>".$maksut_yhteensa."</td>";
            $ilmoitetut_tulostus .= "</tr>";
        }
    }
    $osallistujat_maksut = "<table border='1' bordercolor='#FADAA2'>".$ilmoitetut_tulostus."</table>";

    echo $osallistujat_maksut;
    echo '<br>Kaikki maksut yhteensa: '.$kaikki_maksut_yhteensa.' €';
    echo '<br>Lajisuorituksia: '.$lajisuoritukset_yhteensa;
    echo '<br>Osallistujia: '.$osallistujat_yhteensa;
    
}

////////////////////////////////////////////////////////////////////////
// Tulosta pikamatkojen osallistujat ja parhaat ajat
////////////////////////////////////////////////////////////////////////
/*
$pikamatkat = array('60 m', '60 m aj', '200 m', '400 m');
$hlo_data = sortArray($hlo_data, array('sukupuoli','sarja', 'laji', 'seura'));
$bg = $bgc1;
// $prev_sukup = $hlo_data[0]['sukupuoli'];

    echo "<br>";
    $ilmoitetut_osallistujat_tulostus = "";
    $pikamatkat_tulostus = "<tr><td id = 'note1' colspan = 6>PIKAMATKOJEN OSALLISTUJAT JA PARHAAT AJAT</td></tr>";
//    $ilmoitetut_naiset_tulostus = "";

    $nro = 0;
    $prev_sukup = "dummy";
    $prev_sarja = "dummy";
    $prev_laji = "dummy";
    for ($j=0; $j<$osallistujia; $j++) {
//        echo "<br>-".$hlo_data[$j]['sukupuoli']."-<br>";
        if (in_array($hlo_data[$j]['laji'], $pikamatkat)) {
            if ($hlo_data[$j]['sukupuoli'] !== $prev_sukup) {
                if ($hlo_data[$j]['sukupuoli'] == "Miehet") {
                    $pikamatkat_tulostus .= "<tr><td id = 'note1' colspan = 3>MIEHET</td></tr>";
                }
                if ($hlo_data[$j]['sukupuoli'] == "Naiset") {
                    $pikamatkat_tulostus .= "<tr><td> </td></tr>";
                    $pikamatkat_tulostus .= "<tr><td id = 'note1' colspan = 3>NAISET</td></tr>";
                }
                $prev_sukup = $hlo_data[$j]['sukupuoli'];
            }
            
            if ($hlo_data[$j]['laji'] != $prev_laji OR $hlo_data[$j]['sarja'] != $prev_sarja) {
                $pikamatkat_tulostus .= "<tr><td id = 'note2' colspan = 3>".$hlo_data[$j]['sarja']." ".$hlo_data[$j]['laji']."</tr>";
                $prev_sarja = $hlo_data[$j]['sarja'];
                $prev_laji = $hlo_data[$j]['laji'];
                $nro = 0;
            }
            $nro++;
            $pikamatkat_tulostus .= "<tr>";
            $pikamatkat_tulostus .= "<td width=5%>".$nro.".</td>";
            $pikamatkat_tulostus .= "<td width=25%>".$hlo_data[$j]['nimi']."</td>";
            $pikamatkat_tulostus .= "<td width=35%>".$hlo_data[$j]['seura']."</td>";
            $pikamatkat_tulostus .= "<td width=15%>".$hlo_data[$j]['lyhenne']."</td>";
            $pikamatkat_tulostus .= "<td width=10%>".$hlo_data[$j]['sarja']."</td>";
            $pikamatkat_tulostus .= "<td width=10%>".$hlo_data[$j]['paras_aika']."</td>";
    //        $pikamatkat_tulostus .= "<td> </td>";
            $pikamatkat_tulostus .= "</tr>";
            // echo "<tr style='page-break-after:always;'>" ;
        }
    }
    $ilmoitetut_osallistujat_tulostus = "<table width=100%>".$pikamatkat_tulostus."</table>";

    echo $ilmoitetut_osallistujat_tulostus;
*/

if ($tulosta_tulospalvelu) {

////////////////////////////////////////////////////////////////////////
// Tulosta osallistujat - kaikki tiedot
////////////////////////////////////////////////////////////////////////

$ilmo_data = sortArray($ilmo_data, array('idnro'));
$bg = $bgc1;
// $prev_sukup = $henkilo_data[0]['sukupuoli'];

        $ilmoitetut_tulostus = "<tr>";
//        $ilmoitetut_tulostus .= "<td>laji</td>";
        $ilmoitetut_tulostus .= "<td> </td>";
        $ilmoitetut_tulostus .= "<td>ID</td>";
        $ilmoitetut_tulostus .= "<td>Etunimi</td>";
        $ilmoitetut_tulostus .= "<td>Sukunimi</td>";
        $ilmoitetut_tulostus .= "<td>Sähköposti</td>";
        $ilmoitetut_tulostus .= "<td>Seura</td>";
        $ilmoitetut_tulostus .= "<td>Lyhenne</td>";
        $ilmoitetut_tulostus .= "<td>Sukupuoli</td>";
        $ilmoitetut_tulostus .= "<td>Ikäsarja</td>";
        $ilmoitetut_tulostus .= "<td>Sarja</td>";
        $ilmoitetut_tulostus .= "<td>Synt_aika</td>";
        $ilmoitetut_tulostus .= "<td>Paras 60m</td>";
        $ilmoitetut_tulostus .= "<td>Paras 60maj</td>";
        $ilmoitetut_tulostus .= "<td>Paras 200m</td>";
        $ilmoitetut_tulostus .= "<td>Paras 400m</td>";
        $ilmoitetut_tulostus .= "<td>laji1</td>";
        $ilmoitetut_tulostus .= "<td>laji2</td>";
        $ilmoitetut_tulostus .= "<td>laji3</td>";
        $ilmoitetut_tulostus .= "<td>laji4</td>";
        $ilmoitetut_tulostus .= "<td>laji5</td>";
        $ilmoitetut_tulostus .= "<td>laji6</td>";
        $ilmoitetut_tulostus .= "<td>laji7</td>";
        $ilmoitetut_tulostus .= "<td>laji8</td>";
        $ilmoitetut_tulostus .= "<td>laji9</td>";
        $ilmoitetut_tulostus .= "<td>laji10</td>";
        $ilmoitetut_tulostus .= "</tr>";

    $nro = 0;
    for ($j=0; $j<$hlo_ilmoituksia; $j++) {
    if ($ilmo_data[$j]['ilmo_mode'] == 'ryhma') {
        $nro++;
        $ilmoitetut_tulostus .= "<tr>";
        $ilmoitetut_tulostus .= "<td>".$nro."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['idnro']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['etunimi']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sukunimi']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sahkoposti']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['seura']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['lyhenne']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sukupuoli']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['ikasarja']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['sarja']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['syntymaaika']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['paras_60m']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['paras_60maj']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['paras_200m']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['paras_400m']."</td>";
        $lajit_kaikki = explode(',', $ilmo_data[$j]['lajit']);
        $lajeja = count($lajit_kaikki);
        for ($k=0; $k<10; $k++) {
            $osallistujan_laji = trim($lajit_kaikki[$k]);
            if ($osallistujan_laji == '3-loikka') {
                $osallistujan_laji = 'kolmiloikka';
            }
            if ($k >= $lajeja) {
                $osallistujan_laji = '';
            }
            $ilmoitetut_tulostus .= "<td>".$osallistujan_laji."</td>";
        }
/*
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji1']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji2']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji3']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji4']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji5']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji6']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji7']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji8']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji9']."</td>";
        $ilmoitetut_tulostus .= "<td>".$ilmo_data[$j]['laji10']."</td>";
        */
        $ilmoitetut_tulostus .= "</tr>";
    }
}
    $osallistujat_tulostus_kaikki = "<table border='1' bordercolor='#FADAA2'>".$ilmoitetut_tulostus."</table>";

    echo $osallistujat_tulostus_kaikki;
}
/**
////////////////////////////////////////////////////////////////////////
// JOUKKUEIDEN KÄSITTELY
////////////////////////////////////////////////////////////////////////

    // JOUKKUEIDEN TIETOJA
    $viesti_ilmoituksia = 0;
    $joukkue_ilmoituksen_id = array();
    $joukkue_data = array();
//    $joukkue_tunnisteet = array();
    $joukkue = array();
//    $mies_joukkue = array();
//    $nais_joukkue = array();
    $joukkueen_seura = "";
    $joukkueen_seura_lyhenne = "";
    $joukkueen_laji = array();
//    $joukkueen_jasen1 = array();
//    $joukkueen_jasen2 = array();
//    $joukkueen_jasen3 = array();
//    $joukkueen_jasen4 = array();
    $joukkueita = 0;
    $mies_joukkueita = 0;
    $nais_joukkueita = 0;
    $eri_joukkueita = 0;
    $joukkueen_ind = 0;

    // Hae viestikilpailun ID-numero
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_events'));
    $query->where($db->quoteName('alias')." = ".$db->quote($joukkuekilpailu));
    $db->setQuery($query);
    $joukkuekilpailu_id = $db->loadResult();
    // echo "kilpailu2_id ".$joukkuekilpailu_id."<br>";

    // Hae viesti-ilmoittautumisten ID:t
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_registrants'));
    $query->where($db->quoteName('event_id')." = ".$db->quote($joukkuekilpailu_id));
    $query->order($db->quoteName('id') . 'ASC');
    $db->setQuery($query);
    $column = $db->loadColumn();
    $viesti_ilmoituksia = count($column);

    // echo "<br>Viesti-ilmoittautumisten ID:t: ";
    for ($i=0; $i<$viesti_ilmoituksia; $i++) {
        $joukkue_ilmoituksen_id[$i] = $column[$i];
//        echo "joukkue_ilmoitusten idt ".$column[$i]."<br>";
    }

    // Hae viestilajin ID
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_fields'));
    $query->where($db->quoteName('name')." = ".$db->quote('sm_indoor_relays'));
    $db->setQuery($query);
    $laji_id = $db->loadResult();

    // Hae osuuden 1 juoksijan ID
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_fields'));
    $query->where($db->quoteName('name')." = ".$db->quote('relay_member1'));
    $db->setQuery($query);
    $jasen1_id = $db->loadResult();

    // Hae osuuden 2 juoksijan ID
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_fields'));
    $query->where($db->quoteName('name')." = ".$db->quote('relay_member2'));
    $db->setQuery($query);
    $jasen2_id = $db->loadResult();

    // Hae osuuden 3 juoksijan ID
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_fields'));
    $query->where($db->quoteName('name')." = ".$db->quote('relay_member3'));
    $db->setQuery($query);
    $jasen3_id = $db->loadResult();

    // Hae osuuden 4 juoksijan ID
    $query = $db->getQuery(true);
    $query->select('id');
    $query->from($db->quoteName('e0cn8_eb_fields'));
    $query->where($db->quoteName('name')." = ".$db->quote('relay_member4'));
    $db->setQuery($query);
    $jasen4_id = $db->loadResult();

//    echo "<br>seura_id = ".$seura_id;
//    echo "<br>viesti_lajin_id = ".$laji_id;
//    echo "<br>jäsenen1_id = ".$jasen1_id;

    for ($i=0; $i<$viesti_ilmoituksia; $i++) {
        // Hae ilmoittautumisen perustietoja
        $query = $db->getQuery(true);
        $query->select('*');
        $query->from($db->quoteName('e0cn8_eb_registrants'));
        $query->where($db->quoteName('id')." = ".$db->quote($joukkue_ilmoituksen_id[$i]));
        $db->setQuery($query);
        $data = $db->loadAssoc();   
        $joukkueita_per_ilmoitus = $data['number_registrants'];
        $ryhma = $data['is_group_billing'];
        $ryhma_id = $data['group_id'];
//        echo "<br>ryhma = ".$ryhma." ryhma_id = ".$ryhma_id." joukkueita_per_ilmoitus = ".$joukkueita_per_ilmoitus;

        if ($ryhma == 1 ) {
            ////////////////////////////////////////////////////////////////////
            // Tiedot maksutiedoista
            ////////////////////////////////////////////////////////////////////
            // Hae SAUL-seura
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
            ." AND ".$db->quoteName('field_id')." = ".$db->quote($seura_id));
            $db->setQuery($query);
            $joukkueen_seura = trim($db->loadResult());

            $key_seura = array_search($joukkueen_seura, $seuranimet);
            if ($key_seura >= 0) {
                $joukkueen_seura_lyhenne = $seuranimet[$key_seura+1];
            }
            $joukkue[$joukkueen_ind]['seura'] = $joukkueen_seura;
//            echo "<br>joukkueen_seura ".$joukkueen_seura."<br>";
        }
        if ($ryhma_id > 0) {
            
            // Hae joukkueen laji
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
                    ." AND ".$db->quoteName('field_id')." = ".$db->quote($laji_id));
            $db->setQuery($query);
            $joukkue[$joukkueen_ind]['laji'] = $db->loadResult();

            if (strpos($joukkue[$joukkueen_ind]['laji'],'M') !== false) {
                $mies_joukkueita++;
                $joukkue[$joukkueen_ind]['laji'] = 'Miehet '.$joukkue[$joukkueen_ind]['laji'];
            } else {
                if (strpos($joukkue[$joukkueen_ind]['laji'],'N') !== false) {
                    $nais_joukkueita++;
                    $joukkue[$joukkueen_ind]['laji'] = 'Naiset '.$joukkue[$joukkueen_ind]['laji'];
                }
            }
//            echo "<br>laji = ".$joukkue[$joukkueen_ind]['laji'];

            // Hae joukkueenn jäsenet
            // Jäsen 1
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
                    ." AND ".$db->quoteName('field_id')." = ".$db->quote($jasen1_id));
            $db->setQuery($query);
            $joukkue[$joukkueen_ind]['jasen1'] = $db->loadResult();
      
            // Jäsen 2
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
                    ." AND ".$db->quoteName('field_id')." = ".$db->quote($jasen2_id));
            $db->setQuery($query);
            $joukkue[$joukkueen_ind]['jasen2'] = $db->loadResult();
      
            // Jäsen3
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
                    ." AND ".$db->quoteName('field_id')." = ".$db->quote($jasen3_id));
            $db->setQuery($query);
            $joukkue[$joukkueen_ind]['jasen3'] = $db->loadResult();
      
            // Jäsen 4
            $query = $db->getQuery(true);
            $query->select('field_value');
            $query->from($db->quoteName('e0cn8_eb_field_values'));
            $query->where($db->quoteName('registrant_id')." = ".$db->quote($joukkue_ilmoituksen_id[$i])
                    ." AND ".$db->quoteName('field_id')." = ".$db->quote($jasen4_id));
            $db->setQuery($query);
            $joukkue[$joukkueen_ind]['jasen4'] = $db->loadResult();
            $joukkueen_ind++;
        }
    }
    $joukkueita = $mies_joukkueita + $nais_joukkueita;
**/
/*
////////////////////////////////////////////////////////////////////////
// Tulosta viestijoukkueet
////////////////////////////////////////////////////////////////////////
    $joukkue_sorted = sortArray($joukkue, array('laji', 'seura'));

    $joukkueet_tulostus = "";
    $prev_viesti = 'dummy';
    foreach ($joukkue_sorted as $idx => $data) {
        $viesti = $joukkue_sorted[$idx]['laji'];
        if ($viesti != $prev_viesti) {
            $joukkueet_tulostus .= "<br><br><strong>".$viesti."</strong><br>";
            if ($idx > 0) $joukkueet_tulostus .= "<br>";
            $prev_viesti = $viesti;
        }
        $hlo_tunniste1 = $joukkueen_seura."-".$joukkue_sorted[$idx]['jasen1'];
        $hlo_tunniste2 = $joukkueen_seura."-".$joukkue_sorted[$idx]['jasen2'];
        $hlo_tunniste3 = $joukkueen_seura."-".$joukkue_sorted[$idx]['jasen3'];
        $hlo_tunniste4 = $joukkueen_seura."-".$joukkue_sorted[$idx]['jasen4'];
        if (array_key_exists($hlo_tunniste1, $ikasarjat)) $joukkue_sorted[$idx]['jasen1'] .= ' '.$ikasarjat[$hlo_tunniste1];
        if (array_key_exists($hlo_tunniste2, $ikasarjat)) $joukkue_sorted[$idx]['jasen2'] .= ' '.$ikasarjat[$hlo_tunniste2];
        if (array_key_exists($hlo_tunniste3, $ikasarjat)) $joukkue_sorted[$idx]['jasen3'] .= ' '.$ikasarjat[$hlo_tunniste3];
        if (array_key_exists($hlo_tunniste4, $ikasarjat)) $joukkue_sorted[$idx]['jasen4'] .= ' '.$ikasarjat[$hlo_tunniste4];
        $joukkueet_tulostus .= "<table border='1' bordercolor='#FADAA2' style='width:100%'>";
        $joukkueet_tulostus .= "<tr><td width='20%' id='note3'>".$joukkue_sorted[$idx]['seura']."</td>";
        $joukkueet_tulostus .= "<td width='20%' id='note0'>".$joukkue_sorted[$idx]['jasen1']."</td>";
        $joukkueet_tulostus .= "<td width='20%' id='note0'>".$joukkue_sorted[$idx]['jasen2']."</td>";
        $joukkueet_tulostus .= "<td width='20%' id='note0'>".$joukkue_sorted[$idx]['jasen3']."</td>";
        $joukkueet_tulostus .= "<td width='20%' id='note0'>".$joukkue_sorted[$idx]['jasen4']."</td></tr>";
        $joukkueet_tulostus .= "</table>";
    }
*/    

if ($tulosta_osallistujamaarat) {
    ////////////////////////////////////////////////////////////////////////
    // Tulosta osallisujien ja joukkueiden lukumäärät seuroittain
    ////////////////////////////////////////////////////////////////////////
    echo "<br>";
    $osallistujamaarat_seuroittain_tulostus = "<table width=100%>";
    $osallistujamaarat_seuroittain_tulostus .= "<tr>";
    $osallistujamaarat_seuroittain_tulostus .= "<th></th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th></th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th colspan = 4>Yhteensä</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th colspan = 2>Yksilöilmoitukset</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th colspan = 2>Ryhmäilmoitukset</th>";
    $osallistujamaarat_seuroittain_tulostus .= "</tr>";
    $osallistujamaarat_seuroittain_tulostus .= "<tr>";
    $osallistujamaarat_seuroittain_tulostus .= "<th></th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Seura</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Suorit.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Osallist.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th width=5%>M</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th width=5%>N</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Suorit.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Osallist.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Suorit.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "<th>Osallist.</th>";
    $osallistujamaarat_seuroittain_tulostus .= "</tr>";

    // $osalistuneet_seurat = sortArray($osalistuneet_seurat);

    $seurojen_lkm = count($osallistuneet_seurat);
    sort($osallistuneet_seurat);
    // echo "Lajittelun jälkeen:<br>";
    // for ($j=0; $j<$seurojen_lkm; $j++) {
    // echo $osallistuneet_seurat[$j]."<br>";
    // }
    $tot_miehia = 0;
    $tot_naisia = 0;
    $tot_osallistujia_yht = 0;
    $lajisuorituksia_yht = 0;
    $bg = $bgc2;
    for ($j=0; $j<$seurojen_lkm; $j++) {
        
    $lajisuorituksia = $seuran_laji_osallistujat_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $lajisuorituksia += $seuran_laji_osallistujat_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $miehia = $seuran_osallistujat_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $naisia = $seuran_osallistujat_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $osallistujia_yht = $miehia + $naisia;
    $lajisuorituksia_yht += $lajisuorituksia;
    $osallistujia_yht = $miehia + $naisia;
    $tot_miehia += $miehia;
    $tot_naisia += $naisia;
    $tot_osallistujia_yht += $osallistujia_yht;

    $miehia_netti = $seuran_osallistujat_netti_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $naisia_netti = $seuran_osallistujat_netti_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $lajisuorituksia_netti = $seuran_laji_osallistujat_netti_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $lajisuorituksia_netti += $seuran_laji_osallistujat_netti_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $lajisuorituksia_yht_netti += $lajisuorituksia_netti;
    //$tot_lajisuorituksia_netti += $lajisuorituksia_yht_netti;
    $osallistujia_yht_netti = $miehia_netti + $naisia_netti;
    $tot_osallistujia_yht_netti += $osallistujia_yht_netti;

    $miehia_posti = $seuran_osallistujat_ryhma_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $naisia_posti = $seuran_osallistujat_ryhma_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $lajisuorituksia_posti = $seuran_laji_osallistujat_ryhma_kpl[$osallistuneet_seurat[$j]]['Miehet'];
    $lajisuorituksia_posti += $seuran_laji_osallistujat_ryhma_kpl[$osallistuneet_seurat[$j]]['Naiset'];
    $lajisuorituksia_yht_ryhma += $lajisuorituksia_posti;
    //$tot_lajisuorituksia_posti += $lajisuorituksia_yht_ryhma;
    $osallistujia_yht_ryhma = $miehia_posti + $naisia_posti;
    $tot_osallistujia_yht_ryhma += $osallistujia_yht_ryhma;

    $tot_joukkuita_yht += $joukkuita_yht;
    if ($osallistujia_yht == 0) $osallistujia_yht = "";
    if ($joukkuita_yht == 0) $joukkuita_yht = "";
    if ($bg == $bgc2)
    $bg = $bgc1;
    else
    $bg = $bgc2;
    $nro = $j + 1;
    $osallistujamaarat_seuroittain_tulostus .= "<tr>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$nro."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$osallistuneet_seurat[$j]."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$lajisuorituksia."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$osallistujia_yht."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$miehia."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$naisia."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$lajisuorituksia_netti."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$osallistujia_yht_netti."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$lajisuorituksia_posti."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>".$osallistujia_yht_ryhma."</td>";
    $osallistujamaarat_seuroittain_tulostus .= "</tr>";
    }
    $bg = $bgc3;
    $osallistujamaarat_seuroittain_tulostus .= "<tr>";
    $osallistujamaarat_seuroittain_tulostus .= "<td> </td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg>Yhteensä</td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$lajisuorituksia_yht."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$tot_osallistujia_yht."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$tot_miehia."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$tot_naisia."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$lajisuorituksia_yht_netti."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$tot_osallistujia_yht_netti."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$lajisuorituksia_yht_ryhma."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "<td bgcolor=$bg><strong>".$tot_osallistujia_yht_ryhma."</strong></td>";
    $osallistujamaarat_seuroittain_tulostus .= "</tr>";
    $osallistujamaarat_seuroittain_tulostus .= "</table>";
    echo $osallistujamaarat_seuroittain_tulostus;
}

if ($tulosta_huomautukset) {
    /////////////////////////////////////////////////////////////////////////
    // Tutki mahdollisia virhetilanteita/puutteita, virheitä mahdollisesti lisätty muuallakin koodissa
    /////////////////////////////////////////////////////////////////////////
    $tarkistettavia_osallistujia = count($laji_data);
    $hlo_tunniste_tark = array();
    for ($j=0; $j<$tarkistettavia_osallistujia; $j++) {
        $henkilon_tunniste = $laji_data[$j]['seura']."-".$laji_data[$j]['nimi']."-".$laji_data[$j]['sarja'];
        if (in_array($henkilon_tunniste, $hlo_tunniste_tark) == false) {
            $hlo_tunniste_tark[] = $henkilon_tunniste;
        } else {
            $osallistujan_seura = $laji_data[$j]['seura'];
            $osallistujan_nimi = $laji_data[$j]['nimi'];
            $osallistujan_sukupuoli = $laji_data[$j]['sukupuoli'];
            $osallistujan_laji = $laji_data[$j]['laji'];
            $osallistujan_synt_aika = $laji_data[$j]['synt_aika'];
            // Tarkista sukupuoli
            if ($osallistujan_sukupuoli == 'tuntematon') {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi.
                "</td><td bgcolor=$vtc>Tarkista sukupuoli</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
            // Tarkista onko halliyleisurheilun laji
            if (in_array($osallistujan_laji, $halli_yu_lajit) == false) {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi." ".$osallistujan_laji.
                "</td><td bgcolor=$vtc>Tarkista laji</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
            // Tarkista onko seura SAUL-luettelossa
            if (in_array($osallistujan_seura, $seuranimet) == false) {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi.
                "</td><td bgcolor=$vtc>Tarkista seura</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
            // Tarkista syntymäaika ja sarja (iän oltava 30-110 vuotta)
            $synt_aika = explode(".", $osallistujan_synt_aika);
            $osallistujan_synt_vuosi = $synt_aika[2];
            $laskettu_ika = date("Y") - $osallistujan_synt_vuosi; // ei oikein, jos ilm. vuoden vaihtuessa
            $lask_sarja = $laskettu_ika;
            while ($lask_sarja%5 != 0) {
                $lask_sarja--;
            }
            $lask_sarja = $osallistujan_sukupuoli[0].$lask_sarja;
            if ($osallistujan_sukupuoli[0] != $laji_data[$j]['sarja'][0]) {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi.
                "</td><td bgcolor=$vtc>Tarkista sarja ja sukupuoli</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
            if ($laskettu_ika < 30 OR $laskettu_ika > 110) {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi.
                "</td><td bgcolor=$vtc>Liian nuori tai liian iäkäs</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
            if ($lask_sarja != $laji_data[$j]['sarja']) {
                $tarkistus = "<tr><td>".$osallistujan_seura." ".$osallistujan_nimi.
                "</td><td bgcolor=$vtc>Tarkista syntymäaika ja sarja</td></tr>";
                $tarkistus_ilmoitus[] = $tarkistus;
            }
        }
    }

    $huomautukset_tulostus = "<table width=100%>";
    foreach ($tarkistus_ilmoitus as $key => $data) {
        $huomautukset_tulostus .= $data;
    }
    $huomautukset_tulostus .= "</table>";
    if (count($tarkistus_ilmoitus) > 0) {
        echo "<br><br><strong>HUOMIOITAVAA</strong><br><br>";

        echo $huomautukset_tulostus;
    } else {
        echo "<br>Ei havaittuja virheitä<br>";
    }
}



// Kahteen kertaan ilmoitetut on laskettu kahtena.<br>";
/*
echo "<br>Miesjoukkueita ".$mies_joukkueita_yht;
echo "<br>Naisjoukkueita ".$nais_joukkueita_yht;
echo "<br>Joukkueita yhteensä ".$kaikki_joukk_yht;

echo "<br><br>Miesosallistujia ".$mies_osallistujia;
echo "<br>Naisosallistujia ".$nais_osallistujia;
echo "<br>Osallistujia yhteensä ".$osallistujia_yht;
// echo "osallistujia ".$osallistujia."<br>";

echo "<br>Miesten sarjanvaihtoja ".$mies_sarjanvaihtoja;
echo "<br>Naisten sarjanvaihtoja ".$nais_sarjanvaihtoja;
echo "<br>Sarjanvaihtoja yhteensä ".$sarjanvaihtoja;
*/

/*
// Sleep for a while
//usleep(1000000);        // usec

$time_end = microtime(true);
$time = $time_end - $time_start;
$exe_time_php = number_format($time, 5, '.', '');
//echo "<br>PHP-aika: $exe_time_php s";
echo "<br>".$exe_time_php." s";

$muistin_kaytto .= memory_get_usage(false) . " Lopussa1<br>";
$muistin_kaytto .= memory_get_usage(true) . " Lopussa2<br>";
unset($ilmoitetut_osallistujat_tulostus);
$muistin_kaytto .= memory_get_usage(false) . " Lopussa1<br>";
$muistin_kaytto .= memory_get_usage(true) . " Lopussa2<br>";
//echo $muistin_kaytto;
**/
?>
{/source}