GIF89a;
Notice: Undefined index: in /home/bs3263/domains/poolq.ee/public_html/wp-content/plugins/classic-editor/classic-editor.php on line 3

Priv8 Uploader By InMyMine7

Linux bs3.beeserver.ee 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64
HEX
HEX
Server: Apache/2
System: Linux bs3.beeserver.ee 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64
User: bs3263 (524)
PHP: 7.3.5
Disabled: NONE
Upload Files
File: /home/bs3263/public_html/wp-content/plugins/google-maps/assets/js/frontend/frontend.js
var hugeitMaps = [];

function hugeitMapsBindInfoWindow(marker, map, infowindow, description, infoType, openOnload) {
    if (openOnload) {
        /* Temporarily unnecessary       google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
         infowindow.setContent(description);
         infowindow.open(map, marker);
         });*/
    }

    google.maps.event.addListener(marker, 'click', function () {
        infowindow.setContent(description);
        infowindow.open(map, marker);
    });
}

function hugeitMapsAttachInstructionText(stepDisplay, marker, text, map) {
    google.maps.event.addListener(marker, 'click', function () {
        /*Open an info window when the marker is clicked on, containing the text of the step.*/
        stepDisplay.setContent(text);
        stepDisplay.open(map, marker);
    });
}


jQuery(document).ready(function () {
    function hugeitMapsInitializeMap(elementId) {
        var element = jQuery("#" + elementId),
            marker = [],
            polygone = [],
            polyline = [],
            polylinepoints,
            newpolylinecoords = [],
            polygonpoints,
            polygoncoords = [],
            directions = [],
            directionMarkers = [],
            newcircle = [],
            infowindow = new google.maps.InfoWindow,
            infowindows = [],
            newcirclemarker = [],
            circlepoint,
            locatorEnabled = element.data('locator-enabled'),
            width = element.width(),
            height = element.height(),
            div = parseInt(width) / parseInt(height),
            dataMapId = element.data('map_id'),
            dataZoom = element.data('zoom'),
            dataMinZoom = element.data('min-zoom'),
            dataMaxZoom = element.data('max-zoom'),
            dataCenterLat = element.data('center-lat'),
            dataCenterLng = element.data('center-lng'),
            dataPanController = parseInt(element.data('pan-controller')),
            dataZoomController = parseInt(element.data('zoom-controller')),
            dataTypeController = parseInt(element.data('type-controller')),
            dataScaleController = parseInt(element.data('scale-controller')),
            imgurl = element.data('img-url'),
            dataStreetViewController = parseInt(element.data('street-view-controller')),
            dataOverviewMapController = parseInt(element.data('overview-map-controller')),
            dataInfoType = element.data('info-type'),
            dataOpenInfowindowsOnload = element.data('open-infowindows-onload');

        var center_coords = new google.maps.LatLng(dataCenterLat, dataCenterLng);

        var frontEndMapOptions = {
            zoom: parseInt(dataZoom),
            center: center_coords,
            disableDefaultUI: true,
            panControl: dataPanController,
            zoomControl: dataZoomController,
            mapTypeControl: dataTypeController,
            scaleControl: dataScaleController,
            streetViewControl: dataStreetViewController,
            overviewMapControl: dataOverviewMapController,
            mapTypeId: google['maps']['MapTypeId']['ROADMAP'],
            minZoom: dataMinZoom,
            maxZoom: dataMaxZoom,
            fullscreenControl: true
        };
        var front_end_map = new google.maps.Map(document.getElementById(elementId), frontEndMapOptions);


        function hugeitMapsFrontRefresh() {
            google.maps.event.trigger(front_end_map, 'resize');
        }

        jQuery(document).on('click',function () {
            setTimeout(function () {
                hugeitMapsFrontRefresh();
            }, 500);
        })

        var front_end_data = {
            action: 'hugeit_maps_get_info',
            map_id: dataMapId
        };
        jQuery.ajax({
            url: ajaxurl,
            dataType: 'json',
            method: 'post',
            data: front_end_data,
            beforeSend: function () {
            }
        }).done(function (response) {
            hugeitMapsInitializeMap(response);
            locStores = response.success.locators;
        }).fail(function () {
            console.log('Failed to load response from database');
        });
        function hugeitMapsInitializeMap(response) {
            if (response.success) {
                var mapInfo = response.success;
                var markers = mapInfo.markers;
                for (var i = 0; i < markers.length; i++) {
                    var name = markers[i].name;
                    var address = markers[i].address;
                    var anim = markers[i].animation;
                    var description = markers[i].description;
                    var point = new google.maps.LatLng(
                        parseFloat(markers[i].lat),
                        parseFloat(markers[i].lng));
                    marker[i] = new google.maps.Marker({
                        map: front_end_map,
                        position: point,
                        title: name,
                        content: description,
                        animation: google['maps']['Animation'][anim]
                    });
                    var currentInfoWindow;

                    if (dataOpenInfowindowsOnload) {
                        currentInfoWindow = infowindows[i] = new google.maps.InfoWindow;
                    } else {
                        currentInfoWindow = infowindow;
                    }
                    hugeitMapsBindInfoWindow(marker[i], front_end_map, currentInfoWindow, description, dataInfoType, dataOpenInfowindowsOnload);
                }
                var polygones = mapInfo.polygons;
                for (var i = 0; i < polygones.length; i++) {
                    var name = polygones[i].name;
                    var line_opacity = polygones[i].line_opacity;
                    var line_color = "#" + polygones[i].line_color;
                    var fill_opacity = polygones[i].fill_opacity;
                    var line_width = polygones[i].line_width;
                    var fill_color = "#" + polygones[i].fill_color;
                    var latlngs = polygones[i].latlng;
                    polygoncoords = [];
                    for (var j = 0; j < latlngs.length; j++) {
                        polygonpoints = new google.maps.LatLng(parseFloat(latlngs[j].lat),
                            parseFloat(latlngs[j].lng))
                        polygoncoords.push(polygonpoints)
                    }
                    polygone[i] = new google.maps.Polygon({
                        paths: polygoncoords,
                        map: front_end_map,
                        strokeOpacity: line_opacity,
                        strokeColor: line_color,
                        strokeWeight: line_width,
                        fillOpacity: fill_opacity,
                        fillColor: fill_color,
                        draggable: false
                    });
                }
                var polylines = mapInfo.polylines;
                for (var i = 0; i < polylines.length; i++) {
                    var name = polylines[i].name;
                    var line_opacity = polylines[i].line_opacity;
                    var line_color = polylines[i].line_color;
                    var line_width = polylines[i].line_width;
                    var latlngs = polylines[i].latlng;
                    newpolylinecoords = [];
                    for (var j = 0; j < latlngs.length; j++) {
                        polylinepoints = new google.maps.LatLng(parseFloat(latlngs[j].lat),
                            parseFloat(latlngs[j].lng));
                        newpolylinecoords.push(polylinepoints)
                    }
                    polyline[i] = new google.maps.Polyline({
                        path: newpolylinecoords,
                        map: front_end_map,
                        strokeColor: "#" + line_color,
                        strokeOpacity: line_opacity,
                        strokeWeight: line_width
                    });
                }
                var circles = mapInfo.circles;
                for (var i = 0; i < circles.length; i++) {
                    var circle_name = circles[i].name;
                    var circle_center_lat = circles[i].center_lat;
                    var circle_center_lng = circles[i].center_lng;
                    var circle_radius = circles[i].radius;
                    var circle_line_width = circles[i].line_width;
                    var circle_line_color = circles[i].line_color;
                    var circle_line_opacity = circles[i].line_opacity;
                    var circle_fill_color = circles[i].fill_color;
                    var circle_fill_opacity = circles[i].fill_opacity;
                    var circle_show_marker = parseInt(circles[i].show_marker);
                    circlepoint = new google.maps.LatLng(parseFloat(circles[i].center_lat),
                        parseFloat(circles[i].center_lng));
                    newcircle[i] = new google.maps.Circle({
                        map: front_end_map,
                        center: circlepoint,
                        title: name,
                        radius: parseInt(circle_radius),
                        strokeColor: "#" + circle_line_color,
                        strokeOpacity: circle_line_opacity,
                        strokeWeight: circle_line_width,
                        fillColor: "#" + circle_fill_color,
                        fillOpacity: circle_fill_opacity
                    });
                    if (circle_show_marker) {
                        newcirclemarker[i] = new google.maps.Marker({
                            position: circlepoint,
                            map: front_end_map,
                            title: circle_name
                        });
                    }
                }
            }
        }

        /* locator start */
        if (locatorEnabled != 0) {
            var locpOptions = {
                map: front_end_map,
                strokeColor: "#00FF00",
                strokeOpacity: 0.9,
                strokeWeight: 4
            };
            var locDirectionsService = new google.maps.DirectionsService;
            var locDirectionsDisplay = new google.maps.DirectionsRenderer({
                suppressMarkers: true,
                polylineOptions: locpOptions
            });
            var locRouteInfowindow = new google.maps.InfoWindow;
            var locClosest, locClosetPosition, def, locClosetAddress, locInfoWindow, locCurrent,fromLatLng, locMarker, finalStores = [], locClosetArr = [], locMarkers = [];
            var locBounds = new google.maps.LatLngBounds();
            var locMap_id = dataMapId;
            var input = document.getElementById('searchLocator_' + locMap_id);
            var autocomplete = new google.maps.places.Autocomplete(input);
            var searchBox = new google.maps.places.SearchBox(input);
            var LocatorIcon = {
                url: imgurl + "/str-marker-icon.png",
                labelOrigin: new google.maps.Point(22, 20)
            };
            var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
            var labelIndex = 1;

            function calcDistance(pointA, pointB) {

                return (google.maps.geometry.spherical.computeDistanceBetween(pointA, pointB) / 1000).toFixed(2);

            }

            function clearDistance() {
                for (var i in locMarkers) {
                    if (locMarkers[i].get('name') == 'closest') {
                        locMarkers[i].setMap(null);
                        locMarkers[i].length = 0;
                    }

                    if (locCurrent) {
                        locCurrent.setMap(null);
                        locCurrent.length = 0;
                    }

                }
            }

            function clearLocations() {
                for (var i in locMarkers) {
                    locMarkers[i].setMap(null);
                }
                locMarkers.length = 0;
            }

            function clearDirections() {
                locDirectionsDisplay.setMap(null);
            }



            var oldRadius;
            var hgCounter=0;
            var hgTheSame;
            jQuery(document).on("click", "#submitLocator_" + locMap_id, function () {
                if(oldRadius!=jQuery("#locatorRadius_" + locMap_id).val()){
                    oldRadius = jQuery("#locatorRadius_" + locMap_id).val();
                    hgTheSame=false;
                }
                else {
                    hgTheSame=true;
                }

                var locAddress = jQuery("#searchLocator_" + locMap_id).val();
                var locRadius =  jQuery("#locatorRadius_" + locMap_id).val();
                var testGetDist = function (lp1, lp2) {
                    var deferred = jQuery.Deferred();
                    var tLocRoute, tLocContent;
                    locDirectionsService.route({
                        origin: lp1,
                        destination: lp2,
                        travelMode: 'DRIVING'
                    }, function (response, status) {
                        if (status === google.maps.DirectionsStatus.OK) {
                            tLocRoute = response.routes[0];
                            deferred.resolve(tLocContent = Number(tLocRoute.legs[0].distance.value / 1000).toFixed(1));
                        }
                        else {
                            deferred.reject(status);
                        }
                    });
                    return deferred.promise();
                };


                function getFinalStores(locStores) {
                    var dfd = jQuery.Deferred();
                    for (var i in locStores) {
                        (function(i){

                            locStores[i].latLng = new google.maps.LatLng(locStores[i].locator_lat, locStores[i].locator_lng);


                            testGetDist(fromLatLng, locStores[i].latLng).then(function (resp) {
                               if(locRadius && jQuery.isNumeric(locRadius)){
                                    if (resp < parseInt(locRadius)) {
                                        locStores[i].distance = resp;
                                        finalStores.push(locStores[i]);
                                    }
                                }

                                },
                                function (err) {

                                    console.log(err);

                                }).always(function () {
                                if (i == locStores.length - 1) {
                                    dfd.resolve();
                                }
                            });
                        }(i));

                    }

                    return dfd.promise();
                }
                if (locAddress != "" && locRadius != "") {
                    finalStores = [];
                    var geocoder = new google.maps.Geocoder();
                    geocoder.geocode({'address': locAddress}, function (result, status) {
                        if (status == google.maps.GeocoderStatus.OK) {
                            /* Compare old with new value */
                            if(!!fromLatLng){
                                var oldLatLng = fromLatLng;
                            }
                            fromLatLng = new google.maps.LatLng(result[0].geometry.location.lat(), result[0].geometry.location.lng());
                                if(!!oldLatLng){
                                    if(oldLatLng.lat()===fromLatLng.lat() && oldLatLng.lng()===fromLatLng.lng() && hgTheSame ){
                                        return false;
                                    }
                                }

                            /* Compare old with new value */
                            getFinalStores(locStores).then(function () {
                                if (finalStores.length > 0) {
                                    labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
                                    labelIndex = 1;
                                    jQuery(document).find("#huge_main_store_block").remove();
                                    jQuery(".huge_it_google_map_container").after("<div id='huge_main_store_block'></div>");
                                    var StoreBlock = "";
                                    StoreBlock += "<div class='str-block'>";
                                    StoreBlock += "        <div class='addr-info'>";
                                    StoreBlock += "            <div class='str-img'>";
                                    StoreBlock += "                <img src='" + imgurl + "\/str-marker.png' alt=''>";
                                    StoreBlock += "            <\/div>";
                                    StoreBlock += "            <div class='addr_block'>";
                                    StoreBlock += "                <p class='str-name'><\/p>";
                                    StoreBlock += "                <p class='str-dir'><a href='' target='_blank'>Get Directions<\/a><\/p>";
                                    StoreBlock += "                <div class='str-phone'>";
                                    StoreBlock += "                    <img src='" + imgurl + "\/phone.png' alt=''><p class='str-number'><\/p>";
                                    StoreBlock += "                <\/div>";
                                    StoreBlock += "";
                                    StoreBlock += "            <\/div>";
                                    StoreBlock += "";
                                    StoreBlock += "            <p class='str-addr'><\/p>";
                                    StoreBlock += "        <\/div>";
                                    StoreBlock += "";
                                    StoreBlock += "        <div class='a_info'>";
                                    StoreBlock += "            <table>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Sun<\/td>";
                                    StoreBlock += "                    <td name='sun'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Mon<\/td>";
                                    StoreBlock += "                    <td name='mon'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Tue<\/td>";
                                    StoreBlock += "                    <td name='tue'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Wed<\/td>";
                                    StoreBlock += "                    <td name='wed'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Thu<\/td>";
                                    StoreBlock += "                    <td name='thu'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Fri<\/td>";
                                    StoreBlock += "                    <td name='fri'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "                <tr>";
                                    StoreBlock += "                    <td>Sat<\/td>";
                                    StoreBlock += "                    <td name='sat'><\/td>";
                                    StoreBlock += "                <\/tr>";
                                    StoreBlock += "";
                                    StoreBlock += "            <\/table>";
                                    StoreBlock += "";
                                    StoreBlock += "        <\/div>";
                                    StoreBlock += "    <\/div>";
                                    locClosetArr = [];
                                    clearDistance();
                                    clearLocations();
                                    clearDirections();
                                    locClosest = parseInt(locRadius);

                                    for (var i in finalStores) {
                                        locClosetArr.push(finalStores[i].distance);
                                    }
                                    locClosest = Math.min.apply(null, locClosetArr);
                                    for (var i in finalStores) {

                                        if (typeof(finalStores[i].locator_days) != "object" && finalStores[i].locator_days != "") {
                                            finalStores[i].locator_days = JSON.parse(finalStores[i].locator_days);
                                        }
                                        else {

                                            if(typeof(finalStores[i].locator_days) != "object" && finalStores[i].locator_days == ""){
                                                finalStores[i].locator_days = JSON.parse(null);
                                            }

                                        }

                                        locMarker = new google.maps.Marker({
                                            map: front_end_map,
                                            position: {
                                                lat: finalStores[i].locator_lat,
                                                lng: finalStores[i].locator_lng
                                            },
                                            id: i,
                                            icon: LocatorIcon,
                                            label: labels[labelIndex++ % labels.length]

                                        });
                                        locInfoWindow = new google.maps.InfoWindow;

                                        if (parseFloat(finalStores[i].distance) <= parseFloat(locClosest)) {
                                            locClosest = finalStores[i].distance;
                                            locClosetPosition = {
                                                lat: parseFloat(finalStores[i].locator_lat),
                                                lng: parseFloat(finalStores[i].locator_lng)
                                            };
                                            locClosetAddress = finalStores[i].locator_addr;
                                            locMarker.set('name', 'closest');
                                        }

                                        locBounds.extend(locMarker.getPosition());
                                        google.maps.event.addListener(locMarker, 'click', function (i) {
                                            return function () {
                                                testGetDist(fromLatLng, this.position).then(function (resp) {
                                                    locInfoWindow.setContent("<b>" + finalStores[i].name + "</b><br/>" + finalStores[i].locator_addr + "<br/>" + resp+" km");
                                                }, function (err) {
                                                    console.log(err);
                                                });
                                                locInfoWindow.open(front_end_map, this);
                                            }
                                        }(i));

                                        locMarkers.push(locMarker);
                                        jQuery("#huge_main_store_block").append(StoreBlock);
                                        if (finalStores[i].locator_phone == "") {
                                            jQuery(document).find(".str-phone").last().css("visibility", 'hidden');
                                        }
                                        else {
                                            jQuery(document).find(".str-phone").last().css("visibility", 'visible');
                                        }
                                        var gDirQuery = finalStores[i].locator_addr;
                                        gDirQuery = gDirQuery.replace(/ /g, '+');
                                        jQuery(document).find("#huge_main_store_block .str-name").last().text(finalStores[i].name);
                                        jQuery(document).find("#huge_main_store_block .str-addr").last().text(finalStores[i].locator_addr);
                                        jQuery(document).find("#huge_main_store_block .str-number").last().text(finalStores[i].locator_phone);
                                        jQuery(document).find("#huge_main_store_block .str-dir a").last().prop('href', 'https://www.google.com/maps/dir//' + gDirQuery);
                                        jQuery(document).find("#huge_main_store_block .str-img img").last().before("<p class='markerLabel'>" + locMarker.label + "</p>");
                                        jQuery(document).find("#huge_main_store_block .a_info").last().find("table tr td:last-child").each(function () {
                                            var nameDayOfWeek = jQuery(this).attr('name');
                                            if (finalStores[i].locator_days[nameDayOfWeek].start != "" && finalStores[i].locator_days[nameDayOfWeek].end != "") {
                                                jQuery(this).text(finalStores[i].locator_days[nameDayOfWeek].start + " - " + finalStores[i].locator_days[nameDayOfWeek].end);
                                            }
                                            else {
                                                jQuery(this).text("Closed");
                                            }
                                        });
                                    }
                                    locCurrent = new google.maps.Marker({
                                        map: front_end_map,
                                        icon: LocatorIcon,
                                        label: 'A',
                                        position: fromLatLng
                                    });
                                    google.maps.event.addListener(locCurrent, "click", function () {
                                        locInfoWindow.setContent(locAddress);
                                        locInfoWindow.open(front_end_map, this);
                                    });

                                    locBounds.extend(locCurrent.getPosition());
                                    front_end_map.fitBounds(locBounds);
                                    center_coords = locBounds;
                                    var locRoute, locContent;
                                    locDirectionsDisplay.setMap(front_end_map);
                                    locDirectionsService.route({
                                        origin: locCurrent.getPosition(),
                                        destination: locClosetPosition,
                                        travelMode: 'DRIVING'
                                    }, function (response, status) {
                                        if (status === google.maps.DirectionsStatus.OK) {
                                            locDirectionsDisplay.setDirections(response);
                                            locRoute = response.routes[0];
                                            locContent = "<b>Total distance: </b>" + locRoute.legs[0].distance.text;
                                            front_end_map.fitBounds(locBounds);
                                        }
                                        else {
                                            window.alert('Directions request failed due to ' + status);
                                        }
                                    });
                                    locRouteInfowindow.close();
                                    google.maps.event.clearListeners(locpOptions, 'click');
                                    google.maps.event.addListener(locpOptions, "click", function (e) {
                                        locRouteInfowindow.close();
                                        locRouteInfowindow.setPosition(e.latLng);
                                        locRouteInfowindow.setContent(locContent);
                                        locRouteInfowindow.open(front_end_map);
                                    });

                                }
                                else {
                                    clearDistance();
                                    clearLocations();
                                    clearDirections();
                                    jQuery(document).find("#huge_main_store_block").remove();
                                    alert("Sorry, but there are not available stores in certain radius!");

                                }
                            });
                        } else {
                            alert('Geocode was not successful for the following reason: ' + status);
                        }

                    });
                }
            });
        }

        /* locator end */
    }

    var allMaps = jQuery('.huge_it_google_map');

    if (allMaps.length) {

        allMaps.each(function (i) {

            var id = jQuery(this).attr('id');

            hugeitMaps[i] = hugeitMapsInitializeMap(id);


        });

    }


});