Created
November 28, 2018 03:12
-
-
Save naoyeye/51d8e1117a73c7e23ff7100f39b78194 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var newVisit = getCookie("dt") ? !1 : !0, | |
userName = getCookie("nm") || !1; | |
setCookie("dt", Math.round((new Date).getTime() / 1E3), 8760); | |
var G = google.maps, | |
map; | |
window.panorama = ""; | |
var svClient = new G.StreetViewService, | |
geocoder = new G.Geocoder, | |
selfLocationRevert = 0, | |
selfLocationRevertThreshold = 3, | |
nradius = 200, | |
radius = nradius, | |
vDate, views = [], | |
rPositions = [], | |
markers = [], | |
globalPointer = 0, | |
globalSvPosition, initPos, hideWaitTime = 30, | |
totalViews = 0, | |
searchMarker, requests, activeSearches = -1, | |
cancelSearch = 0, | |
getPointsActive = 0, | |
countryID, contCount = [], | |
totalCountries = 0, | |
sTime, eTime, slideEvent, noPanoLoadEvent, panoFixEvent, uiHideEvent, dragging = !1, | |
auto = 0, | |
tour = 0, | |
autoRotateInterval = 5, | |
dSlideTime = 4, | |
maxSearches = 3, | |
maxLocations = 100, | |
myMap = 0, | |
inside = 0, | |
hideLocation = 0, | |
slideTime, markerDefaultIcon = "/images/marker_red.png", | |
markerActiveIcon = "/images/marker.png", | |
markerSearchIcon = "/images/marker_search.png", | |
initEvent, myMapEvent, hostVal = window.location.protocol + "//" + window.location.hostname + "/", | |
hostValHttp = "http://" + window.location.hostname + "/", | |
permLink, lrPos = { | |
latLng: new G.LatLng(59.531383, 8.636734), | |
pov: { | |
heading: 182.55, | |
pitch: 18.44, | |
zoom: 1 | |
} | |
}, | |
cache = { | |
geo: {}, | |
rgeo: {} | |
}, | |
spinOpts = { | |
lines: 12, | |
length: 8, | |
width: 4, | |
radius: 10, | |
color: "#fff", | |
speed: 3, | |
trail: 47, | |
shadow: !0, | |
hwaccel: !1, | |
className: "spinner", | |
zIndex: 2E14, | |
top: "auto", | |
left: "auto" | |
}, | |
spinner = new Spinner(spinOpts); | |
$(document).ready(function() { | |
$(window).unload(unloadHandler); | |
spinner.spin($("#container").get(0)); | |
vDate = jsDate ? new Date(jsDate) : !1; | |
var a = "" != initString ? parseLoc(initString) : !1, | |
a = a ? a : lrPos; | |
initPos = a.latLng; | |
a = { | |
zoomControlOptions: { | |
position: G.ControlPosition.RIGHT_BOTTOM, | |
style: G.ZoomControlStyle.SMALL | |
}, | |
pov: a.pov, | |
addressControl: !1, | |
panControl: !0, | |
disableDefaultUI: !1, | |
motionTracking: !1, | |
motionTrackingControl: !1, | |
disableDoubleClickZoom: !1, | |
fullscreenControl: !1 | |
}; | |
panorama = new G.StreetViewPanorama(document.getElementById("pano"), a); | |
panorama.registerPanoProvider(function() { | |
return null | |
}); | |
panorama.description = ""; | |
a = { | |
center: initPos, | |
zoom: 5, | |
mapTypeId: G.MapTypeId.ROADMAP, | |
minZoom: 1, | |
maxZoom: 17, | |
streetViewControl: !0, | |
mapTypeControl: !1, | |
streetView: panorama, | |
fullscreenControl: !1 | |
}; | |
map = new G.Map(document.getElementById("map"), a); | |
(new G.StreetViewCoverageLayer).setMap(map); | |
$(window).resize($.debounce(20, function() { | |
elementResize() | |
})); | |
a = window.location.href; | |
"?" == a[a.length - 1] && setTimeout("window.history.replaceState('{}', null, '/');", 100); | |
G.event.addListenerOnce(panorama, "pano_changed", function() { | |
setTimeout(function() { | |
window.disMon && $(".fa-home").css("color", "#eeffee") | |
}, 1E3); | |
setInterval(function() { | |
panorama.getPosition() && !panorama.getVisible() && panorama.setVisible(!0) | |
}, 500); | |
G.event.addListener(panorama, "pano_changed", function() {}); | |
G.event.addListener(panorama, "position_changed", function() { | |
noPanoLoadEvent && clearTimeout(noPanoLoadEvent); | |
$("#gallery-wait,#gallery-complete").hide(); | |
$("#gallery-submit").show(); | |
updatePano(); | |
updateMarker(); | |
setCenter(panorama.getPosition()) | |
}); | |
G.event.addListener(panorama, "pov_changed", $.debounce(200, function() { | |
setCurrentLink(); | |
updateMarker() | |
})); | |
G.event.addListener(map, "idle", function() { | |
rPositions.mm = [] | |
}); | |
G.event.addListenerOnce(map, "tilesloaded", function() { | |
spinner.stop(); | |
elementResize(); | |
setTimeout(function() { | |
setTimeout(function() { | |
$("#mainad iframe").length && $("#hidemainad").setVisible() | |
}, hideWaitTime); | |
elementResize() | |
}, 1E3) | |
}); | |
$("#pano svg").first().css("opacity", "0.9"); | |
addMarker(panorama.getPosition(), panorama.getPano(), panorama.getPov()); | |
showGo(); | |
$("#go-button").click(function() { | |
goClick() | |
}); | |
$(document).keydown(function(a) { | |
!$("#v3searchinput").is(":focus") && !$("#name-input").is(":focus") && (78 == a.keyCode && !$("#go-button").is(":hidden") && $("#go-button").trigger("click"), 83 == a.keyCode && !$("#stop-button").is(":hidden") && $("#stop-button").trigger("click"), 75 == a.keyCode && $("#prev").trigger("click"), 74 == a.keyCode && $("#next").trigger("click")) | |
}); | |
$("#link").click(function() { | |
$(this).val(getPermLink()).select() | |
}); | |
$("#gallery-submit").click(function() { | |
userName ? ($("#gallery-submit").hide(), $("#gallery-wait").show(), $.post("/_g/add/", { | |
urlstring: urlSlug(), | |
user: userName | |
}, function() { | |
$("#gallery-wait,#gallery-submit").hide(); | |
$("#gallery-complete").show() | |
})) : ($("#name-box").modal(), $("#name-input").focus()) | |
}); | |
$("#name").submit(function(a) { | |
a.preventDefault(); | |
userName = $.trim($("#name-input").val()) || "anonymous"; | |
setCookie("nm", userName, 24E3); | |
$("#name-box").modal("hide"); | |
$("#gallery-submit").trigger("click"); | |
return !1 | |
}); | |
$("#download-submit").click(function() { | |
$(this); | |
$("#download-submit").hide(); | |
$("#download-wait").show(); | |
var a = getGooglePanoHash(); | |
a ? (setTimeout(function() { | |
window.location.href = hostVal + "_d/" + a | |
}, 50), setTimeout(function() { | |
$("#download-wait").hide(); | |
$("#download-submit").show() | |
}, 1E4), gTrackEvent("Image Download")) : alert("Could not download image. Please try again later.") | |
}); | |
$("#loading").remove(); | |
$("#like-box").html(window.likeFrame); | |
$("#tweet-box").html(window.tweetFrame); | |
$("#social").show(); | |
fbml(); | |
isTouch && $(".hover").removeClass("hover") | |
}); | |
initPanoId ? panorama.setPano(initPanoId) : panorama.setPosition(initPos); | |
setTimeout(function() { | |
panorama.getPano() || (alert("Invalid location. Returning to default page."), panorama = new G.StreetViewPanorama(document.getElementById("pano"), { | |
position: lrPos.latLng, | |
pov: lrPos.pov, | |
addressControl: !1 | |
}), endSearch(), showGo()) | |
}, 8E3); | |
$("#countrylist a").each(function() { | |
contCount[$(this).data("continent")] = void 0 == contCount[$(this).data("continent")] ? 1 : contCount[$(this).data("continent")] + 1; | |
$(this).bind("click", function() { | |
$(this).toggleClass("active") | |
}); | |
totalCountries++ | |
}); | |
contCount[0] = totalCountries; | |
$(".continent").on("click", function() { | |
contClick($(this).data("id")) | |
}); | |
$("#stop-button").click(function() { | |
stopSearch(); | |
showBusy(); | |
slideEvent && (clearTimeout(slideEvent), showGo(), slideEvent = !1) | |
}); | |
$("#auto-slider").noUiSlider({ | |
range: [2, 60], | |
start: dSlideTime, | |
step: 1, | |
handles: 1, | |
serialization: { | |
to: [$("#auto-secs"), "html"], | |
resolution: 1 | |
} | |
}).change(function() { | |
slideTime = Math.max(2, parseInt($("#auto-secs").text())); | |
isNaN(slideTime) && (slideTime = dSlideTime) | |
}); | |
$("#auto").change(function() { | |
$(this).is(":checked") ? (auto = 1, $("#auto-slider-box").show()) : (auto = 0, $("#auto-slider-box").hide()) | |
}); | |
$("#tour").change(function() { | |
tour = $(this).is(":checked") ? 1 : 0 | |
}); | |
$("#map-button").click(function() { | |
setTimeout("$('#v3searchinput').focus();", 100); | |
$("#map-button").hide(); | |
$("#list-button").show(); | |
rPositions.mm = []; | |
setCenter(panorama.getPosition()); | |
myMap = 1; | |
hideLocation && $("#stealth").trigger("click"); | |
$("#chooser").hide(); | |
$("#allbox,#locationheader").hide(); | |
$("#map-box").appendTo("#navi-panel").removeClass("behind"); | |
$('label[for="cities"] span').addClass("light") | |
}); | |
$("#list-button").click(function() { | |
$("#list-button").hide(); | |
$("#map-button").show(); | |
myMap = 0; | |
$("#map-box").appendTo("#container").addClass("behind"); | |
$("#chooser").show(); | |
$("#allbox,#locationheader").show(); | |
$('label[for="cities"] span').removeClass("light") | |
}); | |
$("#inside").change(function() { | |
rPositions = []; | |
$(this).is(":checked") ? (inside = 1, $("#countrylist a[data-inside=0]").addClass("disabled")) : (inside = 0, $("#countrylist a").removeClass("disabled")) | |
}); | |
$("#options-button,#share-button").on("click", function() { | |
var a = "options-button" == $(this).attr("id") ? $("#share-panel") : $("#options-panel"), | |
c = "options-button" == $(this).attr("id") ? $("#options-panel") : $("#share-panel"); | |
a.stop().removeClass("visible").animate({ | |
left: "-330px" | |
}, 200); | |
c.hasClass("visible") ? c.stop().removeClass("visible").animate({ | |
left: "-330px" | |
}, 200) : c.stop().addClass("visible").css({ | |
left: "0" | |
}, 200) | |
}); | |
slideTime = dSlideTime; | |
$("#delay").blur(function() { | |
$(this).val(slideTime) | |
}); | |
$("#next").click(next); | |
$("#prev").click(prev); | |
$("#empty").click(function() { | |
resetCountries() | |
}); | |
$("#all").click(function() { | |
selectAll() | |
}); | |
$("#stealth").change(function() { | |
$(this).is(":checked") ? hideLoc() : showLoc() | |
}); | |
$("#about-link").click(function() { | |
$("#about-box").modal() | |
}); | |
$("#comment-link").click(function() { | |
$("#fb-comment-box").modal() | |
}); | |
$("#v3searchsubmit").on("click", function() {}); | |
$("#v3searchform").on("submit", function(a) { | |
codeAddress($("#v3searchinput").val()); | |
a.preventDefault(); | |
return !1 | |
}); | |
$("#hidemainad").click(function() { | |
$("#mainad,#hidemainad").fadeOut(function() { | |
$("#mainad").remove(); | |
elementResize() | |
}); | |
gTrackEvent("hidemainad"); | |
setCookie("hidead", "1", 1) | |
}); | |
$(".tip").tipsy({ | |
opacity: 0.9, | |
offset: 2, | |
delayIn: 250, | |
gravity: "n" | |
}).on("click", function() { | |
$(this).tipsy("hide") | |
}); | |
$("#map-button").tipsy({ | |
opacity: 0.9, | |
offset: 2, | |
delayIn: 250, | |
gravity: "ne" | |
}).on("click", function() { | |
$(this).tipsy("hide") | |
}); | |
$("#urban-label,#auto-slider").tipsy({ | |
opacity: 0.9, | |
offset: 2, | |
delayIn: 250, | |
gravity: "nw" | |
}).on("click", function() { | |
$(this).tipsy("hide") | |
}); | |
"1" != getCookie("fvisit") && ($("#go-button").tipsy({ | |
opacity: 0.9, | |
fade: !0, | |
trigger: "manual", | |
title: "data-tip", | |
gravity: "n" | |
}).on("mouseenter click", function() { | |
$(this).tipsy("hide"); | |
setCookie("fvisit", "1", 87600) | |
}), setTimeout(function() { | |
$("#go-button").tipsy("show") | |
}, 2E3), setTimeout(function() { | |
$("#go-button").tipsy("hide") | |
}, 8E3)); | |
$("#share-fb").click(fbook); | |
$("#share-twitter").click(tweet); | |
$("#share-gplus").click(goo); | |
$("#share-pinterest").click(pinterest); | |
setTimeout(function() { | |
$("#cities").trigger("change"); | |
$("#stealth").trigger("change"); | |
$("#tour").trigger("change"); | |
$("#auto").trigger("change"); | |
$("#inside").trigger("change") | |
}, 500); | |
elementResize() | |
}); | |
function goClick() { | |
panorama.tour = 0; | |
if (!searchActive()) { | |
initEvent && G.event.removeListener(initEvent); | |
4 < markers.length && (!$("#options-button").data("tip-active") && "1" != getCookie("ovisit")) && ($("#options-button").tipsy({ | |
opacity: 0.9, | |
fade: !0, | |
trigger: "manual", | |
title: "data-tip", | |
gravity: "n" | |
}).on("mouseenter click", function() { | |
$(this).tipsy("hide"); | |
setCookie("ovisit", "1", 87600) | |
}), $("#options-button").data("tip-active", "1"), $("#options-button").tipsy("show"), setTimeout(function() { | |
setCookie("ovisit", "1", 87600); | |
$("#options-button").tipsy("hide") | |
}, 5E3)); | |
9 < markers.length && (!$("#gallery-link").data("tip-active") && "1" != getCookie("gvisit")) && ($("#gallery-link").tipsy({ | |
opacity: 0.9, | |
fade: !0, | |
trigger: "manual", | |
title: "data-tip", | |
gravity: "nw" | |
}).on("mouseenter click", function() { | |
$(this).tipsy("hide"); | |
setCookie("gvisit", "1", 87600) | |
}), $("#gallery-link").data("tip-active", "1"), $("#gallery-link").tipsy("show"), setTimeout(function() { | |
setCookie("gvisit", "1", 87600); | |
$("#gallery-link").tipsy("hide") | |
}, 5E3)); | |
var a = auto ? 1500 * slideTime + 1E3 : 1E4; | |
clearTimeout(noPanoLoadEvent); | |
noPanoLoadEvent = setTimeout(function() { | |
alert("Sorry, there has been a problem loading the next panorama. Try again!"); | |
stopSearch(); | |
showGo() | |
}, a); | |
countryID = !1; | |
sTime = new Date; | |
cancelSearch = activeSearches = requests = 0; | |
hideNext(); | |
hidePrev(); | |
if (!myMap) { | |
var b = []; | |
$("#countrylist a").each(function() { | |
if ($(this).hasClass("active") && !$(this).hasClass("disabled")) { | |
var a = $(this).data("id"); | |
b.push(a) | |
} | |
}); | |
0 == b.length ? inside ? (a = $("#countrylist a[data-inside=1]"), countryID = a.eq(Math.floor(Math.random() * a.length)).data("id")) : (countryID = Math.floor(Math.random() * totalCountries) + 1, -1 != $.inArray(countryID, [25, 38, 9, 49]) && (countryID = 0.5 < Math.random() ? countryID : Math.floor(Math.random() * totalCountries) + 1)) : (a = Math.floor(Math.random() * b.length), countryID = b[a]) | |
} | |
auto ? (startCountdown(), showStop()) : showBusy(); | |
locate() | |
} | |
} | |
function locate() { | |
if (!getPointsActive) { | |
var a, b, c = $("#cities").is(":checked") ? "c" : "a"; | |
b = "c" == c ? 1 : 0; | |
myMap ? (rPositions.mm || (rPositions.mm = []), b = "/_m/?b=" + (map.getBounds().getSouthWest().lat().toFixed(6) + "," + map.getBounds().getNorthEast().lat().toFixed(6) + "," + map.getBounds().getSouthWest().lng().toFixed(6) + "," + map.getBounds().getNorthEast().lng().toFixed(6)) + "&d=" + b + "&i=" + inside, a = rPositions.mm) : (rPositions[countryID] || (rPositions[countryID] = []), a = rPositions[countryID], b = "/_r/?c=" + countryID + "&d=" + b + "&i=" + inside); | |
!a[c] || a[c].length <= maxSearches ? (getPointsActive = 1, $.ajax({ | |
url: b, | |
type: "get", | |
error: function() { | |
getPointsActive = 0; | |
failedSearch() | |
}, | |
success: function(b) { | |
var e; | |
try { | |
e = $.parseJSON(b.replace(/while\(1\);/g, "")) | |
} catch (f) { | |
xlog("bad JSON response") | |
} | |
e && !e.error && e.points && 0 != e.points.length ? (countryID = e.country, a[c] = a[c] || [], $.each(e.points, function() { | |
a[c].push(this) | |
}), getPointsActive = 0, multiPoint(a[c])) : (getPointsActive = 0, failedSearch()) | |
} | |
})) : multiPoint(a[c]) | |
} | |
} | |
function multiPoint(a) { | |
if (searchActive()) for (tryPoint(a); activeSearches < maxSearches && !auto && 0 < a.length;) tryPoint(a); | |
else showGo() | |
} | |
function tryPoint(a) { | |
activeSearches++; | |
a = a.pop(); | |
a = new G.LatLng(a[0], a[1]); | |
radius = 15 == map.getZoom() && myMap ? nradius / 2 : 15 < map.getZoom() && myMap ? nradius / 4 : nradius; | |
inside && (radius = 50); | |
svClient.getPanoramaByLocation(new G.LatLng(a.lat(), a.lng()), radius, v3process) | |
} | |
function v3process(a, b) { | |
requests++; | |
if (searchCancelled()) showGo(); | |
else if (searchActive()) if ("ZERO_RESULTS" == b) locate(); | |
else if ("OK" == b) { | |
panorama.description = ""; | |
"undefined" != typeof a.location.description && (panorama.description = a.location.description); | |
endSearch(); | |
var c = 0; | |
eTime = ((new Date - sTime) / 1E3).toFixed(2); | |
var d = a.location.pano, | |
e = { | |
heading: 360 * Math.random(), | |
pitch: 5, | |
zoom: 1 | |
}, | |
f = panorama.getPov(); | |
f && (f.heading += 360, e.heading = (f.heading + 90 + Math.ceil(180 * Math.random())) % 720 - 360); | |
auto && (c = slideTime - eTime); | |
0 >= c ? setPano(d, e) : slideEvent = setTimeout(function() { | |
setPano(d, e) | |
}, 1E3 * c) | |
} else locate() | |
} | |
function setPano(a, b) { | |
totalViews++; | |
slideEvent = !1; | |
searchCancelled() ? showGo() : (G.event.addListenerOnce(panorama, "pano_changed", function() { | |
addMarker(panorama.getPosition(), panorama.getPano(), panorama.getPov()); | |
gTrackView("/click"); | |
auto && !searchCancelled() ? goClick() : showGo(); | |
tour && (panorama.tour = 1, setTimeout("beginTour();", 1E3)) | |
}), setView(a, b)) | |
} | |
function updatePano() { | |
setCurrentLink(); | |
panoFix(); | |
var a = panorama.getPosition(); | |
if (a) { | |
if (!globalSvPosition || 10 < G.geometry.spherical.computeDistanceBetween(globalSvPosition, a)) { | |
var b = globalPointer; | |
$.when(reverseGeo(a)).done(function(a) { | |
if (b == globalPointer) { | |
var d = ""; | |
try { | |
d = panorama.location.description | |
} catch (e) { | |
d = "" | |
} | |
setAddress(a && a.formatted_address ? a.formatted_address : d, b) | |
} | |
}) | |
} | |
globalSvPosition = a | |
} | |
} | |
function panoFix() { | |
clearTimeout(panoFixEvent); | |
panoFixEvent = setTimeout(function() { | |
panorama && (1 <= panorama.getZoom() && 2 > panorama.getZoom()) && panorama.setZoom(1 + Math.random() / 1E5) | |
}, 200) | |
} | |
function beginTour() { | |
setTimeout(function() { | |
panorama.oldHeading = panorama.oldHeading || panorama.getPov().heading; | |
var a = (panorama.getPov().heading + 0.5) % 360; | |
panorama.totalIncrement = panorama.totalIncrement ? panorama.totalIncrement + 0.5 : 1; | |
panorama.tour && 360 > panorama.totalIncrement ? (panorama.setPov({ | |
heading: a, | |
zoom: panorama.getPov().zoom, | |
pitch: panorama.getPov().pitch | |
}), beginTour()) : (panorama.tour = 0, panorama.totalIncrement = 1, panorama.oldHeading = !1) | |
}, autoRotateInterval) | |
} | |
function searchActive() { | |
return -1 < activeSearches | |
} | |
function searchCancelled() { | |
return cancelSearch | |
} | |
function endSearch() { | |
activeSearches = -1; | |
noPanoLoadEvent && clearTimeout(noPanoLoadEvent) | |
} | |
function stopSearch() { | |
cancelSearch = 1; | |
activeSearches = -1; | |
noPanoLoadEvent && clearTimeout(noPanoLoadEvent) | |
} | |
function failedSearch() { | |
myMap || inside ? alert("No Street View in this area, using the options you selected.") : alert("An error occurred. Please try again."); | |
stopSearch(); | |
showGo() | |
} | |
function addMarker(a, b, c) { | |
globalPointer = markers.length; | |
var d = new G.Marker({ | |
position: a, | |
map: map, | |
title: "Point " + globalPointer, | |
icon: markerDefaultIcon | |
}); | |
d.pov = c; | |
d.panoid = b; | |
d.index = globalPointer; | |
d.clickEvent = G.event.addListener(d, "click", function() { | |
$("#go-button").is(":hidden") || (globalPointer = d.index, setView(this.panoid, this.pov), setActiveMarker(d), showPrevNext()) | |
}); | |
markers.push(d); | |
myMap || setCenter(a); | |
setActiveMarker(d); | |
markers.length > maxLocations && removeMarker(markers.length - (maxLocations + 1)) | |
} | |
function setActiveMarker(a) { | |
for (var b in markers) markers[b].active && (markers[b].setIcon(markerDefaultIcon), markers[b].active = 0); | |
a.setIcon(markerActiveIcon); | |
a.active = 1 | |
} | |
function removeMarker(a) { | |
var b = markers[a]; | |
b.clickEvent && G.event.removeListener(b.clickEvent); | |
b.setMap(null); | |
delete markers[a] | |
} | |
function next() { | |
searchActive() || (G.event.trigger(markers[globalPointer + 1], "click"), setCenter(markers[globalPointer].getPosition())) | |
} | |
function prev() { | |
searchActive() || (G.event.trigger(markers[globalPointer - 1], "click"), setCenter(markers[globalPointer].getPosition())) | |
} | |
function urlSlug() { | |
var a = panorama.getPosition(), | |
b = panorama.getPov(); | |
return roundNum(a.lat(), 6) + "_" + roundNum(a.lng(), 6) + "_" + roundNum(b.heading, 2) + "_" + roundNum(-1 * b.pitch, 2) + "_" + (Math.round(b.zoom) - 1) | |
} | |
function getPermLink() { | |
return 0 == globalPointer && "" != gPermLink && panorama.getPosition().lat() == initPos.lat() ? gPermLink : hostValHttp + "p/" + urlSlug() | |
} | |
function getSvImageUrl() { | |
var a = panorama.getPov(), | |
b = Math.max(10, 180 / Math.pow(2, a.zoom)); | |
return "http://maps.googleapis.com/maps/api/streetview?size=640x640&pano=" + panorama.getPano() + "&heading=" + a.heading + "&fov=" + b + "&pitch=" + a.pitch + "&sensor=false" | |
} | |
function contDeactivate(a) { | |
0 == a && resetCountries(); | |
$("#countrylist a[data-continent=" + a + "]").removeClass("active") | |
} | |
function contActivate(a) { | |
0 == a && selectAll(); | |
$("#countrylist a[data-continent=" + a + "]").addClass("active") | |
} | |
function resetCountries() { | |
$("#countrylist a").removeClass("active") | |
} | |
function selectAll() { | |
$("#countrylist a").addClass("active") | |
} | |
function contClick(a) { | |
var b = $("#countrylist a[data-continent=" + a + "][class~=active]").length; | |
0 == a && (b = $("#countrylist a[class~=active]").length); | |
b == contCount[a] ? contDeactivate(a) : contActivate(a) | |
} | |
function showPrevNext() { | |
void 0 != markers[globalPointer - 1] ? showPrev() : hidePrev(); | |
globalPointer < markers.length - 1 ? showNext() : hideNext() | |
} | |
function showNext() { | |
$("#mnext").show(); | |
$("#mnextno").hide() | |
} | |
function hideNext() { | |
$("#mnext").hide(); | |
$("#mnextno").show() | |
} | |
function showPrev() { | |
$("#mprev").show(); | |
$("#mprevno").hide() | |
} | |
function hidePrev() { | |
$("#mprev").hide(); | |
$("#mprevno").show() | |
} | |
function showGo() { | |
$("#stop-button").hide(); | |
$("#busy-button").hide(); | |
$("#go-button").show(); | |
showPrevNext() | |
} | |
function showBusy() { | |
$("#stop-button").hide(); | |
$("#go-button").hide(); | |
$("#busy-button").show() | |
} | |
function showStop() { | |
$("#go-button").hide(); | |
$("#busy-button").hide(); | |
$("#stop-button").show() | |
} | |
function parseLoc(a) { | |
if (0 == a) return !1; | |
var b = {}, | |
c = a.split("_"), | |
a = parseFloat(c[0]), | |
d = parseFloat(c[1]), | |
e = parseFloat(c[2]), | |
f = parseFloat(c[3]), | |
c = parseFloat(c[4]); | |
return !isNaN(a) && !isNaN(d) && !isNaN(e) && !isNaN(f) && !isNaN(c) ? (b.latLng = new G.LatLng(a, d), b.pov = { | |
heading: e, | |
pitch: -1 * f, | |
zoom: c + 1 | |
}, b) : !1 | |
} | |
function updateMarker() { | |
markers[globalPointer].setPosition(panorama.getPosition()); | |
markers[globalPointer].panoid = panorama.getPano(); | |
markers[globalPointer].pov = panorama.getPov() | |
} | |
function setCurrentLink() { | |
$("#link").val(getPermLink()) | |
} | |
function reverseGeo() { | |
var a = $.Deferred(); | |
a.resolve(!1); | |
return a.promise() | |
} | |
function setAddress(a, b) { | |
0 == b && initViewType.length && "user" != initViewType ? ($("#info-firstview").show(), $("#address").hide()) : ($("#info-firstview").hide(), $("#stealth").is(":checked") || $("#address").show()); | |
0 < b && ($("#prevnext").show(), $("#address").removeClass("noffset"), $("#info-firstview").addClass("offset")); | |
$("#address").text(a).attr("title", a); | |
$("#current").text(b) | |
} | |
function setView(a, b) { | |
panorama.setOptions({ | |
pano: a, | |
pov: b | |
}); | |
panorama.setZoom(b.zoom) | |
} | |
function setCenter(a, b) { | |
b = b || map.getZoom() || 5; | |
if (!map.getBounds() || map.getBounds() && !map.getBounds().contains(a) && !myMap) map.setCenter(a), map.setZoom(b) | |
} | |
function hideLoc() { | |
$("#address").hide(); | |
$("#map-box").css("opacity", "0.05"); | |
panorama.setOptions({ | |
showRoadLabels: !1 | |
}); | |
hideLocation = 1 | |
} | |
function showLoc() { | |
$("#map-box").css("opacity", "0.8"); | |
("" == initViewType || 0 != globalPointer) && $("#address").show(); | |
$("#hidetext").remove(); | |
panorama.setOptions({ | |
showRoadLabels: !0 | |
}); | |
hideLocation = 0 | |
} | |
function codeAddress(a) { | |
geocoder.geocode({ | |
address: a | |
}, function(a, c) { | |
if (c == google.maps.GeocoderStatus.OK) { | |
var d = a[0].geometry.viewport; | |
d ? map.fitBounds(d) : map.setCenter(a[0].geometry.location); | |
searchMarker ? searchMarker.setPosition(a[0].geometry.location) : (searchMarker = new google.maps.Marker({ | |
map: map, | |
position: a[0].geometry.location | |
}), searchMarker.setIcon(markerSearchIcon)) | |
} | |
}) | |
} | |
function dist(a, b, c, d) { | |
var e = (c - a) * Math.PI / 180, | |
b = (d - b) * Math.PI / 180, | |
a = Math.sin(e / 2) * Math.sin(e / 2) + Math.cos(a * Math.PI / 180) * Math.cos(c * Math.PI / 180) * Math.sin(b / 2) * Math.sin(b / 2); | |
return 6371 * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)) | |
} | |
function fbook() { | |
gTrackEvent("fbook"); | |
window.open("https://www.facebook.com/sharer.php?u=" + encodeURIComponent(getPermLink()), "Facebook", "toolbar=0,status=0,width=650,height=350,scrollbars=0,menubar=0,top=" + (screen.height - 350) / 2 + ",left=" + (screen.width - 650) / 2) | |
} | |
function tweet() { | |
gTrackEvent("tweet"); | |
window.open("https://twitter.com/share?url=" + encodeURIComponent(getPermLink()) + "&via=mapcrunch&hashtags=mapcrunch", "Twitter", "toolbar=0,status=0,width=480,height=250,scrollbars=0,menubar=0,top=" + (screen.height - 350) / 2 + ",left=" + (screen.width - 480) / 2) | |
} | |
function goo() { | |
gTrackEvent("gplus"); | |
window.open("https://plus.google.com/share?url=" + encodeURIComponent(getPermLink()), "Google Plus", "toolbar=0,status=0,width=600,height=600,scrollbars=0,menubar=0,top=" + (screen.height - 600) / 2 + ",left=" + (screen.width - 600) / 2) | |
} | |
function pinterest() { | |
gTrackEvent("pinterest"); | |
window.open("http://pinterest.com/pin/create/button/?url=" + encodeURIComponent(getPermLink()) + "&media=" + encodeURIComponent(getSvImageUrl()) + "&description=" + document.title, "Pinterest", "toolbar=0,status=0,width=650,height=350,scrollbars=0,menubar=0,top=" + (screen.height - 350) / 2 + ",left=" + (screen.width - 650) / 2) | |
} | |
function gTrackEvent(a, b, c) { | |
_gaq && a && _gaq.push(["_trackEvent", "main", a, b, c]) | |
} | |
function gTrackView(a) { | |
_gaq && _gaq.push(["_trackPageview", a]) | |
} | |
$.urlParam = function(a) { | |
a = RegExp("[\\?&]" + a + "=([^&#]*)").exec(window.location.href); | |
return !a ? 0 : a[1] || 0 | |
}; | |
function xlog(a) { | |
"undefined" != typeof console && "undefined" != typeof dm && console.log(a) | |
} | |
function setCookie(a, b, c) { | |
if (c) { | |
var d = new Date; | |
d.setTime(d.getTime() + 36E5 * c); | |
c = "; expires=" + d.toGMTString() | |
} else c = ""; | |
document.cookie = a + "=" + b + c + "; path=/" | |
} | |
function getCookie(a) { | |
for (var a = a + "=", b = document.cookie.split(";"), c = 0; c < b.length; c++) { | |
for (var d = b[c]; | |
" " == d.charAt(0);) d = d.substring(1, d.length); | |
if (0 == d.indexOf(a)) return d.substring(a.length, d.length) | |
} | |
return null | |
} | |
function eraseCookie(a) { | |
setCookie(a, "", -1) | |
} | |
function unloadHandler() {} | |
function startCountdown() { | |
"undefined" != typeof a && clearInterval(a); | |
$("#stopcounter").text(slideTime); | |
var a = setInterval(function() { | |
var b = parseInt($("#stopcounter").text()) - 1; | |
0 > b ? clearInterval(a) : $("#stopcounter").text(b) | |
}, 1E3) | |
} | |
function elementResize() { | |
var a = $("#pano").width() - $("#info-title").outerWidth() - $("#info-date").outerWidth() - $("#info-comment-link").outerWidth() - 70; | |
$("#info-finder").is(":visible") && (a -= $("#info-finder").outerWidth()); | |
$("#info-address-first").css("max-width", a); | |
setTimeout(function() { | |
if ($("#bottom-box").length && !$("#mainad iframe").length || window.noAds) $("#bottom-box").remove(), $(window).trigger("resize") | |
}, 500); | |
parseInt($("#mainad").css("height")); | |
a = $("#bottom-box").outerHeight(); | |
$("#container").css("height", $(window).height() - a); | |
G.event.trigger(panorama, "resize") | |
} | |
function cid2code(a) { | |
return $("#c" + a).data("code") || !1 | |
} | |
function getGooglePanoHash(a, b) { | |
a = a || panorama.getPano(); | |
b = b || panorama.getPov(); | |
return a && b ? a + "," + roundNum(b.heading, 2) + "," + roundNum(b.pitch, 2) + "," + roundNum(b.zoom, 2) : !1 | |
} | |
function fbml() { | |
var a = document; | |
$("#facebook-jssdk").remove(); | |
var b = a.getElementsByTagName("script")[0], | |
a = a.createElement("script"); | |
a.id = "facebook-jssdk"; | |
a.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=248807751815810"; | |
b.parentNode.insertBefore(a, b) | |
} | |
function gplus() { | |
var a = document.createElement("script"); | |
a.type = "text/javascript"; | |
a.async = !0; | |
a.src = "https://apis.google.com/js/plusone.js"; | |
var b = document.getElementsByTagName("script")[0]; | |
b.parentNode.insertBefore(a, b) | |
} | |
function tw() { | |
var a = document.createElement("script"); | |
a.type = "text/javascript"; | |
a.src = "https://platform.twitter.com/widgets.js"; | |
var b = document.getElementById("deferedjs"); | |
b.parentNode.insertBefore(a, b) | |
} | |
function roundNum(a, b) { | |
return Math.round(a * Math.pow(10, b)) / Math.pow(10, b) | |
} | |
$.fn.toggleClick = function() { | |
var a = arguments; | |
return this.click(function() { | |
var b = $(this).data("iteration") || 0; | |
a[b].apply(this, arguments); | |
b = (b + 1) % a.length; | |
$(this).data("iteration", b) | |
}) | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment