﻿var zoomfactor = 7;
var zoomfactorGroot = 7;
var zoomfactorKlein = 10;
var homezoomfactor = 9;
// window of regitser
var winRegister = null;
var EanCodeClientID = null;
var map = null;

var mcStyles = [ 
    [
        {
            url: '/content/images/opwekkers/block1.png',
            width: 38,
            height: 18,
            opt_anchor: [4, 20],
            opt_textColor: '#000'
        }
    ],
    [
        {
            url: '/content/images/opwekkers/blockblue.png',
            width: 38,
            height: 18,
            opt_anchor: [4, 20],
            opt_textColor: '#000'
        }
    ]
];
var mcOptions = { gridSize: 70, maxZoom: 12, styles: mcStyles[0] };
var mc = null;

var mcGrootOptions = { gridSize: 70, maxZoom: 12, styles: mcStyles[1]};
var mcGroot = null;

//var mgr = null;
//var mgrOptions = {borderPadding: 10, maxZoom: 15, trackMarkers: false };
var geocoder = null;
var mapLoading = null;
var postcode = null;
var huisnr = null;
var HomeMarker = null;
var _markerData = null;
var _SelectedMarker = null;
var markerGrootschalig = [];
var markerKleinschalig = [];

var IconGroot = new GIcon();
IconGroot.iconSize = new GSize(20, 20);
IconGroot.iconAnchor = new GPoint(5, 5);
IconGroot.infoWindowAnchor = new GPoint(20, 1);
IconGroot.image = '/content/images/Icons/ico_wind.png';

var IconKlein = new GIcon();
IconKlein.iconSize = new GSize(15, 15);
IconKlein.iconAnchor = new GPoint(5, 5);
IconKlein.infoWindowAnchor = new GPoint(15, 1);
IconKlein.image = '/content/images/Icons/ico_wind.png';

var oHomeIcon = new GIcon();
oHomeIcon.iconSize = new GSize(32, 32);
oHomeIcon.iconAnchor = new GPoint(16, 32);
oHomeIcon.infoWindowAnchor = new GPoint(32, 1);
oHomeIcon.image = '/content/images/Icons/ico_home.png';

var GIcons = [];
GIcons["gr_biovergisting"] = new GIcon(IconGroot, "/content/images/Icons/ico_biomassa.png");
GIcons["gr_waterkracht"] = new GIcon(IconGroot, "/content/images/Icons/ico_water.png");
GIcons["gr_windmolen"] = new GIcon(IconGroot, "/content/images/Icons/ico_wind.png");
GIcons["gr_zonnepanelen"] = new GIcon(IconGroot, "/content/images/Icons/ico_zon.png");

GIcons["kl_biovergisting"] = new GIcon(IconKlein, "/content/images/Icons/ico_biomassa.png");
GIcons["kl_waterkracht"] = new GIcon(IconKlein, "/content/images/Icons/ico_water.png");
GIcons["kl_windmolen"] = new GIcon(IconKlein, "/content/images/Icons/ico_wind.png");
GIcons["kl_zonnepanelen"] = new GIcon(IconKlein, "/content/images/Icons/ico_zon.png");

function pageloading(show) {
    if (show == true) {
        map.addControl(mapLoading);
    } else {
        map.removeControl(mapLoading);
    }
}

function UnBuildMap() {

    markerGrootschalig = null;
    GUnload();
}

function CenterDiv(DivObject) {
    var o = $(window).height() / 2 - $(DivObject).height() / 2 + $(window).scrollTop() + "px";
    var t = $(window).width() / 2 - $(DivObject).width() / 2 + $(window).scrollLeft() + "px";
    DivObject.css('top', o);
    DivObject.css('left', t);    
    return DivObject
}

function ShowP1() {
    CenterDiv($('#frmP1'));
    $('#frmP1').fadeIn(250);
}
function CloseP1() {
    $('#frmP1').fadeOut(250);
}

function ShowP2() {
    CenterDiv($('#frmP2'));
    $('#frmP2').fadeIn(250);
}
function CloseP2() {
    $('#frmP2').fadeOut(250);
}

