| Server IP : 66.29.153.156 / Your IP : 216.73.216.70 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/lastyfjz/dermalaserclinic.co.uk/wp-content/themes/cherie/assets/js/vendors-libs/ |
Upload File : |
/*!
* GMAP3 Plugin for JQuery
* Version : 5.1.1
* Date : 2013-05-25
* Licence : GPL v3 : http://www.gnu.org/licenses/gpl.html
* Author : DEMONTE Jean-Baptiste
* Contact : jbdemonte@gmail.com
* Web site : http://gmap3.net
*/
(function(y, t) {
var z, i = 0;
function J() {
if (!z) {
z = {
verbose: false,
queryLimit: {
attempt: 5,
delay: 250,
random: 250
},
classes: {
Map: google.maps.Map,
Marker: google.maps.Marker,
InfoWindow: google.maps.InfoWindow,
Circle: google.maps.Circle,
Rectangle: google.maps.Rectangle,
OverlayView: google.maps.OverlayView,
StreetViewPanorama: google.maps.StreetViewPanorama,
KmlLayer: google.maps.KmlLayer,
TrafficLayer: google.maps.TrafficLayer,
BicyclingLayer: google.maps.BicyclingLayer,
GroundOverlay: google.maps.GroundOverlay,
StyledMapType: google.maps.StyledMapType,
ImageMapType: google.maps.ImageMapType
},
map: {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: [46.578498, 2.457275],
zoom: 2
},
overlay: {
pane: "floatPane",
content: "",
offset: {
x: 0,
y: 0
}
},
geoloc: {
getCurrentPosition: {
maximumAge: 60000,
timeout: 5000
}
}
}
}
}
function k(M, L) {
return M !== t ? M : "gmap3_" + (L ? i + 1 : ++i)
}
function d(L) {
var O = function(P) {
return parseInt(P, 10)
},
N = google.maps.version.split(".").map(O),
M;
L = L.split(".").map(O);
for (M = 0; M < L.length; M++) {
if (N.hasOwnProperty(M)) {
if (N[M] < L[M]) {
return false
}
} else {
return false
}
}
return true
}
function n(P, L, N, Q, O) {
if (L.todo.events || L.todo.onces) {
var M = {
id: Q,
data: L.todo.data,
tag: L.todo.tag
};
if (L.todo.events) {
y.each(L.todo.events, function(R, U) {
var T = P,
S = U;
if (y.isArray(U)) {
T = U[0];
S = U[1]
}
google.maps.event.addListener(N, R, function(V) {
S.apply(T, [O ? O : N, V, M])
})
})
}
if (L.todo.onces) {
y.each(L.todo.onces, function(R, U) {
var T = P,
S = U;
if (y.isArray(U)) {
T = U[0];
S = U[1]
}
google.maps.event.addListenerOnce(N, R, function(V) {
S.apply(T, [O ? O : N, V, M])
})
})
}
}
}
function l() {
var L = [];
this.empty = function() {
return !L.length
};
this.add = function(M) {
L.push(M)
};
this.get = function() {
return L.length ? L[0] : false
};
this.ack = function() {
L.shift()
}
}
function w(T, L, N) {
var R = {},
P = this,
Q, S = {
latLng: {
map: false,
marker: false,
infowindow: false,
circle: false,
overlay: false,
getlatlng: false,
getmaxzoom: false,
getelevation: false,
streetviewpanorama: false,
getaddress: true
},
geoloc: {
getgeoloc: true
}
};
if (typeof N === "string") {
N = M(N)
}
function M(V) {
var U = {};
U[V] = {};
return U
}
function O() {
var U;
for (U in N) {
if (U in R) {
continue
}
return U
}
}
this.run = function() {
var U, V;
while (U = O()) {
if (typeof T[U] === "function") {
Q = U;
V = y.extend(true, {}, z[U] || {}, N[U].options || {});
if (U in S.latLng) {
if (N[U].values) {
x(N[U].values, T, T[U], {
todo: N[U],
opts: V,
session: R
})
} else {
v(T, T[U], S.latLng[U], {
todo: N[U],
opts: V,
session: R
})
}
} else {
if (U in S.geoloc) {
o(T, T[U], {
todo: N[U],
opts: V,
session: R
})
} else {
T[U].apply(T, [{
todo: N[U],
opts: V,
session: R
}])
}
}
return
} else {
R[U] = null
}
}
L.apply(T, [N, R])
};
this.ack = function(U) {
R[Q] = U;
P.run.apply(P, [])
}
}
function c(N) {
var L, M = [];
for (L in N) {
M.push(L)
}
return M
}
function b(N, Q) {
var L = {};
if (N.todo) {
for (var M in N.todo) {
if ((M !== "options") && (M !== "values")) {
L[M] = N.todo[M]
}
}
}
var O, P = ["data", "tag", "id", "events", "onces"];
for (O = 0; O < P.length; O++) {
A(L, P[O], Q, N.todo)
}
L.options = y.extend({}, N.opts || {}, Q.options || {});
return L
}
function A(N, M) {
for (var L = 2; L < arguments.length; L++) {
if (M in arguments[L]) {
N[M] = arguments[L][M];
return
}
}
}
function r() {
var L = [];
this.get = function(S) {
if (L.length) {
var P, O, N, R, M, Q = c(S);
for (P = 0; P < L.length; P++) {
R = L[P];
M = Q.length == R.keys.length;
for (O = 0;
(O < Q.length) && M; O++) {
N = Q[O];
M = N in R.request;
if (M) {
if ((typeof S[N] === "object") && ("equals" in S[N]) && (typeof S[N] === "function")) {
M = S[N].equals(R.request[N])
} else {
M = S[N] === R.request[N]
}
}
}
if (M) {
return R.results
}
}
}
};
this.store = function(N, M) {
L.push({
request: N,
keys: c(N),
results: M
})
}
}
function e(Q, P, O, L) {
var N = this,
M = [];
z.classes.OverlayView.call(this);
this.setMap(Q);
this.onAdd = function() {
var R = this.getPanes();
if (P.pane in R) {
y(R[P.pane]).append(L)
}
y.each("dblclick click mouseover mousemove mouseout mouseup mousedown".split(" "), function(T, S) {
M.push(google.maps.event.addDomListener(L[0], S, function(U) {
y.Event(U).stopPropagation();
google.maps.event.trigger(N, S, [U]);
N.draw()
}))
});
M.push(google.maps.event.addDomListener(L[0], "contextmenu", function(S) {
y.Event(S).stopPropagation();
google.maps.event.trigger(N, "rightclick", [S]);
N.draw()
}))
};
this.getPosition = function() {
return O
};
this.draw = function() {
var R = this.getProjection().fromLatLngToDivPixel(O);
L.css("left", (R.x + P.offset.x) + "px").css("top", (R.y + P.offset.y) + "px")
};
this.onRemove = function() {
for (var R = 0; R < M.length; R++) {
google.maps.event.removeListener(M[R])
}
L.remove()
};
this.hide = function() {
L.hide()
};
this.show = function() {
L.show()
};
this.toggle = function() {
if (L) {
if (L.is(":visible")) {
this.show()
} else {
this.hide()
}
}
};
this.toggleDOM = function() {
if (this.getMap()) {
this.setMap(null)
} else {
this.setMap(Q)
}
};
this.getDOMElement = function() {
return L[0]
}
}
function f(O, L) {
function M() {
this.onAdd = function() {};
this.onRemove = function() {};
this.draw = function() {};
return z.classes.OverlayView.apply(this, [])
}
M.prototype = z.classes.OverlayView.prototype;
var N = new M();
N.setMap(O);
return N
}
function F(ae, ao, aa) {
var an = false,
ai = false,
af = false,
Z = false,
W = true,
V = this,
N = [],
T = {},
ad = {},
U = {},
aj = [],
ah = [],
O = [],
ak = f(ao, aa.radius),
Y, ap, am, P, Q;
S();
function L(aq) {
if (!aj[aq]) {
delete ah[aq].options.map;
aj[aq] = new z.classes.Marker(ah[aq].options);
n(ae, {
todo: ah[aq]
}, aj[aq], ah[aq].id)
}
}
this.getById = function(aq) {
if (aq in ad) {
L(ad[aq]);
return aj[ad[aq]]
}
return false
};
this.rm = function(ar) {
var aq = ad[ar];
if (aj[aq]) {
aj[aq].setMap(null)
}
delete aj[aq];
aj[aq] = false;
delete ah[aq];
ah[aq] = false;
delete O[aq];
O[aq] = false;
delete ad[ar];
delete U[aq];
ai = true
};
this.clearById = function(aq) {
if (aq in ad) {
this.rm(aq);
return true
}
};
this.clear = function(az, av, aA) {
var ar, ay, at, aw, au, ax = [],
aq = C(aA);
if (az) {
ar = ah.length - 1;
ay = -1;
at = -1
} else {
ar = 0;
ay = ah.length;
at = 1
}
for (aw = ar; aw != ay; aw += at) {
if (ah[aw]) {
if (!aq || aq(ah[aw].tag)) {
ax.push(U[aw]);
if (av || az) {
break
}
}
}
}
for (au = 0; au < ax.length; au++) {
this.rm(ax[au])
}
};
this.add = function(aq, ar) {
aq.id = k(aq.id);
this.clearById(aq.id);
ad[aq.id] = aj.length;
U[aj.length] = aq.id;
aj.push(null);
ah.push(aq);
O.push(ar);
ai = true
};
this.addMarker = function(ar, aq) {
aq = aq || {};
aq.id = k(aq.id);
this.clearById(aq.id);
if (!aq.options) {
aq.options = {}
}
aq.options.position = ar.getPosition();
n(ae, {
todo: aq
}, ar, aq.id);
ad[aq.id] = aj.length;
U[aj.length] = aq.id;
aj.push(ar);
ah.push(aq);
O.push(aq.data || {});
ai = true
};
this.todo = function(aq) {
return ah[aq]
};
this.value = function(aq) {
return O[aq]
};
this.marker = function(aq) {
if (aq in aj) {
L(aq);
return aj[aq]
}
return false
};
this.markerIsSet = function(aq) {
return Boolean(aj[aq])
};
this.setMarker = function(ar, aq) {
aj[ar] = aq
};
this.store = function(aq, ar, at) {
T[aq.ref] = {
obj: ar,
shadow: at
}
};
this.free = function() {
for (var aq = 0; aq < N.length; aq++) {
google.maps.event.removeListener(N[aq])
}
N = [];
y.each(T, function(ar) {
ac(ar)
});
T = {};
y.each(ah, function(ar) {
ah[ar] = null
});
ah = [];
y.each(aj, function(ar) {
if (aj[ar]) {
aj[ar].setMap(null);
delete aj[ar]
}
});
aj = [];
y.each(O, function(ar) {
delete O[ar]
});
O = [];
ad = {};
U = {}
};
this.filter = function(aq) {
am = aq;
ag()
};
this.enable = function(aq) {
if (W != aq) {
W = aq;
ag()
}
};
this.display = function(aq) {
P = aq
};
this.error = function(aq) {
Q = aq
};
this.beginUpdate = function() {
an = true
};
this.endUpdate = function() {
an = false;
if (ai) {
ag()
}
};
this.autofit = function(ar) {
for (var aq = 0; aq < ah.length; aq++) {
if (ah[aq]) {
ar.extend(ah[aq].options.position)
}
}
};
function S() {
ap = ak.getProjection();
if (!ap) {
setTimeout(function() {
S.apply(V, [])
}, 25);
return
}
Z = true;
N.push(google.maps.event.addListener(ao, "zoom_changed", function() {
al()
}));
N.push(google.maps.event.addListener(ao, "bounds_changed", function() {
al()
}));
ag()
}
function ac(aq) {
if (typeof T[aq] === "object") {
if (typeof(T[aq].obj.setMap) === "function") {
T[aq].obj.setMap(null)
}
if (typeof(T[aq].obj.remove) === "function") {
T[aq].obj.remove()
}
if (typeof(T[aq].shadow.remove) === "function") {
T[aq].obj.remove()
}
if (typeof(T[aq].shadow.setMap) === "function") {
T[aq].shadow.setMap(null)
}
delete T[aq].obj;
delete T[aq].shadow
} else {
if (aj[aq]) {
aj[aq].setMap(null)
}
}
delete T[aq]
}
function M() {
var ay, ax, aw, au, av, at, ar, aq;
if (arguments[0] instanceof google.maps.LatLng) {
ay = arguments[0].lat();
aw = arguments[0].lng();
if (arguments[1] instanceof google.maps.LatLng) {
ax = arguments[1].lat();
au = arguments[1].lng()
} else {
ax = arguments[1];
au = arguments[2]
}
} else {
ay = arguments[0];
aw = arguments[1];
if (arguments[2] instanceof google.maps.LatLng) {
ax = arguments[2].lat();
au = arguments[2].lng()
} else {
ax = arguments[2];
au = arguments[3]
}
}
av = Math.PI * ay / 180;
at = Math.PI * aw / 180;
ar = Math.PI * ax / 180;
aq = Math.PI * au / 180;
return 1000 * 6371 * Math.acos(Math.min(Math.cos(av) * Math.cos(ar) * Math.cos(at) * Math.cos(aq) + Math.cos(av) * Math.sin(at) * Math.cos(ar) * Math.sin(aq) + Math.sin(av) * Math.sin(ar), 1))
}
function R() {
var aq = M(ao.getCenter(), ao.getBounds().getNorthEast()),
ar = new google.maps.Circle({
center: ao.getCenter(),
radius: 1.25 * aq
});
return ar.getBounds()
}
function X() {
var ar = {},
aq;
for (aq in T) {
ar[aq] = true
}
return ar
}
function al() {
clearTimeout(Y);
Y = setTimeout(function() {
ag()
}, 25)
}
function ab(ar) {
var au = ap.fromLatLngToDivPixel(ar),
at = ap.fromDivPixelToLatLng(new google.maps.Point(au.x + aa.radius, au.y - aa.radius)),
aq = ap.fromDivPixelToLatLng(new google.maps.Point(au.x - aa.radius, au.y + aa.radius));
return new google.maps.LatLngBounds(aq, at)
}
function ag() {
if (an || af || !Z) {
return
}
var aE = [],
aG = {},
aF = ao.getZoom(),
aH = ("maxZoom" in aa) && (aF > aa.maxZoom),
aw = X(),
av, au, at, aA, ar = false,
aq, aD, ay, az, aB, aC, ax;
ai = false;
if (aF > 3) {
aq = R();
ar = aq.getSouthWest().lng() < aq.getNorthEast().lng()
}
for (av = 0; av < ah.length; av++) {
if (ah[av] && (!ar || aq.contains(ah[av].options.position)) && (!am || am(O[av]))) {
aE.push(av)
}
}
while (1) {
av = 0;
while (aG[av] && (av < aE.length)) {
av++
}
if (av == aE.length) {
break
}
aA = [];
if (W && !aH) {
ax = 10;
do {
az = aA;
aA = [];
ax--;
if (az.length) {
ay = aq.getCenter()
} else {
ay = ah[aE[av]].options.position
}
aq = ab(ay);
for (au = av; au < aE.length; au++) {
if (aG[au]) {
continue
}
if (aq.contains(ah[aE[au]].options.position)) {
aA.push(au)
}
}
} while ((az.length < aA.length) && (aA.length > 1) && ax)
} else {
for (au = av; au < aE.length; au++) {
if (aG[au]) {
continue
}
aA.push(au);
break
}
}
aD = {
indexes: [],
ref: []
};
aB = aC = 0;
for (at = 0; at < aA.length; at++) {
aG[aA[at]] = true;
aD.indexes.push(aE[aA[at]]);
aD.ref.push(aE[aA[at]]);
aB += ah[aE[aA[at]]].options.position.lat();
aC += ah[aE[aA[at]]].options.position.lng()
}
aB /= aA.length;
aC /= aA.length;
aD.latLng = new google.maps.LatLng(aB, aC);
aD.ref = aD.ref.join("-");
if (aD.ref in aw) {
delete aw[aD.ref]
} else {
if (aA.length === 1) {
T[aD.ref] = true
}
P(aD)
}
}
y.each(aw, function(aI) {
ac(aI)
});
af = false
}
}
function a(M, L) {
this.id = function() {
return M
};
this.filter = function(N) {
L.filter(N)
};
this.enable = function() {
L.enable(true)
};
this.disable = function() {
L.enable(false)
};
this.add = function(O, N, P) {
if (!P) {
L.beginUpdate()
}
L.addMarker(O, N);
if (!P) {
L.endUpdate()
}
};
this.getById = function(N) {
return L.getById(N)
};
this.clearById = function(P, O) {
var N;
if (!O) {
L.beginUpdate()
}
N = L.clearById(P);
if (!O) {
L.endUpdate()
}
return N
};
this.clear = function(P, Q, N, O) {
if (!O) {
L.beginUpdate()
}
L.clear(P, Q, N);
if (!O) {
L.endUpdate()
}
}
}
function D() {
var M = {},
N = {};
function L(P) {
return {
id: P.id,
name: P.name,
object: P.obj,
tag: P.tag,
data: P.data
}
}
this.add = function(R, Q, T, S) {
var P = R.todo || {},
U = k(P.id);
if (!M[Q]) {
M[Q] = []
}
if (U in N) {
this.clearById(U)
}
N[U] = {
obj: T,
sub: S,
name: Q,
id: U,
tag: P.tag,
data: P.data
};
M[Q].push(U);
return U
};
this.getById = function(R, Q, P) {
if (R in N) {
if (Q) {
return N[R].sub
} else {
if (P) {
return L(N[R])
}
}
return N[R].obj
}
return false
};
this.get = function(R, T, P, S) {
var V, U, Q = C(P);
if (!M[R] || !M[R].length) {
return null
}
V = M[R].length;
while (V) {
V--;
U = M[R][T ? V : M[R].length - V - 1];
if (U && N[U]) {
if (Q && !Q(N[U].tag)) {
continue
}
return S ? L(N[U]) : N[U].obj
}
}
return null
};
this.all = function(S, Q, T) {
var P = [],
R = C(Q),
U = function(X) {
var V, W;
for (V = 0; V < M[X].length; V++) {
W = M[X][V];
if (W && N[W]) {
if (R && !R(N[W].tag)) {
continue
}
P.push(T ? L(N[W]) : N[W].obj)
}
}
};
if (S in M) {
U(S)
} else {
if (S === t) {
for (S in M) {
U(S)
}
}
}
return P
};
function O(P) {
if (typeof(P.setMap) === "function") {
P.setMap(null)
}
if (typeof(P.remove) === "function") {
P.remove()
}
if (typeof(P.free) === "function") {
P.free()
}
P = null
}
this.rm = function(S, Q, R) {
var P, T;
if (!M[S]) {
return false
}
if (Q) {
if (R) {
for (P = M[S].length - 1; P >= 0; P--) {
T = M[S][P];
if (Q(N[T].tag)) {
break
}
}
} else {
for (P = 0; P < M[S].length; P++) {
T = M[S][P];
if (Q(N[T].tag)) {
break
}
}
}
} else {
P = R ? M[S].length - 1 : 0
}
if (!(P in M[S])) {
return false
}
return this.clearById(M[S][P], P)
};
this.clearById = function(S, P) {
if (S in N) {
var R, Q = N[S].name;
for (R = 0; P === t && R < M[Q].length; R++) {
if (S === M[Q][R]) {
P = R
}
}
O(N[S].obj);
if (N[S].sub) {
O(N[S].sub)
}
delete N[S];
M[Q].splice(P, 1);
return true
}
return false
};
this.objGetById = function(R) {
var Q;
if (M.clusterer) {
for (var P in M.clusterer) {
if ((Q = N[M.clusterer[P]].obj.getById(R)) !== false) {
return Q
}
}
}
return false
};
this.objClearById = function(Q) {
if (M.clusterer) {
for (var P in M.clusterer) {
if (N[M.clusterer[P]].obj.clearById(Q)) {
return true
}
}
}
return null
};
this.clear = function(V, U, W, P) {
var R, T, S, Q = C(P);
if (!V || !V.length) {
V = [];
for (R in M) {
V.push(R)
}
} else {
V = g(V)
}
for (T = 0; T < V.length; T++) {
S = V[T];
if (U) {
this.rm(S, Q, true)
} else {
if (W) {
this.rm(S, Q, false)
} else {
while (this.rm(S, Q, false)) {}
}
}
}
};
this.objClear = function(S, R, T, Q) {
if (M.clusterer && (y.inArray("marker", S) >= 0 || !S.length)) {
for (var P in M.clusterer) {
N[M.clusterer[P]].obj.clear(R, T, Q)
}
}
}
}
var m = {},
H = new r();
function p() {
if (!m.geocoder) {
m.geocoder = new google.maps.Geocoder()
}
return m.geocoder
}
function G() {
if (!m.directionsService) {
m.directionsService = new google.maps.DirectionsService()
}
return m.directionsService
}
function h() {
if (!m.elevationService) {
m.elevationService = new google.maps.ElevationService()
}
return m.elevationService
}
function q() {
if (!m.maxZoomService) {
m.maxZoomService = new google.maps.MaxZoomService()
}
return m.maxZoomService
}
function B() {
if (!m.distanceMatrixService) {
m.distanceMatrixService = new google.maps.DistanceMatrixService()
}
return m.distanceMatrixService
}
function u() {
if (z.verbose) {
var L, M = [];
if (window.console && (typeof console.error === "function")) {
for (L = 0; L < arguments.length; L++) {
M.push(arguments[L])
}
console.error.apply(console, M)
} else {
M = "";
for (L = 0; L < arguments.length; L++) {
M += arguments[L].toString() + " "
}
alert(M)
}
}
}
function E(L) {
return (typeof(L) === "number" || typeof(L) === "string") && L !== "" && !isNaN(L)
}
function g(N) {
var M, L = [];
if (N !== t) {
if (typeof(N) === "object") {
if (typeof(N.length) === "number") {
L = N
} else {
for (M in N) {
L.push(N[M])
}
}
} else {
L.push(N)
}
}
return L
}
function C(L) {
if (L) {
if (typeof L === "function") {
return L
}
L = g(L);
return function(N) {
if (N === t) {
return false
}
if (typeof N === "object") {
for (var M = 0; M < N.length; M++) {
if (y.inArray(N[M], L) >= 0) {
return true
}
}
return false
}
return y.inArray(N, L) >= 0
}
}
}
function I(M, O, L) {
var N = O ? M : null;
if (!M || (typeof M === "string")) {
return N
}
if (M.latLng) {
return I(M.latLng)
}
if (M instanceof google.maps.LatLng) {
return M
} else {
if (E(M.lat)) {
return new google.maps.LatLng(M.lat, M.lng)
} else {
if (!L && y.isArray(M)) {
if (!E(M[0]) || !E(M[1])) {
return N
}
return new google.maps.LatLng(M[0], M[1])
}
}
}
return N
}
function j(M) {
var N, L;
if (!M || M instanceof google.maps.LatLngBounds) {
return M || null
}
if (y.isArray(M)) {
if (M.length == 2) {
N = I(M[0]);
L = I(M[1])
} else {
if (M.length == 4) {
N = I([M[0], M[1]]);
L = I([M[2], M[3]])
}
}
} else {
if (("ne" in M) && ("sw" in M)) {
N = I(M.ne);
L = I(M.sw)
} else {
if (("n" in M) && ("e" in M) && ("s" in M) && ("w" in M)) {
N = I([M.n, M.e]);
L = I([M.s, M.w])
}
}
}
if (N && L) {
return new google.maps.LatLngBounds(L, N)
}
return null
}
function v(T, L, O, S, P) {
var N = O ? I(S.todo, false, true) : false,
R = N ? {
latLng: N
} : (S.todo.address ? (typeof(S.todo.address) === "string" ? {
address: S.todo.address
} : S.todo.address) : false),
M = R ? H.get(R) : false,
Q = this;
if (R) {
P = P || 0;
if (M) {
S.latLng = M.results[0].geometry.location;
S.results = M.results;
S.status = M.status;
L.apply(T, [S])
} else {
if (R.location) {
R.location = I(R.location)
}
if (R.bounds) {
R.bounds = j(R.bounds)
}
p().geocode(R, function(V, U) {
if (U === google.maps.GeocoderStatus.OK) {
H.store(R, {
results: V,
status: U
});
S.latLng = V[0].geometry.location;
S.results = V;
S.status = U;
L.apply(T, [S])
} else {
if ((U === google.maps.GeocoderStatus.OVER_QUERY_LIMIT) && (P < z.queryLimit.attempt)) {
setTimeout(function() {
v.apply(Q, [T, L, O, S, P + 1])
}, z.queryLimit.delay + Math.floor(Math.random() * z.queryLimit.random))
} else {
u("geocode failed", U, R);
S.latLng = S.results = false;
S.status = U;
L.apply(T, [S])
}
}
})
}
} else {
S.latLng = I(S.todo, false, true);
L.apply(T, [S])
}
}
function x(Q, L, R, M) {
var O = this,
N = -1;
function P() {
do {
N++
} while ((N < Q.length) && !("address" in Q[N]));
if (N >= Q.length) {
R.apply(L, [M]);
return
}
v(O, function(S) {
delete S.todo;
y.extend(Q[N], S);
P.apply(O, [])
}, true, {
todo: Q[N]
})
}
P()
}
function o(L, O, M) {
var N = false;
if (navigator && navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(P) {
if (N) {
return
}
N = true;
M.latLng = new google.maps.LatLng(P.coords.latitude, P.coords.longitude);
O.apply(L, [M])
}, function() {
if (N) {
return
}
N = true;
M.latLng = false;
O.apply(L, [M])
}, M.opts.getCurrentPosition)
} else {
M.latLng = false;
O.apply(L, [M])
}
}
function K(T) {
var S = this,
U = new l(),
V = new D(),
N = null,
P;
this._plan = function(Z) {
for (var Y = 0; Y < Z.length; Y++) {
U.add(new w(S, R, Z[Y]))
}
Q()
};
function Q() {
if (!P && (P = U.get())) {
P.run()
}
}
function R() {
P = null;
U.ack();
Q.call(S)
}
function X(Y) {
if (Y.todo.callback) {
var Z = Array.prototype.slice.call(arguments, 1);
if (typeof Y.todo.callback === "function") {
Y.todo.callback.apply(T, Z)
} else {
if (y.isArray(Y.todo.callback)) {
if (typeof Y.todo.callback[1] === "function") {
Y.todo.callback[1].apply(Y.todo.callback[0], Z)
}
}
}
}
}
function O(Y, Z, aa) {
if (aa) {
n(T, Y, Z, aa)
}
X(Y, Z);
P.ack(Z)
}
function L(aa, Y) {
Y = Y || {};
if (N) {
if (Y.todo && Y.todo.options) {
if (Y.todo.options.center) {
Y.todo.options.center = I(Y.todo.options.center)
}
N.setOptions(Y.todo.options)
}
} else {
var Z = Y.opts || y.extend(true, {}, z.map, Y.todo && Y.todo.options ? Y.todo.options : {});
Z.center = aa || I(Z.center);
N = new z.classes.Map(T.get(0), Z)
}
}
this.map = function(Y) {
L(Y.latLng, Y);
n(T, Y, N);
O(Y, N)
};
this.destroy = function(Y) {
V.clear();
T.empty();
if (N) {
N = null
}
O(Y, true)
};
this.infowindow = function(Z) {
var aa = [],
Y = "values" in Z.todo;
if (!Y) {
if (Z.latLng) {
Z.opts.position = Z.latLng
}
Z.todo.values = [{
options: Z.opts
}]
}
y.each(Z.todo.values, function(ac, ad) {
var af, ae, ab = b(Z, ad);
ab.options.position = ab.options.position ? I(ab.options.position) : I(ad.latLng);
if (!N) {
L(ab.options.position)
}
ae = new z.classes.InfoWindow(ab.options);
if (ae && ((ab.open === t) || ab.open)) {
if (Y) {
ae.open(N, ab.anchor ? ab.anchor : t)
} else {
ae.open(N, ab.anchor ? ab.anchor : (Z.latLng ? t : (Z.session.marker ? Z.session.marker : t)))
}
}
aa.push(ae);
af = V.add({
todo: ab
}, "infowindow", ae);
n(T, {
todo: ab
}, ae, af)
});
O(Z, Y ? aa : aa[0])
};
this.circle = function(Z) {
var aa = [],
Y = "values" in Z.todo;
if (!Y) {
Z.opts.center = Z.latLng || I(Z.opts.center);
Z.todo.values = [{
options: Z.opts
}]
}
if (!Z.todo.values.length) {
O(Z, false);
return
}
y.each(Z.todo.values, function(ac, ad) {
var af, ae, ab = b(Z, ad);
ab.options.center = ab.options.center ? I(ab.options.center) : I(ad);
if (!N) {
L(ab.options.center)
}
ab.options.map = N;
ae = new z.classes.Circle(ab.options);
aa.push(ae);
af = V.add({
todo: ab
}, "circle", ae);
n(T, {
todo: ab
}, ae, af)
});
O(Z, Y ? aa : aa[0])
};
this.overlay = function(aa, Z) {
var ab = [],
Y = "values" in aa.todo;
if (!Y) {
aa.todo.values = [{
latLng: aa.latLng,
options: aa.opts
}]
}
if (!aa.todo.values.length) {
O(aa, false);
return
}
if (!e.__initialised) {
e.prototype = new z.classes.OverlayView();
e.__initialised = true
}
y.each(aa.todo.values, function(ae, af) {
var ah, ag, ac = b(aa, af),
ad = y(document.createElement("div")).css({
border: "none",
borderWidth: "0px",
position: "absolute"
});
ad.append(ac.options.content);
ag = new e(N, ac.options, I(ac) || I(af), ad);
ab.push(ag);
ad = null;
if (!Z) {
ah = V.add(aa, "overlay", ag);
n(T, {
todo: ac
}, ag, ah)
}
});
if (Z) {
return ab[0]
}
O(aa, Y ? ab : ab[0])
};
this.getaddress = function(Y) {
X(Y, Y.results, Y.status);
P.ack()
};
this.getlatlng = function(Y) {
X(Y, Y.results, Y.status);
P.ack()
};
this.getmaxzoom = function(Y) {
q().getMaxZoomAtLatLng(Y.latLng, function(Z) {
X(Y, Z.status === google.maps.MaxZoomStatus.OK ? Z.zoom : false, status);
P.ack()
})
};
this.getelevation = function(Z) {
var aa, Y = [],
ab = function(ad, ac) {
X(Z, ac === google.maps.ElevationStatus.OK ? ad : false, ac);
P.ack()
};
if (Z.latLng) {
Y.push(Z.latLng)
} else {
Y = g(Z.todo.locations || []);
for (aa = 0; aa < Y.length; aa++) {
Y[aa] = I(Y[aa])
}
}
if (Y.length) {
h().getElevationForLocations({
locations: Y
}, ab)
} else {
if (Z.todo.path && Z.todo.path.length) {
for (aa = 0; aa < Z.todo.path.length; aa++) {
Y.push(I(Z.todo.path[aa]))
}
}
if (Y.length) {
h().getElevationAlongPath({
path: Y,
samples: Z.todo.samples
}, ab)
} else {
P.ack()
}
}
};
this.defaults = function(Y) {
y.each(Y.todo, function(Z, aa) {
if (typeof z[Z] === "object") {
z[Z] = y.extend({}, z[Z], aa)
} else {
z[Z] = aa
}
});
P.ack(true)
};
this.rectangle = function(Z) {
var aa = [],
Y = "values" in Z.todo;
if (!Y) {
Z.todo.values = [{
options: Z.opts
}]
}
if (!Z.todo.values.length) {
O(Z, false);
return
}
y.each(Z.todo.values, function(ac, ad) {
var af, ae, ab = b(Z, ad);
ab.options.bounds = ab.options.bounds ? j(ab.options.bounds) : j(ad);
if (!N) {
L(ab.options.bounds.getCenter())
}
ab.options.map = N;
ae = new z.classes.Rectangle(ab.options);
aa.push(ae);
af = V.add({
todo: ab
}, "rectangle", ae);
n(T, {
todo: ab
}, ae, af)
});
O(Z, Y ? aa : aa[0])
};
function M(Z, aa, ab) {
var ac = [],
Y = "values" in Z.todo;
if (!Y) {
Z.todo.values = [{
options: Z.opts
}]
}
if (!Z.todo.values.length) {
O(Z, false);
return
}
L();
y.each(Z.todo.values, function(af, ah) {
var aj, ag, ae, ai, ad = b(Z, ah);
if (ad.options[ab]) {
if (ad.options[ab][0][0] && y.isArray(ad.options[ab][0][0])) {
for (ag = 0; ag < ad.options[ab].length; ag++) {
for (ae = 0; ae < ad.options[ab][ag].length; ae++) {
ad.options[ab][ag][ae] = I(ad.options[ab][ag][ae])
}
}
} else {
for (ag = 0; ag < ad.options[ab].length; ag++) {
ad.options[ab][ag] = I(ad.options[ab][ag])
}
}
}
ad.options.map = N;
ai = new google.maps[aa](ad.options);
ac.push(ai);
aj = V.add({
todo: ad
}, aa.toLowerCase(), ai);
n(T, {
todo: ad
}, ai, aj)
});
O(Z, Y ? ac : ac[0])
}
this.polyline = function(Y) {
M(Y, "Polyline", "path")
};
this.polygon = function(Y) {
M(Y, "Polygon", "paths")
};
this.trafficlayer = function(Y) {
L();
var Z = V.get("trafficlayer");
if (!Z) {
Z = new z.classes.TrafficLayer();
Z.setMap(N);
V.add(Y, "trafficlayer", Z)
}
O(Y, Z)
};
this.bicyclinglayer = function(Y) {
L();
var Z = V.get("bicyclinglayer");
if (!Z) {
Z = new z.classes.BicyclingLayer();
Z.setMap(N);
V.add(Y, "bicyclinglayer", Z)
}
O(Y, Z)
};
this.groundoverlay = function(Y) {
Y.opts.bounds = j(Y.opts.bounds);
if (Y.opts.bounds) {
L(Y.opts.bounds.getCenter())
}
var aa, Z = new z.classes.GroundOverlay(Y.opts.url, Y.opts.bounds, Y.opts.opts);
Z.setMap(N);
aa = V.add(Y, "groundoverlay", Z);
O(Y, Z, aa)
};
this.streetviewpanorama = function(Y) {
if (!Y.opts.opts) {
Y.opts.opts = {}
}
if (Y.latLng) {
Y.opts.opts.position = Y.latLng
} else {
if (Y.opts.opts.position) {
Y.opts.opts.position = I(Y.opts.opts.position)
}
}
if (Y.todo.divId) {
Y.opts.container = document.getElementById(Y.todo.divId)
} else {
if (Y.opts.container) {
Y.opts.container = y(Y.opts.container).get(0)
}
}
var aa, Z = new z.classes.StreetViewPanorama(Y.opts.container, Y.opts.opts);
if (Z) {
N.setStreetView(Z)
}
aa = V.add(Y, "streetviewpanorama", Z);
O(Y, Z, aa)
};
this.kmllayer = function(Z) {
var aa = [],
Y = "values" in Z.todo;
if (!Y) {
Z.todo.values = [{
options: Z.opts
}]
}
if (!Z.todo.values.length) {
O(Z, false);
return
}
y.each(Z.todo.values, function(ad, ae) {
var ag, af, ac, ab = b(Z, ae);
if (!N) {
L()
}
ac = ab.options;
if (ab.options.opts) {
ac = ab.options.opts;
if (ab.options.url) {
ac.url = ab.options.url
}
}
ac.map = N;
if (d("3.10")) {
af = new z.classes.KmlLayer(ac)
} else {
af = new z.classes.KmlLayer(ac.url, ac)
}
aa.push(af);
ag = V.add({
todo: ab
}, "kmllayer", af);
n(T, {
todo: ab
}, af, ag)
});
O(Z, Y ? aa : aa[0])
};
this.panel = function(ab) {
L();
var ad, Y = 0,
ac = 0,
aa, Z = y(document.createElement("div"));
Z.css({
position: "absolute",
zIndex: 1000,
visibility: "hidden"
});
if (ab.opts.content) {
aa = y(ab.opts.content);
Z.append(aa);
T.first().prepend(Z);
if (ab.opts.left !== t) {
Y = ab.opts.left
} else {
if (ab.opts.right !== t) {
Y = T.width() - aa.width() - ab.opts.right
} else {
if (ab.opts.center) {
Y = (T.width() - aa.width()) / 2
}
}
}
if (ab.opts.top !== t) {
ac = ab.opts.top
} else {
if (ab.opts.bottom !== t) {
ac = T.height() - aa.height() - ab.opts.bottom
} else {
if (ab.opts.middle) {
ac = (T.height() - aa.height()) / 2
}
}
}
Z.css({
top: ac,
left: Y,
visibility: "visible"
})
}
ad = V.add(ab, "panel", Z);
O(ab, Z, ad);
Z = null
};
function W(aa) {
var af = new F(T, N, aa),
Y = {},
ab = {},
ae = [],
ad = /^[0-9]+$/,
ac, Z;
for (Z in aa) {
if (ad.test(Z)) {
ae.push(1 * Z);
ab[Z] = aa[Z];
ab[Z].width = ab[Z].width || 0;
ab[Z].height = ab[Z].height || 0
} else {
Y[Z] = aa[Z]
}
}
ae.sort(function(ah, ag) {
return ah > ag
});
if (Y.calculator) {
ac = function(ag) {
var ah = [];
y.each(ag, function(aj, ai) {
ah.push(af.value(ai))
});
return Y.calculator.apply(T, [ah])
}
} else {
ac = function(ag) {
return ag.length
}
}
af.error(function() {
u.apply(S, arguments)
});
af.display(function(ag) {
var ai, aj, am, ak, al, ah = ac(ag.indexes);
if (aa.force || ah > 1) {
for (ai = 0; ai < ae.length; ai++) {
if (ae[ai] <= ah) {
aj = ab[ae[ai]]
}
}
}
if (aj) {
al = aj.offset || [-aj.width / 2, -aj.height / 2];
am = y.extend({}, Y);
am.options = y.extend({
pane: "overlayLayer",
content: aj.content ? aj.content.replace("CLUSTER_COUNT", ah) : "",
offset: {
x: ("x" in al ? al.x : al[0]) || 0,
y: ("y" in al ? al.y : al[1]) || 0
}
}, Y.options || {});
ak = S.overlay({
todo: am,
opts: am.options,
latLng: I(ag)
}, true);
am.options.pane = "floatShadow";
am.options.content = y(document.createElement("div")).width(aj.width + "px").height(aj.height + "px").css({
cursor: "pointer"
});
shadow = S.overlay({
todo: am,
opts: am.options,
latLng: I(ag)
}, true);
Y.data = {
latLng: I(ag),
markers: []
};
y.each(ag.indexes, function(ao, an) {
Y.data.markers.push(af.value(an));
if (af.markerIsSet(an)) {
af.marker(an).setMap(null)
}
});
n(T, {
todo: Y
}, shadow, t, {
main: ak,
shadow: shadow
});
af.store(ag, ak, shadow)
} else {
y.each(ag.indexes, function(ao, an) {
af.marker(an).setMap(N)
})
}
});
return af
}
this.marker = function(aa) {
var Y = "values" in aa.todo,
ad = !N;
if (!Y) {
aa.opts.position = aa.latLng || I(aa.opts.position);
aa.todo.values = [{
options: aa.opts
}]
}
if (!aa.todo.values.length) {
O(aa, false);
return
}
if (ad) {
L()
}
if (aa.todo.cluster && !N.getBounds()) {
google.maps.event.addListenerOnce(N, "bounds_changed", function() {
S.marker.apply(S, [aa])
});
return
}
if (aa.todo.cluster) {
var Z, ab;
if (aa.todo.cluster instanceof a) {
Z = aa.todo.cluster;
ab = V.getById(Z.id(), true)
} else {
ab = W(aa.todo.cluster);
Z = new a(k(aa.todo.id, true), ab);
V.add(aa, "clusterer", Z, ab)
}
ab.beginUpdate();
y.each(aa.todo.values, function(af, ag) {
var ae = b(aa, ag);
ae.options.position = ae.options.position ? I(ae.options.position) : I(ag);
ae.options.map = N;
if (ad) {
N.setCenter(ae.options.position);
ad = false
}
ab.add(ae, ag)
});
ab.endUpdate();
O(aa, Z)
} else {
var ac = [];
y.each(aa.todo.values, function(af, ag) {
var ai, ah, ae = b(aa, ag);
ae.options.position = ae.options.position ? I(ae.options.position) : I(ag);
ae.options.map = N;
if (ad) {
N.setCenter(ae.options.position);
ad = false
}
ah = new z.classes.Marker(ae.options);
ac.push(ah);
ai = V.add({
todo: ae
}, "marker", ah);
n(T, {
todo: ae
}, ah, ai)
});
O(aa, Y ? ac : ac[0])
}
};
this.getroute = function(Y) {
Y.opts.origin = I(Y.opts.origin, true);
Y.opts.destination = I(Y.opts.destination, true);
G().route(Y.opts, function(aa, Z) {
X(Y, Z == google.maps.DirectionsStatus.OK ? aa : false, Z);
P.ack()
})
};
this.directionsrenderer = function(Y) {
Y.opts.map = N;
var aa, Z = new google.maps.DirectionsRenderer(Y.opts);
if (Y.todo.divId) {
Z.setPanel(document.getElementById(Y.todo.divId))
} else {
if (Y.todo.container) {
Z.setPanel(y(Y.todo.container).get(0))
}
}
aa = V.add(Y, "directionsrenderer", Z);
O(Y, Z, aa)
};
this.getgeoloc = function(Y) {
O(Y, Y.latLng)
};
this.styledmaptype = function(Y) {
L();
var Z = new z.classes.StyledMapType(Y.todo.styles, Y.opts);
N.mapTypes.set(Y.todo.id, Z);
O(Y, Z)
};
this.imagemaptype = function(Y) {
L();
var Z = new z.classes.ImageMapType(Y.opts);
N.mapTypes.set(Y.todo.id, Z);
O(Y, Z)
};
this.autofit = function(Y) {
var Z = new google.maps.LatLngBounds();
y.each(V.all(), function(aa, ab) {
if (ab.getPosition) {
Z.extend(ab.getPosition())
} else {
if (ab.getBounds) {
Z.extend(ab.getBounds().getNorthEast());
Z.extend(ab.getBounds().getSouthWest())
} else {
if (ab.getPaths) {
ab.getPaths().forEach(function(ac) {
ac.forEach(function(ad) {
Z.extend(ad)
})
})
} else {
if (ab.getPath) {
ab.getPath().forEach(function(ac) {
Z.extend(ac);
""
})
} else {
if (ab.getCenter) {
Z.extend(ab.getCenter())
} else {
if (ab instanceof a) {
ab = V.getById(ab.id(), true);
if (ab) {
ab.autofit(Z)
}
}
}
}
}
}
}
});
if (!Z.isEmpty() && (!N.getBounds() || !N.getBounds().equals(Z))) {
if ("maxZoom" in Y.todo) {
google.maps.event.addListenerOnce(N, "bounds_changed", function() {
if (this.getZoom() > Y.todo.maxZoom) {
this.setZoom(Y.todo.maxZoom)
}
})
}
N.fitBounds(Z)
}
O(Y, true)
};
this.clear = function(Y) {
if (typeof Y.todo === "string") {
if (V.clearById(Y.todo) || V.objClearById(Y.todo)) {
O(Y, true);
return
}
Y.todo = {
name: Y.todo
}
}
if (Y.todo.id) {
y.each(g(Y.todo.id), function(Z, aa) {
V.clearById(aa) || V.objClearById(aa)
})
} else {
V.clear(g(Y.todo.name), Y.todo.last, Y.todo.first, Y.todo.tag);
V.objClear(g(Y.todo.name), Y.todo.last, Y.todo.first, Y.todo.tag)
}
O(Y, true)
};
this.exec = function(Y) {
var Z = this;
y.each(g(Y.todo.func), function(aa, ab) {
y.each(Z.get(Y.todo, true, Y.todo.hasOwnProperty("full") ? Y.todo.full : true), function(ac, ad) {
ab.call(T, ad)
})
});
O(Y, true)
};
this.get = function(aa, ad, ac) {
var Z, ab, Y = ad ? aa : aa.todo;
if (!ad) {
ac = Y.full
}
if (typeof Y === "string") {
ab = V.getById(Y, false, ac) || V.objGetById(Y);
if (ab === false) {
Z = Y;
Y = {}
}
} else {
Z = Y.name
}
if (Z === "map") {
ab = N
}
if (!ab) {
ab = [];
if (Y.id) {
y.each(g(Y.id), function(ae, af) {
ab.push(V.getById(af, false, ac) || V.objGetById(af))
});
if (!y.isArray(Y.id)) {
ab = ab[0]
}
} else {
y.each(Z ? g(Z) : [t], function(af, ag) {
var ae;
if (Y.first) {
ae = V.get(ag, false, Y.tag, ac);
if (ae) {
ab.push(ae)
}
} else {
if (Y.all) {
y.each(V.all(ag, Y.tag, ac), function(ai, ah) {
ab.push(ah)
})
} else {
ae = V.get(ag, true, Y.tag, ac);
if (ae) {
ab.push(ae)
}
}
}
});
if (!Y.all && !y.isArray(Z)) {
ab = ab[0]
}
}
}
ab = y.isArray(ab) || !Y.all ? ab : [ab];
if (ad) {
return ab
} else {
O(aa, ab)
}
};
this.getdistance = function(Y) {
var Z;
Y.opts.origins = g(Y.opts.origins);
for (Z = 0; Z < Y.opts.origins.length; Z++) {
Y.opts.origins[Z] = I(Y.opts.origins[Z], true)
}
Y.opts.destinations = g(Y.opts.destinations);
for (Z = 0; Z < Y.opts.destinations.length; Z++) {
Y.opts.destinations[Z] = I(Y.opts.destinations[Z], true)
}
B().getDistanceMatrix(Y.opts, function(ab, aa) {
X(Y, aa === google.maps.DistanceMatrixStatus.OK ? ab : false, aa);
P.ack()
})
};
this.trigger = function(Z) {
if (typeof Z.todo === "string") {
google.maps.event.trigger(N, Z.todo)
} else {
var Y = [N, Z.todo.eventName];
if (Z.todo.var_args) {
y.each(Z.todo.var_args, function(ab, aa) {
Y.push(aa)
})
}
google.maps.event.trigger.apply(google.maps.event, Y)
}
X(Z);
P.ack()
}
}
function s(M) {
var L;
if (!typeof M === "object" || !M.hasOwnProperty("get")) {
return false
}
for (L in M) {
if (L !== "get") {
return false
}
}
return !M.get.hasOwnProperty("callback")
}
y.fn.gmap3 = function() {
var M, O = [],
N = true,
L = [];
J();
for (M = 0; M < arguments.length; M++) {
if (arguments[M]) {
O.push(arguments[M])
}
}
if (!O.length) {
O.push("map")
}
y.each(this, function() {
var P = y(this),
Q = P.data("gmap3");
N = false;
if (!Q) {
Q = new K(P);
P.data("gmap3", Q)
}
if (O.length === 1 && (O[0] === "get" || s(O[0]))) {
if (O[0] === "get") {
L.push(Q.get("map", true))
} else {
L.push(Q.get(O[0].get, true, O[0].get.full))
}
} else {
Q._plan(O)
}
});
if (L.length) {
if (L.length === 1) {
return L[0]
} else {
return L
}
}
return this
}
})(jQuery);