-1) {
var s = source.indexOf("", e);
// Add to scripts array
scripts.push(source.substring(s_e + 1, e));
// Strip from source
source = source.substring(0, s) + source.substring(e_e + 1);
}
// Loop through every script collected and eval it
for (var i = 0; i < scripts.length; i++) {
try {
eval(scripts[i]);
} catch (ex) {
}
}
// Return the cleaned source
return source;
}
// ------------------------------------------------------------
function loadNewPage(pageId) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
// document.getElementById(pageId).innerHTML = xmlhttp.responseText;
document.getElementById('Content').innerHTML = xmlhttp.responseText;
// run the loaded script
// parseScript(document.getElementById(pageId).innerHTML);
parseScript(document.getElementById('Content').innerHTML);
}
};
xmlhttp.open("GET", "/api/api.php?ajx=" + pageId, true);
xmlhttp.send();
}
// ------------------------------------------------------------
function loadScriptAround() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyC13e00uWay_pKLATkMmjceNsiD4sw0JU8&v=3.exp' + '&callback=initializeAround&libraries=places';
document.body.appendChild(script);
}
// ------------------------------------------------------------
function ReGetPosition() {
if (typeof ThisPosition === 'undefined') {
ThisPosition = GetPosition();
}
}
// ------------------------------------------------------------
// Check for geolocation support - and save current position the
// ------------------------------------------------------------
function GetPosition() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
if (debug) console.log("Your are here (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")");
return position;
});
if (debug) console.log('failed to detect location');
// TODO: return the location of tel aviv
return null;
} else {
if (debug) console.log('Sorry, your browser does not support HTML5 geolocation.');
}
}
// ------------------------------------------------------------
// TODO: re-request access to allow my position
// ------------------------------------------------------------
/*
// Re request to allow access to geolocation
if (navigator.geolocation) {
console.log('Geolocation is supported!');
startPos = position;
var lat = startPos.coords.latitude;
var lng = startPos.coords.longitude;
}
else {
console.log('Geolocation is not supported for this Browser/OS.');
}
*/
// ------------------------------------------------------------
function ReadUrl(aurl, request) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
if (debug) console.log('response: ->' + xmlhttp.responseText);
var arr = JSON.parse(xmlhttp.responseText);
if (arr.status === 'REQUEST_DENIED') {
if (debug) console.log('Infowindow ->API request denied !!!!!');
} else
if (arr.status === 'ZERO_RESULTS') {
infowindow.setContent('no address');
if (debug) console.log('Infowindow ->nothing');
} else {
if (debug) console.log('arr.results ->' + arr.results[0]);
infowindow.setContent(arr.results[0].formatted_address);
if (debug) console.log('Infowindow ->' + infowindow);
}
if (debug) console.log('arr ->' + arr);
if (debug) console.log('Infowindow ->' + infowindow);
}
};
xmlhttp.open("GET", aurl + request, true);
xmlhttp.send();
}
// ------------------------------------------------------------
// put the marker
// ------------------------------------------------------------
function placeMarker(aMarker, position /*, amap*/) {
aMarker.setPosition(position);
}
// ------------------------------------------------------------
// set the marker properties and display it on the map
// ------------------------------------------------------------
function InitializeMyPositionMarker(amarker, apoint, amap, ShowInfoWin = false, aicon = null) {
amarker = new google.maps.Marker({
position: apoint, // myLatlngCheckIn,
map: amap,
icon: aicon
});
return amarker;
}
// ------------------------------------------------------------
/*
function initializeCheckIn() {
// load my last reported location
var places = [
[ 'Hermon Street 20, Rosh Haayin, Israel', '32.0917', '34.9622' ], ];
// browser cannot tell where i am? show my last reported location
if (typeof ThisPosition === 'undefined') {
// default location (first place?)
var myLatlngCheckIn = new google.maps.LatLng(places[0][1], places[0][2]);
if (debug) console.log('Im here: ' + myLatlngCheckIn);
} else {
var myLatlngCheckIn = new google.maps.LatLng(ThisPosition.coords.latitude, ThisPosition.coords.longitude);
if (debug) console.log('Im here: ' + myLatlngCheckIn);
}
if (debug) console.log('Im here: ' + ThisPosition);
// where to center my location - and zoom level
var mapOptions = {
zoom: 17,
center: myLatlngCheckIn,
gestureHandling: "greedy"
};
if (debug) console.log('--------------------------------');
if (debug) console.log(mapOptions);
var v = parent.getmapDetailsForIFrame();
var opt = v.split(',');
// 12,greedy,lat,lng
mapOptions = {
zoom: parseInt(opt[0]),
center: new google.maps.LatLng(parseFloat(opt[2]), parseFloat(opt[3])),
gestureHandling: opt[1]
};
if (debug) console.log(mapOptions);
if (debug) console.log('--------------------------------');
// show the map
map = new google.maps.Map(document.getElementById('map-canvas-checkin'), mapOptions);
//?????????????????????????????????????????????????????????????????
//?????????????????????????????????????????????????????????????????
// Create the search box and link it to the UI element.
const input = document.getElementById("pac-input");
const searchBox = new google.maps.places.SearchBox(input);
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(input);
// Bias the SearchBox results towards current map's viewport.
map.addListener("bounds_changed", () => {
searchBox.setBounds(map.getBounds());
});
let xmarkers = [];
// Listen for the event fired when the user selects a prediction and retrieve
// more details for that place.
searchBox.addListener("places_changed", () => {
const places = searchBox.getPlaces();
if (places.length == 0) {
return;
}
// Clear out the old markers.
xmarkers.forEach((marker) => {
marker.setMap(null);
});
xmarkers = [];
// For each place, get the icon, name and location.
const bounds = new google.maps.LatLngBounds();
places.forEach((place) => {
if (!place.geometry || !place.geometry.location) {
if (debug) console.log("Returned place contains no geometry");
return;
}
const icon = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25),
};
// Create a marker for each place.
xmarkers.push(
new google.maps.Marker({
map,
icon,
title: place.name,
position: place.geometry.location,
})
);
if (place.geometry.viewport) {
// Only geocodes have viewport.
bounds.union(place.geometry.viewport);
} else {
bounds.extend(place.geometry.location);
}
});
map.fitBounds(bounds);
});
//?????????????????????????????????????????????????????????????????
//?????????????????????????????????????????????????????????????????
// set my position marker and info window
Mymarker = InitializeMyPositionMarker(Mymarker, mapOptions.center, map, true);
google.maps.event.addListener(map, 'click', function (e) {
if (debug) console.log('click placing marker');
placeMarker(Mymarker, e.latLng);
// re center the map
map.panTo(Mymarker.getPosition());
});
} // initialize
*/
// ------------------------------------------------------------
/*
google.maps.event.addListener(map, 'dblclick', function () { console.log('Listener -> dblclick') });
google.maps.event.addListener(map, 'heading_changed', function () { console.log('Listener -> heading') });
google.maps.event.addListener(map, 'idle', function () { console.log('Listener -> idle') });
google.maps.event.addListener(map, 'maptypeid_changed', function () { console.log('Listener -> type id change') });
google.maps.event.addListener(map, 'projection_changed', function () { console.log('Listener -> projection') });
google.maps.event.addListener(map, 'resize', function () { console.log('Listener -> resize') });
google.maps.event.addListener(map, 'rightclick', function () { console.log('Listener -> right click') });
google.maps.event.addListener(map, 'tilesloaded', function () { console.log('Listener -> title load') });
google.maps.event.addListener(map, 'tilt_changed', function () { console.log('Listener -> title change') });
google.maps.event.addListener(map, 'zoom_changed', function () { console.log('Listener -> zoom') });
google.maps.event.addListener(map, 'click', function () { console.log('Listener -> click') });
*/
// ------------------------------------------------------------
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
if (debug) console.log('place: -> ' + place);
}
} else {
if (debug) console.log('place callback failed !!!!!');
}
}
// ------------------------------------------------------------
function SendLike(postId) {
CallApi('reportLiked=' +
'&postid=' + postId +
'&liked=1' +
'&ip=' + encodeURIComponent('18.118.32.213') +
'&token=' + DeviceUniqueToken
,
// show the response from the api call
function (e) {
console.log('save like ->' + e);
}
);
Cleanup();
};
// ------------------------------------------------------------
function SendDisLike(postId) {
CallApi('reportLiked=' +
'&postid=' + postId +
'&liked=2' +
'&ip=' + encodeURIComponent('18.118.32.213') +
'&token=' + DeviceUniqueToken
,
// show the response from the api call
function (e) {
if (debug) console.log('save like ->' + e);
}
);
Cleanup();
};
// ------------------------------------------------------------
// save the location to the database via API
// ------------------------------------------------------------
function SaveThingsReportToDb(IdType, level, comment, spot) {
// do not report in the default TelAviv position !!!
var value = spot.toString();
value = value.replace(/[\(\)]/g,'').split(',');
var TheDistance = distance(value[0], value[1], DefaultPositionLat, DefaultPositionLon);
// around the default point, in a 1 km distance - do not accept reports!
if (TheDistance < 1000) {
// explain to the user that he needs to allow location, or to set the spot manually
alert( 'נראה כי הדפדפן שלך אינו מזהה או חוסם גישה למיקומך.\n' +
'כדי לדווח מומלץ לאפשר לאתר גישה למיקומך, או ללחוץ על המקום במפה שאודותיו ברצונך לדווח,\n' +
'לאחר שתופיע על המפה סיכה אדומה במקום הנכון - ניתן למלא את הדיווח הרצוי.');
return;
}
// comment is mandatory !!!
// TODO: use the length, or some validation that this is a reasonable comment
if (!comment) {
alert('יש למלא את שדה ההערה, לציין את שם המקום!');
return;
}
if (debug)
console.log('Saving: type: ' + IdType + ', level: ' + level + ', comment: ' + comment + ', spot: ' + spot);
if (debug)
console.log('saveReportlocation=' + JSON.stringify(spot) +
'&uid=' + IdType +
'&name=' + level +
'&comment=' + encodeURIComponent(comment) +
'&ip=' + encodeURIComponent('18.118.32.213') +
'&useragent=' + encodeURIComponent('Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)') +
'&token=' + DeviceUniqueToken
);
// TODO: how to add a picture to this api?
// pictures use POST - this api - GET --> need to change the entire api to POST
// how to get the post id while posting? --> if it uses POST and the entire submit happens on the server at the same time, the post id may be known
CallApi('saveReportlocation=' +
JSON.stringify(spot) +
'&uid=' + IdType +
'&name=' + level +
'&comment=' + encodeURIComponent(comment) +
'&ip=' + encodeURIComponent('18.118.32.213') +
'&useragent=' + encodeURIComponent('Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)') +
'&token=' + DeviceUniqueToken
,
// show the response from the api call
function (e) {
if (debug) console.log('save report ->' + e);
}
);
// if successful - close the iframe/report-buttons layer
Cleanup();
// amap, spot, name, type, descript, icon
var amarker = SetAMarker(
// amap
FloodMap,
// spot
spot,
// name
"'" + level + "'",
// type
IdType,
// descript
'
';
// click should close the report screen and go to the place on the map
HtmlTableToShow += "" +
'
';
// nav here - navigation instructions - With google maps
HtmlTableToShow += '';
/* echo $TitlesArray['text4'][$LanguageIndex]; */
HtmlTableToShow += '
';
HtmlTableToShow += '
';
});
// if there are no items - return an empty result
if (HtmlTableToShow) {
// finalize the table
HtmlTableToShow += '
';
// add the table headers
HtmlTableToShow = HtmlTableHeaders + HtmlTableToShow;
}
return HtmlTableToShow;
}
// -------------------------------------------------------------
// -------------------------------------------------------------
// make sorted lists of places by type and by distance
// -------------------------------------------------------------
function PrepareListPlaces() {
// console.log(IdTypes);
// build the innerhtml of each category
var SlideTables = [];
var SlideMenu = '';
var AvailableSlideCategories = [];
var i = 0;
// itterate through all categories
for (var prop in IdTypes) {
if (Object.prototype.hasOwnProperty.call(IdTypes, prop)) {
var PanelContent = PrepareListByType(prop + 'Id');
if (PanelContent) {
AvailableSlideCategories.push(prop);
SlideTables.push(PanelContent);
SlideMenu += '' + IdTypesTitles[prop][LanguageIndex] + '';
}
}
}
// build the slider menu per the existing full categories
document.getElementById("SliderMenu").innerHTML =
'
'+
SlideMenu +
'
';
// build the slides elements using the existing full categories
var panelsContent = '';
for (var n = 0; n < SlideTables.length; n++ ) {
panelsContent +=
'
'+
'
'+
'
'+
'רשימת '+
IdTypesTitles[AvailableSlideCategories[n]][LanguageIndex] +
' לפי מרחק ממיקומי'+
'
'+
'
'+
SlideTables[n]+
'
'+
'
'+
'
';
}
document.getElementById("Slides").innerHTML = panelsContent;
// document.getElementById("PlacesListByDistance" + atype).innerHTML = HtmlTableToShow;
}
// -------------------------------------------------------------
// locate my position - to center the map
// as long as we dont have a location fix - show the first known point location
// once a location fix is established - the map will auto pan to the current location
if (typeof MyTempPosition === 'undefined') {
// set to country center
// MyTempPosition = new google.maps.LatLng(31.0461, 34.8516);
MyTempPosition = new google.maps.LatLng(DefaultPositionLat, DefaultPositionLon);
} else {
MyTempPosition = new google.maps.LatLng(ThisPosition.coords.latitude, ThisPosition.coords.longitude);
}
// where to center
mapOptions = {
zoom: 12,
gestureHandling: "greedy",
streetViewControl: false,
// controlSize: 28,
center: MyTempPosition,
// mapTypes: [G_HYBRID_MAP, g_terrain_map, g_satellite_map, g_hybrid_map],
mapTypeControl: true,
// default is Terrain layer
mapTypeId: google.maps.MapTypeId.TERRAIN,
// mapTypeId: google.maps.MapTypeId.HYBRID,
// mapTypeId: google.maps.MapTypeId.COORDINATE,
mapTypeControlOptions: {
// mapTypeIds: ["coordinate", "roadmap", "terrain", "satellite", "hybrid"],
mapTypeIds: ["terrain", "roadmap", "satellite", "hybrid"],
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
// style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
// style: google.maps.MapTypeControlStyle.VERTICAL_BAR,
position: google.maps.ControlPosition.TOP_LEFT
},
// mapTypeId: MY_MAPTYPE_ID,
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.RIGHT_CENTER
},
scaleControl: true,
fullscreenControl: false
};
// show the map
FloodMap = new google.maps.Map(document.getElementById('map-canvas-around-me'), mapOptions);
infoWindow = new google.maps.InfoWindow();
// add the re-center map control
// ------------------------------
const centerControlDiv = document.getElementById('centerControl');
centerControlDiv.addEventListener("click", () => {
var me = new google.maps.LatLng(ThisPosition.coords.latitude, ThisPosition.coords.longitude);
FloodMap.setCenter(me);
// move my marker to my spot
if (debug) console.log(MyPosMarker);
placeMarker(MyPosMarker, me);
LayersPanelState(false);
Cleanup();
});
FloodMap.controls[google.maps.ControlPosition.RIGHT_CENTER].push(centerControlDiv);
// add ??????????????????????????????????
// ------------------------------
const helpControlDiv = document.getElementById('helpControl');
helpControlDiv.addEventListener("click", () => {
LayersPanelState(false);
Cleanup();
function OpenAboutWindow() {
window.open('/reports/about.php','newwindow', config='height=100%,width=100%,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no');
// settimeout( function(){document.location.href='/My_Folder/PHP/file_2.php'}, 1000 );
}
OpenAboutWindow();
});
// layers buttons
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(FloodIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(FlowersIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(WaterLevelIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(CroudLevelIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(SnowIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(RainIdControl);
// FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(HeatIdControl);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(FloodIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(FlowersIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(WaterLevelIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(CroudLevelIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(SnowIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(RainIdControlImg);
FloodMap.controls[google.maps.ControlPosition.LEFT_CENTER].push(HeatIdControlImg);
// add the Show sorted list of places
// ------------------------------
const listControlDiv = document.getElementById('listControl');
listControlDiv.addEventListener("click", () => {
PrepareListPlaces();
LayersPanelState(false);
Cleanup();
if (ListModal)
ListModal.style.display = "block";
});
FloodMap.controls[google.maps.ControlPosition.RIGHT_CENTER].push(listControl);
// add the Add Report map control
// ------------------------------
const reportControlDiv = document.getElementById('reportControl');
reportControlDiv.addEventListener("click", () => {
document.getElementById('pac-input').blur();
ToggleSlideBar(document.getElementById('SelectReportType'));
LayersPanelState(false);
});
FloodMap.controls[google.maps.ControlPosition.RIGHT_CENTER].push(reportControlDiv);
// help button
FloodMap.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(helpControl);
// -------------------------------------------------------------
// -------------------------------------------------------------
// Create the search box and link it to the UI element.
const input = document.getElementById("pac-input");
const searchBox = new google.maps.places.SearchBox(input);
FloodMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(input);
// Bias the SearchBox results towards current map's viewport.
FloodMap.addListener("bounds_changed", () => {
searchBox.setBounds(FloodMap.getBounds());
});
// markers of all returned places
let xmarkers = [];
// Listen for the event fired when the user selects a prediction and retrieve - more details for that place.
searchBox.addListener("places_changed", () => {
const searchPlaces = searchBox.getPlaces();
// document.getElementById('map-canvas-around-me').focus();
document.getElementById('pac-input').blur();
Cleanup();
// no place info - nothing to do
if (searchPlaces.length === 0) {
// return;
}
// Clear out the old markers.
xmarkers.forEach((marker) => {
marker.setMap(null);
});
xmarkers = [];
// For each place, get the icon, name and location.
const bounds = new google.maps.LatLngBounds();
searchPlaces.forEach((place) => {
if (!place.geometry || !place.geometry.location) {
return;
}
placeMarker(MyPosMarker, place.geometry.location, FloodMap);
if (place.geometry.viewport) {
// Only geocodes have viewport.
bounds.union(place.geometry.viewport);
} else {
bounds.extend(place.geometry.location);
}
});
FloodMap.fitBounds(bounds);
});
// -------------------------------------------------------------
// -------------------------------------------------------------
var hereIcon = {
url: "../images/pin.jpg", // url
scaledSize: new google.maps.Size(30, 30), // scaled size
origin: new google.maps.Point(0, 0), // origin
anchor: new google.maps.Point(15, 15) // anchor
};
// set a standard position icon by google maps
MyPosMarker = InitializeMyPositionMarker(MyPosMarker, MyTempPosition, FloodMap, false, hereIcon);
// listem to click events - and show my position pin on the map
google.maps.event.addListener(FloodMap, 'click', function (e) {
if (debug) console.log('click placing marker');
document.getElementById('pac-input').blur();
// close all infowindows when clicking somewhere
infoWindow.close();
// close all popups when clicking the map
Cleanup();
// place a marker on the map
placeMarker(MyPosMarker, e.latLng, FloodMap);
// re center the map
FloodMap.panTo(MyPosMarker.getPosition());
});
// inner html of info window
function InfoWindowContentBuilder(aago, awhen, acomment, aleftCount, alikeCount, arightCount, adislikeCount, alat, alon, LastLiked = null, heatIndex = '') {
// ---------------------------
// the Like icons, not visibla if like count is -1 (for example in meteorology heatId and RainId)
// ---------------------------
var likesPart =
(alikeCount === '-1') ?
'' :
'
' +
aleftCount +
'' +
// the Like or not text
'
' +
'' +
' בתוקף?' +
'' +
// the UnLike icon
'
' +
arightCount +
'' +
'
';
// ---------------------------
// want to show the heat index
if (heatIndex > 0) {
likesPart += 'עומס חום: ' + Math.ceil(heatIndex) + '°C [' + HeatLevel(heatIndex) + '] ';
}
var ToReturn =
'
' +
// time ago
'' + aago + '' +
// last like time
((LastLiked) ? ' (אושר ' + LastLiked + ') ' : ' ') +
// reported when?
awhen + ' ' +
// reported comment
'' + acomment + ' ' +
likesPart +
// navigation instructions - With Waze
// 'נווט לכאן
';
// navigation instructions - With google maps
'נווט לכאן' +
'';
return ToReturn;
}
// load different places (types) to different groups
var pinIcon = "../images/white.png";
ReportedPlaces.forEach(function (item) {
var leftCount = (item[9] === '0') ? '' : '
' + item[9] + '
';
var rightCount = (item[10] === '0') ? '' : '
' + item[10] + '
';
if (debug) console.log('>>>>>>>>>>>>> ' + item[13] + ' <<<<<<<<<<<<<<');
var amarker = SetAMarker(
FloodMap,
// point
new google.maps.LatLng(item[1], item[2]),
// name
item[7],
// user id = group
item[3],
// inner html of info window
InfoWindowContentBuilder(item[6], item[5], item[7], leftCount, item[8], rightCount, item[8], item[1], item[2], item[11], item[12]),
// icon
'../images/' + item[3] + item[0] + '.png',
// azimuth (wind direction), reported only if the speed is above 35 Kmh
((item[3] === 'HeatId') ? ((item[13] > 35) ? item[14] - 180 : -1) : -1)
);
});
}
function start() {
// TODO: back in android should only close the list panels, not leave the site
if (FeatureToggle) {
// window.onbeforeunload = confirmExit;
//
// function confirmExit() {
// console.log('exiting page');
// return "Message";
// }
}
if (debug) console.log('start index....................');
loadScriptAround();
// ---------------------------------
// go to full screen
// ---------------------------------
// try simply
requestFullScreenOnce('index start');
// listen to touch events and retry
$(document).on('click touchstart', requestFullScreenOnce('click touch start listener'));
/* standard */
document.addEventListener("fullscreenchange", function () {
fullScreen = true;
});
/* Firefox */
document.addEventListener("mozfullscreenchange", function () {
fullScreen = true;
});
/* Chrome, Safari and Opera */
document.addEventListener("webkitfullscreenchange", function () {
fullScreen = true;
});
/* IE / Edge */
document.addEventListener("msfullscreenchange", function () {
fullScreen = true;
});
// ---------------------------------
// go to full screen - END
// ---------------------------------
}
window.onload = start();
// ----------------------------------
האתר משתמש במיקומכם כדי להציג את המפה באופן נכון, מומלץ לאשר גישה למיקום בכדי ליהנות מכך.
לא נעשה כל שימוש במיקומכם אלא אם תדווחו דיווח כלשהו, ומיקום הדיווח יישמר.
כל שמירת המידע היא אנונימית לחלוטין!
האתר משתמש ב"עוגיות" בכדי לנהל את ההתמצאות, לא מומלץ לחסום עוגיות - דבר העלול לגרום להתנהגות לא יעילה של האתר.
הערות הצעות ורעיונות יתקבלו בברכה באמצעות המייל המצויין בדף ה"אודות".
האתר הוא למענכם ולשימושכם - אנא נהגו בו באחריות ואל תדווחו דיווחים סתמיים.