// source --> http://www.atlantis-yachting.de/wp-content/themes/twentyten-atlantis/js/osm-standortmeldungen.js?ver=0.9 
/*! Thomas Kessler - www.kessler-design.com */

var osm_track = function(options) {
	var map = false;
	if (window.L) {
		try {
		map = L.map('osm_standortmeldungen_' + options.id);
		} catch (e) {
			if (window.console) console.log('Oops, could not find/initialize osm container.');
		}
	}
	if (map) {
		map.setView([ options.center.lat, options.center.lng ], options.zoom);
		// https://wiki.openstreetmap.org/wiki/Map_internationalization -> .de
		L.tileLayer('https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', {
			'attribution':  'Kartendaten &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> Mitwirkende',
			'useCache': true
		}).addTo(map);

		var icon = L.icon({
			iconUrl: options.base + options.icon,
			iconSize: [32, 36],
			iconAnchor: [16, 35]
		});

		var latlngs = [];
		for (var i = 0; i < options.locations.length; i++) {
			latlngs.push( [ options.locations[i][2], options.locations[i][3] ] );

			var title_tag = title_html = options.locations[i][0];
			var addr = options.locations[i][1];
			if (addr) {
				title_tag = addr + ' - ' + title_tag;
				title_html = addr + ':<br />' + title_html;
			}

			var link_start = '<a href="' + options.base + options.locations[i][4] + '">', link_end = '</a>';

			var img = options.locations[i][5], html = '';
			if (img) {
				html += '<div style="text-align:center;">';
				html += link_start + '<img src="' + img + '" alt="img" style="width:100px;height:100px;display:block;margin:.3em auto;" />' + link_end;
				html += link_start + title_html + link_end;
				html += '</div>';
			} else {
				html += '<div style="text-align:center;">';
				html += link_start + title_html + link_end;
				html += '</div>';
			}

			var marker = L.marker(
				[ options.locations[i][2], options.locations[i][3] ],
				{
					title: title_tag,
					icon: icon,
					// https://github.com/Leaflet/Leaflet/issues/5560#issuecomment-308427016
					zIndexOffset: ( i + 1 ) * 10000
				}
			).addTo(map).bindPopup(html);

			/*
			var href = options.base + options.locations[i][4];
			var marker = L.marker(
				[ options.locations[i][2], options.locations[i][3] ],
				{
					title: title_tag,
					icon: icon,
					// https://github.com/Leaflet/Leaflet/issues/5560#issuecomment-308427016
					zIndexOffset: ( i + 1 ) * 10000,
					// pass some data to handler...
					xdata: {
						href: href
					}
				}
			).on('click', function() {
				window.location.href = this.options.xdata.href;
			}).addTo(map);
			*/

		}

		var polyline = L.polyline(
			latlngs,
			{
				color: options.stroke.color,
				weight: options.stroke.weight,
				opacity: options.stroke.opacity
			}
		).addTo(map);

		if (L.polylineDecorator) {
			// https://github.com/bbecquet/Leaflet.PolylineDecorator
			// https://stackoverflow.com/q/42858374
			var decorator = L.polylineDecorator(polyline, {
				patterns: [
					{
						offset: 0,
						repeat: 66,
						symbol: L.Symbol.arrowHead({
							pixelSize: 8,
							polygon: false,
							pathOptions: {
								stroke: true,
								color: options.stroke.color,
								weight: options.stroke.weight,
								opacity: options.stroke.opacity
							}
						})
					}
				]
			}).addTo(map);
		}

	}
}

var osm_position = function(options) {
	var map = false;
	if (window.L) {
		try {
		map = L.map('osm_standortmeldung_' + options.id);
		} catch (e) {
			if (window.console) console.log('Oops, could not find/initialize osm container.');
		}
	}
	if (map) {
		map.setView([ options.location[1], options.location[2] ], options.zoom);
		// https://wiki.openstreetmap.org/wiki/Map_internationalization -> .de
		L.tileLayer('https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', {
			'attribution':  'Kartendaten &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> Mitwirkende',
			'useCache': true
		}).addTo(map);

		var icon = L.icon({
			iconUrl: options.base + options.icon,
			iconSize: [32, 36],
			iconAnchor: [16, 35]
		});

		var marker = L.marker(
			[ options.location[1], options.location[2] ],
			{
				title: options.location[0],
				icon: icon
			}
		).on('click', function() {
			// https://wiki.openstreetmap.org/wiki/Browsing#Linking_to_Maps
			var href = 'https://www.openstreetmap.org/?mlat=' + options.location[1] + '&mlon=' + options.location[2] + '&zoom=' + options.zoom;
			// no marker:
			//var href = 'https://www.openstreetmap.org/#map=' + options.zoom + '/' + options.location[1] + '/' + options.location[2];
			window.open(href, '_blank');
		}).addTo(map);
	}
}

/*
// https://wiki.openstreetmap.org/wiki/DE:OSM_mit_Leaflet/Vorbereitung#Erster_Test
var Karte = L.map('osm_standortmeldung_2').setView([51.75840, 6.39612], 15);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
'attribution':  'Kartendaten &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> Mitwirkende',
'useCache': true
}).addTo(Karte);

var marker = L.marker([51.76148,6.39604]).addTo(Karte);
*/

jQuery(document).ready(function($){
	if (typeof standortmeldungenParams !== 'undefined') {
		var params = standortmeldungenParams;

		var sm_objects = (params.standortmeldungen) ? $.parseJSON(params.standortmeldungen) : [];
		$.each(sm_objects, function(idx, sm_obj) {
			new osm_track(sm_obj);
		});

		var sm_objects = (params.standortmeldung) ? $.parseJSON(params.standortmeldung) : [];
		$.each(sm_objects, function(idx, sm_obj) {
			new osm_position(sm_obj);
		});
	}
});
// source --> http://www.atlantis-yachting.de/wp-includes/js/wp-embed.min.js?ver=4.9.29 
!function(d,l){"use strict";var e=!1,n=!1;if(l.querySelector)if(d.addEventListener)e=!0;if(d.wp=d.wp||{},!d.wp.receiveEmbedMessage)if(d.wp.receiveEmbedMessage=function(e){var t=e.data;if(t)if(t.secret||t.message||t.value)if(!/[^a-zA-Z0-9]/.test(t.secret)){for(var r,i,a,s=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),n=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),o=new RegExp("^https?:$","i"),c=0;c<n.length;c++)n[c].style.display="none";for(c=0;c<s.length;c++)if(r=s[c],e.source===r.contentWindow){if(r.removeAttribute("style"),"height"===t.message){if(1e3<(a=parseInt(t.value,10)))a=1e3;else if(~~a<200)a=200;r.height=a}if("link"===t.message)if(i=l.createElement("a"),a=l.createElement("a"),i.href=r.getAttribute("src"),a.href=t.value,o.test(a.protocol))if(a.host===i.host)if(l.activeElement===r)d.top.location.href=t.value}}},e)d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",t,!1),d.addEventListener("load",t,!1);function t(){if(!n){n=!0;for(var e,t,r=-1!==navigator.appVersion.indexOf("MSIE 10"),i=!!navigator.userAgent.match(/Trident.*rv:11\./),a=l.querySelectorAll("iframe.wp-embedded-content"),s=0;s<a.length;s++){if(!(e=a[s]).getAttribute("data-secret"))t=Math.random().toString(36).substr(2,10),e.src+="#?secret="+t,e.setAttribute("data-secret",t);if(r||i)(t=e.cloneNode(!0)).removeAttribute("security"),e.parentNode.replaceChild(t,e)}}}}(window,document);