function ShowP3() {
    CenterDiv($('#frmP3'));
    $('#frmP3').fadeIn(250);
}
function CloseP3() {
    $('#frmP3').fadeOut(250);
}
function ShowP5() {
    CenterDiv($('#frmP5'));
    $('#frmP5').fadeIn(250);
}
function CloseP5() {
    $('#frmP5').fadeOut(250);
}


function BuildMap() {
    if (GBrowserIsCompatible()) {
        var m = $("#mapWrapper");
           
        map = new GMap2(document.getElementById("map_canvas"));
        

        //G_SATELLITE_MAP
        map.setCenter(new GLatLng(52.1181, 5.15037), zoomfactor, G_PHYSICAL_MAP);
        map.setUIToDefault();

        // init geocoder for adres cooordinates
        geocoder = new GClientGeocoder();
        
        // add loader in map
        mapLoading = new LoadingControl();
        
        // create marker manager
        //mgr = new MarkerManager(map, mgrOptions);
        mc = new MarkerClusterer(map, [], mcOptions);
        mcGroot = new MarkerClusterer(map, [], mcGrootOptions);

        // marker div
        _markerData = $("#markerData")

        GetGroteOpwekkers(0)        
    }
}


function GetProvincieZoomLevel(PCode) {
    // center map to provincie
    switch (PCode) {
        case "nl": //Heel Nederland
            map.setCenter(new GLatLng(51.9584, 4.74748), 8);
            break;
        case "B": // Friesland
            map.setCenter(new GLatLng(53.1219, 5.7598), 10);
            break;
        case "D": //Drente
            map.setCenter(new GLatLng(52.8511, 6.62264), 10);
            break;
        case "X": //Flevoland
            map.setCenter(new GLatLng(52.4357, 5.51938), 10);
            break;
        case "G": //Gelderland
            map.setCenter(new GLatLng(52.1624, 6.02834), 10);
            break;
        case "A": //Groningen
            map.setCenter(new GLatLng(53.2786, 6.7581), 10);
            break;
        case "K": //Limburg
            map.setCenter(new GLatLng(51.1635, 5.92195), 10);
            break;
        case "P": //Noord-Brabant
            map.setCenter(new GLatLng(51.5482, 5.15054), 10);
            break;
        case "L": //Noord-Holland
            map.setCenter(new GLatLng(52.5096, 4.87192), 10);
            break;
        case "E": //Overijssel
            map.setCenter(new GLatLng(52.4174, 6.512), 10);
            break;
        case "M": //Utrecht
            map.setCenter(new GLatLng(52.0871, 5.12345), 10);
            break;
        case "H": //Zuid-Holland
            map.setCenter(new GLatLng(51.942766, 4.461135), 10);
            break;
        case "S": //Zeeland
            map.setCenter(new GLatLng(51.5058, 3.85178), 10);
            break;
    }
}

function GetProvincieLevel(o) {
    
    // show loading panel
    pageloading(true);

    // selected provincie
    var _provincie = o.value;
    GetProvincieZoomLevel(_provincie)

    //hide loading block
    pageloading(false);
}

function GetGroteOpwekkers(_provincie) {
    pageloading(true);

    $.getJSON("/JSON/GetAlleGrootOpwekkers", {}, function(msg) { OnComplete(msg); });
//    $.ajax({
//        type: 'POST',
//        url: '/JSON/GetAlleGrootOpwekkers',
//        data: '{}',
//        dataType: 'json',
//        async: true,
//        cache: false,
//        contentType: "application/json; charset=utf-8",
//        error: function(a, b, c) { alert('oeps: GetAlleGrootOpwekkers') },
//        success: function(msg) { OnComplete(msg); }
//    });

    //ret = GreenchoiceWebsite.Opwekkers.GetAlleGrootOpwekkers(OnComplete, OnError, OnTimeOut);
}

