﻿var pageType;

function getActiveTypes()
{
    var result = new Array();
    result.push(0);
    $('.filter-items.types li input').each(function(i)
    {
        if (this.checked)
        {
            result.push(this.getAttribute("TypeID"));
        }
    });
    return result;
}

function getActiveStatusses()
{
    var result = new Array();
    result.push(0);
    $('.filter-items.statusses li input').each(function(i)
    {
        if (this.checked)
        {
            result.push(this.getAttribute("StatusID"));
        }
    });
    return result;
}


function setFocalCenter()
{
    if (!getQueryVariable("focus"))
    {
        
        for (var i = 0; i < terreinenPolygons.length; i++)
        {
            if (terreinenPolygons[i].TerreinID == userDefaultTerrein)
            {
                var bounds = terreinenPolygons[i].getBounds();

                map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds, map.getSize()));
            }
        }
    }
    else
    {
        for (var i = 0; i < markers.length; i++)
        {
            
            if (markers[i].meldingID)
            {
                
                if (markers[i].meldingID == getQueryVariable("focus"))
                {
                    map.setCenter(markers[i].getLatLng(), 19);
                }
            }
        }
    }
}

function refillDataView()
{

    if ((getQueryVariable("view") != "map") && (pageType == "meldingen" || pageType.length == 0))
    {
        getMeldingen();
    }

    if (getQueryVariable("view") != "map" && pageType == "terreinen")
    {
        getTerreinenList();
    }

    if (getQueryVariable("view") == "map" || !getQueryVariable("view"))
    {
        getMeldingen();
        getTerreinen();
    }

}

function getMeldingen()
{
    $.ajax({
        type: "POST",
        url: "/Meldingen.asmx/GetMeldingen",
        data: "{'mustHaveCoords': 'true', 'shownTypes' : '" + getActiveTypes() + "', 'shownStatusses' : '" + getActiveStatusses() + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(meldingen)
        {
            if (getQueryVariable("view") == "map" || !getQueryVariable("view"))
            {

                for (var i = 0; i < markers.length; i++)
                {
                    map.removeOverlay(markers[i]);
                }
            }
            else
            {
                $('.data-table tbody').empty();
            }

            for (var i = 0; i < meldingen.length; i++)
            {

                var melding = meldingen[i];

                if (getQueryVariable("view") == "map" || !getQueryVariable("view"))
                {
                    makeNewMeldingMarker(melding);
                    
                }
                else
                {
                    makeNewMeldingRecord(melding);
                }
            }
        }
    });
}
var terreinenPolygons = new Array();
function makeNewTerreinMarkers(terrein)
{
    

    var points = new Array();
    for (var i = 0; i < terrein.GrensPunten.length; i++)
    {
//        alert(terrein.GrensPunten[i]Breedtegraad);
//        return;
        points.push(new GLatLng(terrein.GrensPunten[i].Breedtegraad, terrein.GrensPunten[i].Lengtegraad));
    }
    //alert(points);
    var polygon = new GPolygon(points, terrein.Kleur, 1, 0.5, terrein.Kleur, 0.25);
    polygon.TerreinID = terrein.TerreinID;
    terreinenPolygons.push(polygon);

    map.addOverlay(polygon);
}

function getTerreinen()
{
    $.ajax({
        type: "POST",
        url: "/Meldingen.asmx/GetTerreinen",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(terreinen)
        {
        
          

            for (var i = 0; i < terreinen.length; i++)
            {
                var terrein = terreinen[i];


                makeNewTerreinMarkers(terrein)
               
            }
            
            setFocalCenter();

        }
        
        
    });
}



function getTerreinenList() {
    $.ajax({
        type: "POST",
        url: "/Meldingen.asmx/GetTerreinen",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(terreinen) {

            $('.data-table tbody').empty();


            for (var i = 0; i < terreinen.length; i++)
            {
                var terrein = terreinen[i];


                makeNewTerreinRecord(terrein);
            }
        }


    });
}

var userDefaultTerrein = 0;

function makeNewMeldingRecord(melding)
{
    $('.data-table tbody').append('<tr class="data-item" onmouseover="this.className = \'data-item-hover\';" onmouseout="this.className = \'data-item\';" onclick="window.location.href=\'Melding.aspx?id=' + melding.MeldingID + '\';"><td><img src="/images/Icons/stat' + melding.MeldingStatusID + '_type' + melding.MeldingTypeLetter + '.png" style="width: 18px; height: 18px;" class="status-image" alt="' + melding.MeldingTypeNaam + '" /></td><td>x</td><td>' + melding.Straat + '&nbsp;' + melding.Huisnummer + '</td><td>' + melding.Titel + '&nbsp;</td><td>' + dateFormat(DateDeserialize(melding.DatumPlaatsing), 'dd-mm-yyyy') + '</td><td>' + dateFormat(DateDeserialize(melding.DatumPlaatsing), 'HH:MM') + '</td><td>' + melding.MelderNaam + '</td><td class="last"><a href="Meldingen.aspx?view=map&focus=' + melding.MeldingID + '"><img src="/images/bt_eye2.png" /></a></td></tr>')
}

function makeNewTerreinRecord(terrein)
{
    $('.data-table tbody').append('<tr class="data-item" onmouseover="this.className = \'data-item-hover\';" onmouseout="this.className = \'data-item\';" onclick="window.location.href=\'Terrein.aspx?id=' + terrein.TerreinID + '\';"><td>' + terrein.Naam + '</td><td>&nbsp;</td><td></td><td></td><td class="last"><a href="Meldingen.aspx?view=map&focus=' + terrein.TerreinID + '&focustype=terrein"><img src="/images/bt_eye2.png" /></a></td></tr>')
}



function OnChangeMeldingPositieComplete()
{

}

function OnChangeMeldingPositieTimeout()
{

}




function toggleTypeItem(item, image, letter)
{
    if(item.checked)
        image.attr('src', '/images/icons/stat1_type' + letter + '.png')
    else
        image.attr('src', '/images/icons/stat0_type' + letter + '.png')
}

function toggleStatusItem(item, image, statusID)
{
    if (item.checked)
        image.attr('src', '/images/icons/stat' + statusID + '_type0.png')
    else
        image.attr('src', '/images/icons/stat0_type0.png')
}
