// countries.js // July, 2023 // RJM Programming // Help out countries.html and countries.php var pos3=0, pos4=0, tdid='', poligono, punto, coone='', prectis; // var poligono = [[2,9],[8,6],[12,10],[15,2],[10,4],[5,1]]; // var punto = [6, 5]; function pointInPolygon(polygon, point) { // thanks to https://community.appinventor.mit.edu/t/geofence-check-if-a-point-is-inside-a-polygon-javascript-map/57091 var odd = false; for (var i = 0, j = polygon.length - 1; i < polygon.length; i++) { if (((polygon[i][1] > point[1]) !== (polygon[j][1] > point[1])) && (point[0] < ((polygon[j][0] - polygon[i][0]) * (point[1] - polygon[i][1]) / (polygon[j][1] - polygon[i][1]) + polygon[i][0]))) { odd = !odd; } j = i; } return odd; } function andlaterstill() { if (9 == 6) { // temporary if (tdid != '') { document.getElementById(tdid).innerHTML=document.getElementById(tdid).innerHTML.substring(0,1); } else if (document.getElementById('mytable').innerHTML.indexOf(clonedatatwo) != '') { document.getElementById('myh1').innerHTML=document.getElementById('myh1').innerHTML.split('')[0] + ''; } if (document.getElementsByTagName('div')[0].innerHTML.indexOf(clonedatatwo) != -1) { document.getElementsByTagName('div')[0].innerHTML=document.getElementsByTagName('div')[0].innerHTML.replace(clonedatatwo,''); } else if (document.getElementsByTagName('div')[0].innerHTML.indexOf(clonedatatwo.replace('dragging','')) != -1) { document.getElementsByTagName('div')[0].innerHTML=document.getElementsByTagName('div')[0].innerHTML.replace(clonedatatwo.replace('dragging',''),''); } else if (document.body.innerHTML.split('')[0].indexOf(' title=' + String.fromCharCode(34) + coone) != -1) { divs[ii].innerHTML=divs[ii].innerHTML.replace('z-index:24;', 'z-index:123;').replace('lime;', 'rgba(200,200,200,0.3);'); divs[ii].name='d' + tdid.replace(/\ /g, '_'); } } } function andqlater() { //alert('HeRe'); tdid=''; var ppig='[]', coo='', coos=[], ip=0; var squares; //=window.opener.document.getElementsByTagName('area'); if (window.opener) { if (window.opener.document.getElementsByTagName('body')[0]) { squares=window.opener.document.getElementsByTagName('area'); } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { squares=parent.document.getElementsByTagName('area'); } } } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { squares=parent.document.getElementsByTagName('area'); } } for (var ii=1; ii<=squares.length; ii++) { ppig='[]'; coos=squares[eval(-1 + ii)].coords.replace(/\ /g,',').split(','); ppig='[[' + coos[0] + ',' + coos[1] + ']]'; for (ip=2; ip'; } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { document.getElementById('myh1').innerHTML=''; window.open('//wikipedia.org/wiki/' + encodeURIComponent(tdid.replace(/\ /g,'_')),'_blank','top=180,left=' + eval(-350 + screen.width) + ',width=350,height=600'); } } } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { document.getElementById('myh1').innerHTML=''; window.open('//wikipedia.org/wiki/' + encodeURIComponent(tdid.replace(/\ /g,'_')),'_blank','top=180,left=' + eval(-350 + screen.width) + ',width=350,height=600'); } } return tdid; } } } console.log('tdid=' + tdid); //setTimeout(andlaterstill, 100); return ''; } window.addEventListener("DOMContentLoaded", () => { const source = document.querySelector("#mg"); console.log('source.id=' + source.id); source.addEventListener("dragstart", (ev) => { console.log("dragStart"); // Change the source element's background color // to show that drag has started ev.currentTarget.classList.add("dragging"); // Clear the drag data cache (for all formats/types) ev.dataTransfer.clearData(); // Set the drag's format and data. // Use the event target's id for the data ev.dataTransfer.setData("text/plain", ev.target.id); //ev.dataTransfer.setData("text/html", ev.target.outerHTML); }); source.addEventListener("dragend", (ev) => ev.target.classList.remove("dragging") ); const target = wod('body'); //window.opener.document.getElementsByTagName('body')[0]; target.id='usemap'; console.log('target.id=' + target.id); target.addEventListener("dragover", (ev) => { console.log("dragOver"); ev.preventDefault(); }); target.addEventListener("drop", (ev) => { console.log("Drop"); ev.preventDefault(); // Get the data, which is the id of the source element const data = ev.dataTransfer.getData("text"); const source = document.getElementById(data); var prectis=getprectis(); console.log('' + ev.target.id); if (!document.getElementById('callback')) { if (('' + ev.target.id).substring(0,2) == 'im') { score+=eval(ev.target.innerHTML.substring(0,1)); } } else if (1 == 1) { //document.getElementById('callback')) { secs++; if (('' + ev.target.getAttribute('data-answer')) == ('' + document.getElementById('mg').getAttribute('data-answer'))) { score++; document.getElementById('score').innerHTML='Score: ' + score + '/' + secs + ''; } else { document.getElementById('score').innerHTML='Score: ' + score + '/' + secs + ''; alert('Correct answer was ' + document.getElementById('mg').getAttribute('data-answer')); } location.href=document.getElementById('callback').value + '?score=' + score + '&secs=' + secs; } if (1 == 2) { //clonedatatwo=document.getElementById('source').outerHTML; //document.getElementById('mytable').innerHTML=document.getElementById('mytable').innerHTML.replace(clonedatatwo, ''); //ev.target.innerHTML=ev.target.innerHTML.substring(0,1) + clonedatatwo; } else if ((9 == 9 || ('' + ev.target.id).substring(0,2) == 'im')) { //clonedatatwo=document.getElementById('source').outerHTML; // // andqlater(); //document.getElementById('mytable').innerHTML=document.getElementById('mytable').innerHTML.replace(clonedatatwo, ''); //ev.target.innerHTML=ev.target.innerHTML.substring(0,1) + clonedatatwo; //document.getElementById('myh1').appendChild(source); //if (('' + ev.target.id).substring(0,2) != 'im') { //document.getElementById('myh1').insertAdjacentHTML('beforeend', clonedatatwo); //} else { //ev.target.insertAdjacentHTML('beforeend', clonedatatwo); //} } else { ev.target.appendChild(source); } prectis=getprectis(); if (ev.touches) { if (ev.touches[0].pageX) { pos3 = ev.touches[0].pageX; pos4 = ev.touches[0].pageY; } else { pos3 = ev.touches[0].clientX; pos4 = ev.touches[0].clientY; } console.log('pos3 = ' + pos3 + ',pos4 = ' + pos4); } else if (ev.clientX || ev.clientY) { pos3 = ev.clientX; pos4 = ev.clientY; console.log('pos3 = ' + pos3 + ' ,pos4 = ' + pos4); } else { pos3 = ev.pageX; pos4 = ev.pageY; console.log('pos3 = ' + pos3 + ', pos4 = ' + pos4); } //alert('[' + pos3 + ',' + pos4 + ']'); var wop=0; if (window.opener) { if (window.opener.document.getElementsByTagName('body')[0]) { window.opener.derivethislong(pos3); window.opener.derivethislat(pos4); wop=window.opener.getzoom(); } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { parent.derivethislong(pos3); parent.derivethislat(pos4); wop=parent.getzoom(); } } } else if (window.parent) { if (parent.document.getElementsByTagName('body')[0]) { parent.derivethislong(pos3); parent.derivethislat(pos4); wop=parent.getzoom(); } } //pos3+=eval(wop * prectis.left); //pos4+=eval(wop * prectis.top); var xwop='1'; console.log('prectis.left/top=' + prectis.left + '/' + prectis.top); //punto=eval('[' + eval(eval('' + pos3) / eval('' + wop)) + ',' + eval(eval('' + pos4) / eval('' + wop)) + ']'); punto=eval('[' + eval(eval(-prectis.left * eval('' + wop) + eval('' + pos3)) / eval('' + wop)) + ',' + eval(eval(-prectis.top * eval('' + wop) + eval('' + pos4)) / eval('' + wop)) + ']'); console.log(punto); andqlater(); }); //const reset = document.querySelector("#reset"); //reset.addEventListener("click", () => document.location.reload()); }); function dragorig() { if (document.getElementById('mg')) { document.getElementById('mg').draggable='true'; } else { setTimeout(dragorig, 5000); } } // setTimeout(dragorig, 5000);