function OnComplete(args) {
    // na ophalen van grootschalig opwekkers
    // markers aanmaken
    var result = eval('(' + args + ')');
    
    // bouw opwekkers op
    loadmarkers(result);
    
    // add markers on map
    // mgr.addMarkers(markerGrootschalig, zoomfactorGroot, 15);
    mcGroot.addMarkers(markerGrootschalig);
    markerGrootschalig = null;
    
    // show grootopwekkers op de kaart 
    // mgr.refresh();

    // get kleine opwekkers
    $.getJSON("/JSON/GetAlleKleineOpwekkers", {}, function(msg) { OnKleinComplete(msg); });
    
//    $.ajax({
//        type: 'POST',
//        url: '/JSON/GetAlleKleineOpwekkers',
//        data: '{}',
//        dataType: 'json',
//        async: true,
//        cache: false,
//        contentType: "application/json; charset=utf-8",
//        error: function() { alert("oeps: GetAlleKleineOpwekkers") },
//        success: function(msg) { OnKleinComplete(msg); }
//    });
    //ret = GreenchoiceWebsite.Opwekkers.GetAlleKleineOpwekkers(OnKleinComplete, OnError, OnTimeOut);    
}

function OnKleinComplete(args) {
    // na ophalen van kleinschalig opwekkers
    // markers aanmaken
    var result = eval('(' + args + ')');
    loadmarkers(result);
    
    // add markers on map
    // mgr.addMarkers(markerKleinschalig, zoomfactorKlein, 15);
    // mc.addMarkers(markerGrootschalig);
    mc.addMarkers(markerKleinschalig);
    markerKleinschalig = null;

    // update gmap
    // mgr.refresh();

    // laat een voorbeeld zien
    if (_SelectedMarker) {
        // GetMarkerData(_SelectedMarker.GrId, _SelectedMarker.IsGrootSchalig);
    } else {

    };
    pageloading(false);
}

function OnTimeOut(args) {
    pageloading(false);
    alert("Service call timed out.");
}

function OnError(args) {
    pageloading(false);
    alert("Error calling service method.");
}

function loadmarkers(data) {
    
    var _jsondata = data.returnvalue

    // counter amount of visited natures
    var CountVisit = 0

    for (var i = 0; i < _jsondata.length; i++) {
        var point = new GLatLng(_jsondata[i].Latitude, _jsondata[i].Longitude);
        var marker = createMarker(_jsondata[i].OpwekinstallatieID,
                                  point,
                                  _jsondata[i].InstallatieNaam,
                                  _jsondata[i].IsGrootSchalig,
                                  _jsondata[i].OpwekType);

        if (_jsondata[i].IsGrootSchalig == 0) {
            markerGrootschalig.push(marker);
        } else {
            markerKleinschalig.push(marker);
        }
        
        if (status == 'true') {
            CountVisit = CountVisit + 1
        }
        if (_jsondata[i].OpwekinstallatieID == 99) {
            _SelectedMarker = marker;
        }
        // dispose temp marker
        marker = null;
        
    } // end for

    _jsondata = null;

    // counter amount of visited natures
    CountVisit = 0

} // function

function createMarker(OpwekinstallatieID, point, Name, IsGrootSchalig, OpwekType) {

    // Set up our GMarkerOptions object
    var markerOpts = {};

    switch (OpwekType) {
        case "Biovergisting":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_biovergisting"];
            } else {
                markerOpts.icon = GIcons["kl_biovergisting"];
            };
            break;
        case "Biomassa":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_biovergisting"];
            } else {
                markerOpts.icon = GIcons["kl_biovergisting"];
            };
            break;
        case "Waterkracht":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_waterkracht"];
            } else {
                markerOpts.icon = GIcons["kl_waterkracht"];
            };
            break;
        case "Windmolen":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_windmolen"];
            } else {
                markerOpts.icon = GIcons["kl_windmolen"];
            };
            break;
        case "Zon":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_zonnepanelen"];
            } else {
                markerOpts.icon = GIcons["kl_zonnepanelen"];
            };
            break;
        case "Zonnepanelen":
            if (IsGrootSchalig == 0) {
                markerOpts.icon = GIcons["gr_zonnepanelen"];
            } else {
                markerOpts.icon = GIcons["kl_zonnepanelen"];
            };
            break;
    }
    var marker = new GMarker(point, markerOpts);
    marker.GrId = OpwekinstallatieID;
    if (IsGrootSchalig == 0) {
        marker.IsGrootSchalig = 0;
        markerOpts.title = Name;
    } else {
        marker.IsGrootSchalig = 1;
        markerOpts.title = 'Kleinschalig opwekker';
    }

