﻿var action = "";

function ratings_click()
{
    ShowMenu('divRatings');
    RatingViewerInit();
}

function RatingViewerInit()
{
    lblOpmerking.innerHTML = "Vul zoektermen in.";
    // QueryString.
    var Param = window.location.search.substring(1);

    if (Param.length > 0)
    {
        var keyvalue = Param.split('=');
        if (keyvalue[0].toLowerCase() == 'id')
        {
            ZoekOpClubIdZonderNaam(keyvalue[1]);
        }
    }
    
}

function ZoekLeden()
{
    $get("imgLoading").style.visibility = "visible";

    action = "ZoekLeden";
    var Achternaam = $get("txtAchternaam").value.replace("'", "\\'");
    var Voornaam = $get("txtVoornaam").value.replace("'", "\\'");
    RatingsService.GetLeden(Achternaam, Voornaam, ShowLeden);
}

function ZoekOpClubIdZonderNaam(ID)
{
    $get("imgLoading").style.visibility = "visible";

    action = "ZoekOpClubIdZonderNaam";

    RatingsService.GetVereniging(ID, ShowClubInfo);
}

function ShowClubInfo(result)
{
    if (result != null)
    {
        ZoekOpClubId(result.VerenigingID, result.VerenigingNaam, result.VerenigingCode);
    }
    else
    {
        $get("imgLoading").style.visibility = "hidden";
    }
}

function CopyClubLink(ID)
{
    $get('ClubLink').innerHTML = "<br /><br />http://www.utrechtschaak.nl/Ratings.aspx?id=" + ID;
}

function ZoekOpClubId(ID, Naam, Code)
{
    $get("imgLoading").style.visibility = "visible";
    action = "ZoekOpClubId";
    $get("lblOpmerking").innerHTML = "<b>" + Naam + " (" + Code + ")</b>&nbsp;&nbsp;&nbsp;";
    RatingsService.GetLedenClub(Code, ShowLeden);
}

function ZoekOpJaar()
{
    var Jaartal = $get("txtJaartal").value;

    if (Jaartal.length == 4)
    {
        $get("imgLoading").style.visibility = "visible";

        action = "ZoekOpJaar";
        RatingsService.GetLedenJaartal(Jaartal, ShowLeden);
    }
}

function ZoekClub()
{
    $get("imgLoading").style.visibility = "visible";

    action = "ZoekClub";

    var Clubnaam = $get("txtClubnaam").value.replace("'", "\\'");
    RatingsService.GetVerenigingen(Clubnaam, ShowClubs);
}

function ZoekLidInfo(id)
{
    $get("imgLoading").style.visibility = "visible";
    RatingsService.GetLidDetails(id, ShowLidInfo);
}

function ShowLidInfo(results)
{
    var strResults = '<table id="tblRatingInfo" align="left" cellpadding="8" cellspacing="0"><tr><td class="tdRatingInfo">KNSB-nummer:</td><td>'
                + results.info.Relatienummer
                + '</td></tr><tr><td class="tdRatingInfo">Voornaam:</td><td>'
                + results.info.Voornaam
                + '</td></tr><tr><td class="tdRatingInfo">Voorletters:</td><td>'
                + results.info.Voorletters
                + '</td></tr><tr><td class="tdRatingInfo">Tussenvoegsel:</td><td>'
                + results.info.Tussenvoegsel
                + '</td></tr><tr><td class="tdRatingInfo">Achternaam:</td><td>'
                + results.info.Achternaam
                + '</td></tr><tr><td class="tdRatingInfo">KNSB Rating:</td>'
                + ShowRating(results.info.KNSBRating, false)
                + '</tr><tr><td class="tdRatingInfo">FIDE Rating:</td>'
                + ShowRating(results.info.FIDERating, false)
                + '</tr><tr><td class="tdRatingInfo">KNSB jeugdrating:</td>'
                + ShowRating(results.info.KNSBJeugdRating, false)
                + '</tr><tr><td class="tdRatingInfo">Geslacht:</td><td>'
                + results.info.Geslacht
                + '</td></tr><tr><td class="tdRatingInfo">Geboren:</td><td>'
                + results.info.Geboren
                + '</td></tr><tr><td class="tdRatingInfo">Land:</td><td>'
                + results.info.Nationaliteit
                + '</td></tr><tr><td class="tdRatingInfo">Fide ID:</td><td>';

    if (results.info.FIDEid == 0)
        strResults += "&nbsp;";
    else
        strResults += '<a href="http://ratings.fide.com/card.phtml?event=' + results.info.FIDEid +
                    '" target="_blank">' + results.info.FIDEid + "</a>";

    strResults += "</td></tr></table>";

    var strClubs = '<table id="tblRatingInfoClubs" cellpadding="10" cellspacing="0"><tr class="trHeader"><td>Code</td><td>Club</td><td>Type</td></tr>';

    for (var i = 0; i < results.clubs.length; i++)
    {
        var cssClass = "";
        
        if (i%2==1)
            cssClass = ' class="DiscussieRow"';
        
        strClubs += '<tr' + cssClass + '><td><a target="_self" href="javascript:void(0)" onclick="ZoekOpClubId('
                    + results.clubs[i].clubInfo.VerenigingID + ", '"
                    + results.clubs[i].clubInfo.VerenigingNaam.replace("'", "\\'")
                    + "', '" + results.clubs[i].clubInfo.VerenigingCode + "'" + ')">'
                    + results.clubs[i].clubInfo.VerenigingCode
                    + "</a></td><td>" + results.clubs[i].clubInfo.VerenigingNaam
                    + '</td><td align="center">' + results.clubs[i].LidmaatschapTypeID + "</td></tr>";
    }

    strClubs += "</table>";

    strResults = '<table style="border-style: none;"><tr><td valign="top" style="padding-right: 100px; ">'
                + strResults + '</td><td valign="top">' + strClubs + "</td></tr></table>";

    $get("lblOpmerking").innerHTML = "";

    strResults += "<br />";

    $get("divResults").innerHTML = strResults;
    $get("imgLoading").style.visibility = "hidden";
}