//    GEvent.addListener(marker, "mouseover", function() {
//        // on mouseover show inforight
//        var markerOffset = map.fromLatLngToDivPixel(marker.getPoint()); 
//        $("#tooltipmsg").show().css({ top: markerOffset.y, left: markerOffset.x });
//    });

//    GEvent.addListener(marker, "mouseout", function() {
//        // on mouseout hide inforight
//    });

    GEvent.addListener(marker, 'click', function() {
        //doe niets;
        GetMarkerData(marker.GrId, marker.IsGrootSchalig);
        _SelectedMarker = marker;
        pageloading(false)
    });
    
    return marker;

} // function

// loading control in google maps
function LoadingControl(){}
LoadingControl.prototype = new GControl();
LoadingControl.prototype.initialize = function(map) {
    var c = document.createElement("div");
    c.style.visibility = "visible";
    c.style.background = "#d0e4c0 url('/content/images/nav_bg.gif') repeat-x";
    c.style.padding = "5px";
    c.style.width = "125px";
    c.style.border = "solid 1px #979797"

    var htmlText = " Bezig met laden..."
    
    // loading image
    var imgLoading = document.createElement("img");
    imgLoading.src = "/content/images/loading_animated.gif"
    imgLoading.align = "absmiddle"
    // build loader box
    c.appendChild(imgLoading);
    c.innerHTML = c.innerHTML + htmlText;
    map.getContainer().appendChild(c);
    return c;
}
LoadingControl.prototype.getDefaultPosition = function() {
    return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(200, 200));
}

// adres ophalen
function GetAdres(p, h) {
    postcode = p;
    huisnr = h;
    
    if (postcode.length > 0 && huisnr.length > 0) {
        // show loading panel
        pageloading(true);
        $.getJSON("/JSON/GetAdres", { postcode: postcode, huisnummer: huisnr }, function(msg) { AdresOnComplete(msg); });
        
//        $.ajax({
//            type: 'POST',
//            url: '/JSON/GetAdres',
//            //data: { 'postcode': postcode, 'huisnummer': huisnr },
//            data: '{postcode : ' + postcode + ', huisnummer : ' + huisnr + '}',
//            dataType: 'json',
//            async: true,
//            cache: false,
//            contentType: "application/json; charset=utf-8",
//            error: function(a, b, c) { alert('oeps: GetAdres') },
//            success: function(msg) { AdresOnComplete(msg); }
//        });
        
        //ret = GreenchoiceWebsite.Opwekkers.GetAdres(postcode, huisnr, AdresOnComplete, OnError, OnTimeOut);
    }
    
}

function AdresOnComplete(args) {
    var result = eval('(' + args + ')');
    var jdata = result.returnvalue;

    if (result.error) {
        //hide loading block
        pageloading(false);  
                
        alert(result.error);
        
    } else {
    
        // ga naar gevonden adres
        var adres = $("#litAdres");
        
        if (adres || jdata[0]) {
            var _adres = "";
            _adres += jdata[0].Straat + ' ' + jdata[0].Huisnr + ' ';
            _adres += jdata[0].Postcode + ' ' + jdata[0].Stad + ' ';
            _adres += ', NL ';

            adres.innerHTML = "<br /><br />";
            adres.innerHTML += jdata[0].Straat + ' ' + jdata[0].Huisnr + '<br />';
            adres.innerHTML += jdata[0].Postcode + ' ' + jdata[0].Stad + '<br />';

            // position Home marker
            if (geocoder) {
                geocoder.getLatLng(
                    _adres,
                    function(point) {
                        if (!point) {
                            alert(_adres + " niet gevonden.");
                        } else {
                            // map.setCenter(point, homezoomfactor);
                            if (!HomeMarker) {
                                var markerOpts = {};
                                markerOpts.icon = oHomeIcon;
                                HomeMarker = new GMarker(point, markerOpts);
                                map.addOverlay(HomeMarker);
                                markerOpts = null;
                                GEvent.addListener(HomeMarker, 'click', function() {
                                    //doe niets;
                                    HomeMarker.openInfoWindowHtml(_adres);
                                });
                                HomeMarker.openInfoWindowHtml(_adres);
                            } else {
                                HomeMarker.setPoint(point);
                                HomeMarker.openInfoWindowHtml(_adres);
                            }

                        }
                    }
                )
            }

            GetProvincieZoomLevel(jdata[0].Provinciecode);
        };

        //hide loading block
        pageloading(false);  
    };
}

// adres ophalen
function GetMarkerData(OpwekkerId, IsGrootSchalig) {
    // show loading panel
    pageloading(true);
    // getdata
    if (IsGrootSchalig == 0) {
        $.getJSON("/JSON/GetGrootOpwekker", { OpwekkerId: OpwekkerId }, function(msg) { GetMarkerDataOnComplete(msg); });
//        $.ajax({
//            type: 'POST',
//            url: '/JSON/GetGrootOpwekker',
//            data: ({ OpwekkerId: OpwekkerId }),
//            dataType: 'json',
//            async: true,
//            cache: false,
//            contentType: "application/json; charset=utf-8",
//            error: function(a, b, c) { alert('oeps: GetGrootOpwekker') },
//            success: function(msg) { GetMarkerDataOnComplete(msg); }
//        });
        
        //ret = GreenchoiceWebsite.Opwekkers.GetGrootOpwekker(OpwekkerId, GetMarkerDataOnComplete, OnError, OnTimeOut);
    } else {
          $.getJSON("/JSON/GetKleinOpwekker", { OpwekkerId: OpwekkerId }, function(msg) { GetMarkerDataOnComplete(msg); });
                    
//        $.ajax({
//            type: "POST",
//            url: "/JSON/GetKleinOpwekker",
//            data: { OpwekkerId: OpwekkerId },
//            dataType: "json",
//            async: true,
//            cache: true,
//            contentType: "application/json; charset=utf-8",
//            error: function(a, b, c) { alert('oeps: GetKleinOpwekker : ' + OpwekkerId) },
//            success: function(msg) { GetMarkerDataOnComplete(msg); }
//        });
        
        //ret = GreenchoiceWebsite.Opwekkers.GetKleinOpwekker(OpwekkerId, GetMarkerDataOnComplete, OnError, OnTimeOut);
    }
}

function ShowRegisterInfo(opwekTypeNr) {
    // get eancode update link eancode
    $('#lnkGoDossier').attr("href", "http://dossier.greenchoice.nl/Mijn-Dossier/kies-mijn-stroombron.aspx?txtEan=" + $('#txtEan').val());

    switch (opwekTypeNr) {
        case 1: // Zon
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=284&prodid=1");
            break;
        case 2: // Zonnepanelen
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=284&prodid=1");
            break;
        case 3: // Windmolen
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=451");
            break;
        case 4: // Biovergisting
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=284&prodid=1");
            break;
        case 5: // Biomassa
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=284&prodid=1");
            break;
        case 6: // Waterkracht
            $('#lnkAanmelden').attr("href", "/thuis/klant-worden/aanmelden-bij-greenchoice?refid=284&prodid=1");
            break;
    }
    ShowP3();
}