function ShowClubs(results)
{
    var strResults = '<table id="tblRatingClubs" align="center" cellpadding="10" cellspacing="0"><tr id="trClubsHeader"><td>Code</td><td>Vereniging</td></tr>';

    var i;

    for (i = 0; i < results.length; i++)
    {
        if (results[i] == null)
            break;

        if (i % 2 == 0)
            strResults += "<tr>";
        else
            strResults += '<tr class="DiscussieRow">';

        strResults += "<td>" + results[i].VerenigingCode + "</td>"
                    + '<td><a target="_self" href="javascript:void(0)" onclick="ZoekOpClubId('
                    + results[i].VerenigingID + ", '" + results[i].VerenigingNaam.replace("'", "\\'") + "', '"
                    + results[i].VerenigingCode
                    + "'" + ')">' + results[i].VerenigingNaam + "</a></td></tr>";
    }

    strResults += "</table>";

    var lblOpmerking = $get("lblOpmerking")

    if (results[results.length - 1] != null)
    {
        lblOpmerking.innerHTML = "meer dan " + (results.length - 1) + " clubs gevonden; de eerste "
                            + (results.length - 1) + " worden getoond";
    }
    else
    {
        if (i == 1)
            lblOpmerking.innerHTML = "&eacute;&eacute;n club gevonden";
        else
            lblOpmerking.innerHTML = i + " clubs gevonden";
    }

    strResults += "<br />";

    $get("divResults").innerHTML = strResults;

    $get("imgLoading").style.visibility = "hidden";
}

function ShowLeden(results)
{
    if (results == null)
    {
        return;
    }

    var ResultsLength = results.length;

    var strResults = '<table id="tblRatingList" align="center" cellpadding="10" cellspacing="0"><tr id="trRatingsHeader"><td>knsb nr</td><td>voornaam</td><td>voorl.</td><td>tussenv.</td><td>achternaam</td><td>knsb</td><td>fide</td><td>jeugdrating</td><td>m/v</td><td>geboren</td><td>land</td><td>fide id</td></tr>';

    var i;

    for (i = 0; i < ResultsLength; i++)
    {
        if (results[i] == null)
            break;

        var LidInfo = results[i];

        if (i % 2 == 0)
            strResults += '<tr>';
        else
            strResults += '<tr class="DiscussieRow">';

        strResults += '<td><a target="_self" href="javascript:void(0)" onclick="ZoekLidInfo('
                    + LidInfo.Relatienummer + ')">' + LidInfo.Relatienummer + "</a></td><td>"
                    + LidInfo.Voornaam + "</td><td>"
                    + LidInfo.Voorletters + "</td><td>"
                    + LidInfo.Tussenvoegsel + "</td><td>"
                    + LidInfo.Achternaam + "</td>"
                    + ShowRating(LidInfo.KNSBRating, true)
                    + ShowRating(LidInfo.FIDERating, true)
                    + ShowRating(LidInfo.KNSBJeugdRating, true)
                    + '<td style="text-align: center">'
                    + LidInfo.Geslacht + '</td><td style="text-align: center">'
                    + LidInfo.Geboren + '</td><td style="text-align: center">'
                    + LidInfo.Nationaliteit + "</td><td>";

        if (LidInfo.FIDEid == 0)
            strResults += "&nbsp;";
        else
            strResults += '<a href="http://ratings.fide.com/card.phtml?event=' + LidInfo.FIDEid +
                    '" target="_blank">' + LidInfo.FIDEid + "</a>";

        strResults += "</td></tr>";
    }

    strResults += "</table>";

    var lblOpmerking = $get("lblOpmerking")

    if (action == "ZoekOpClubId")
    {
        if (i == 1)
            lblOpmerking.innerHTML = lblOpmerking.innerHTML + " 1 lid";
        else
            lblOpmerking.innerHTML += i + " leden";
    }
    else
    {
        if (action == "ZoekOpJaar")
        {
            lblOpmerking.innerHTML = "Top 50";
        }
        else
        {
            if (results[ResultsLength - 1] != null)
                lblOpmerking.innerHTML = "meer dan " + (ResultsLength - 1) + " namen gevonden; de eerste " + (ResultsLength - 1) + " worden getoond";
            else
            {
                if (i == 1)
                    lblOpmerking.innerHTML = "&eacute;&eacute;n naam gevonden";
                else
                    lblOpmerking.innerHTML = i + " namen gevonden";
            }
        }
    }

    strResults += "<br />";

    $get("divResults").innerHTML = strResults;

    $get("imgLoading").style.visibility = "hidden";
}

function ShowRating(rating, centreren)
{
    var str = '<td';

    if (centreren)
        str += ' style="text-align: center">';
    else
        str += '>';

    if (rating == 0)
        str += "&nbsp;";
    else
        str += rating;

    str += "</td>";

    return str;
}