function GetMarkerDataOnComplete(args) { 
    //show marker data
    var result = eval('(' + args + ')');
    var jdata = result.returnvalue
    var htmltext='';
    // build html info
    if (jdata[0]) {
        // put ean code in hidden value
        var e = $('#txtEan');
        if (e) {
            e.val(jdata[0].EAN_Opwekinstallatie);
        }
        if (jdata[0].IsGrootSchalig == 0) {
            htmltext += '<div style="width:400px;height:300px;overflow:auto;">';
        } else {
            htmltext += '<div style="width:300px;">';
        }
        
        htmltext += '<div style="width:187px;float:right;">';
        if (jdata[0].Greenchoice_Gecontracteerd) {
            htmltext += '<img src="/content/images/opwekkers/logo_greenchoice.png" alt="Greenchoice" /><br>';
        }else{
            htmltext += '<img src="/content/images/opwekkers/logo_windunie.png" alt="Windunie" /><br>';
        }
        htmltext += '</div>';
        if (jdata[0].IsGrootSchalig == 1) {
            htmltext += '<h2>Kleinschalige opwekker</h2>';
            htmltext += '<p>';
        } else {
            htmltext += '<h2>' + jdata[0].InstallatieNaam + '</h2>';
            htmltext += '<p>';
            if (jdata[0].Naam_Eigenaar != null) {
                htmltext += '<b>Eigenaar:</b> ' + jdata[0].Naam_Eigenaar + '<br/>';
            }            
        }

        htmltext += '<b>Provincie:</b> ' + jdata[0].Provincie + '<br/>';       
        var opwekTypeNr = 0
        switch (jdata[0].OpwekType) {
            case "Zon":
                htmltext += '<b>Opwek type:</b> Zonne-energie opwekker. Met behulp van zonnepanelen wordt zonlicht omgezet in elektriciteit .  (zonnecellen)<br/>';
                opwekTypeNr = 1
                break;
            case "Zonnepanelen":
                htmltext += '<b>Opwek type:</b> Zonne-energie opwekker. Met behulp van zonnepanelen wordt zonlicht omgezet in elektriciteit.<br/>';
                opwekTypeNr = 2
                break;
            case "Windmolen":
                htmltext += '<b>Opwek type:</b> Windenergie wordt door windmolens omgezet in elektriciteit .<br/>';
                opwekTypeNr = 3
                break;
            case "Biovergisting":
                htmltext += '<b>Opwek type:</b> Energieproductie uit biomassa zoals mest, maïsstengels, bietenpuntjes en andere reststoffen uit de landbouw- en voedingindustrie.  Bacteriën zetten de organische stoffen om in gas  waar gasverbrandingsmotoren stroom en warmte uit produceren.<br/>';
                opwekTypeNr = 4
                break;
            case "Biomassa":
                htmltext += '<b>Opwek type:</b> Energieproductie uit biomassa zoals mest, maïsstengels, bietenpuntjes en andere reststoffen uit de landbouw- en voedingindustrie.  Bacteriën zetten de organische stoffen om in gas  waar gasverbrandingsmotoren stroom en warmte uit produceren.<br/>';
                opwekTypeNr = 5
                break;
            case "Waterkracht":
                htmltext += '<b>Opwek type:</b> Energieproductie door middel van waterkrachtcentrale .<br/>';
                opwekTypeNr = 6
                break;
        }
        if (jdata[0].IsGrootSchalig == 1) { //kleind schalig
            htmltext += '<b>Energie opwekking per jaar:</b> ' + jdata[0].Jaaropwekking + ' kWh<br/>';
        } else {
            htmltext += '<b>Aantal beschikbare huishoudens:</b> ' + jdata[0].AantalBeschikbareHuishoudens + '<br/>';
        }      
        
        if (jdata[0].AantalBeschikbareHuishoudens>0){
            htmltext += '<br />';
            // htmltext += '<a href="#" onclick="ShowRegisterInfo(); return false;">Klik hier als u van deze installatie stroom wilt ontvangen.</a><br>';
            htmltext += '<a href="#" onclick="ShowRegisterInfo(' + opwekTypeNr + '); return false;">Klik hier als u van deze installatie stroom wilt ontvangen.</a><br>';
        }
        htmltext += '</p>';
        
        if (jdata[0].One_Liner) {
            htmltext += '<p>' + jdata[0].One_Liner + '</p>'
        }
        
        if (jdata[0].Images) {
            htmltext += '<p>';
            if (jdata[0].Images.length > 0) {
                var o = jdata[0].Images.split(",");
                for (i = 0; i < o.length; i++) {
                    htmltext += '<img src="http://www.windunie.nl/images/passports/' + o[i] + '" Width="170" style="padding:8px 0px 10px 0px;" />';
                }
            }
            htmltext += '</p>';
        }
        htmltext += '</div>'
    }
    if (!_SelectedMarker.isHidden()) {
        _SelectedMarker.openInfoWindowHtml(htmltext);
    }
    
    _SelectedMarker = null;
    
    //hide loading block
    pageloading(false);

}

