<html>
<head>
<title>Find the Words Highlighting Game - RJM Programming - March, 2024</title>
<style>
* {
font-family: Courier New;
margin: 0 0 0 0;
padding: 0 0 0 0;
}
body {
background-color: yellow;
}
textarea {
background-color: rgb(250,250,250);
text-shadow: -1px 1px 1px #952dff;
}
#myta {
background-color: white;
}
#results {
background-color: pink;
}
</style>
<script type='text/javascript'>
var minwordlength=location.search.split('min=')[1] ? Math.min(3,eval(decodeURIComponent(location.search.split('min=')[1].split('&')[0]))) : 3;
var maxwordlength=location.search.split('max=')[1] ? eval(decodeURIComponent(location.search.split('max=')[1].split('&')[0])) : 15;
var numlettersacross=location.search.split('across=')[1] ? eval(decodeURIComponent(location.search.split('across=')[1].split('&')[0])) : 76;
var numlettersdown=location.search.split('down=')[1] ? eval(decodeURIComponent(location.search.split('down=')[1].split('&')[0])) : 40;
var fontpixels=location.search.split('pixels=')[1] ? eval(decodeURIComponent(location.search.split('pixels=')[1].split('&')[0])) : 13;
var thesel='', showsel=false, lastsel='', lesssel='';
var linesarr=[], colsarr=[], ilines=0, icols=0;
var complines=[], origcomplines=[], diagl=0, isvalid=true, iiis=0, ioff=0, clickthere=true;
var twowordstocheck=['',''];
var eol=String.fromCharCode(10);
var tworesults=['',''];
var altsel='', firstval='';
var ish=false, rstart=-1, rend=-1, isd=false, isg0=false, isg1=false;
var xzhr=null, rhzx=null, curri=0, score=0, goes=0;
var sofar=';', documenttitle='', ovcont='';
var xnumlettersacross=eval(eval('' + eol.length) + eval('' + numlettersacross));
var indxofinterest=-1, oureol=eol;
var letteremojis=[], blankemojis=[], loweremojis=[], upperemojis=[];
function orflag(thiscc) {
var lri='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var dri=['127462','127463','127464','127465','127466','127467','127468','127469','127470','127471','127472','127473','127474','127475','127476','127477','127478','127479','127480','127481','127482','127483','127484','127485','127486','127487'];
var ccsuff='', ccchar=' ', cde='';
for (var iccsuff=0; iccsuff<thiscc.length; iccsuff++) {
ccchar=thiscc.substring(iccsuff, eval(1 + eval('' + iccsuff))).toUpperCase();
ccsuff+=String.fromCodePoint(dri[eval('' + lri.indexOf(ccchar))]); //'&#' + dri[eval('' + lri.indexOf(ccchar))] + ';';
cde='.';
}
return ccsuff;
}
function tailor() {
var argscanbe=prompt('Optionally change argument string presented (including blank out for none) in a refreshed Find the Word game. Cancel stays with the game you are playing.', '?across=' + numlettersacross + '&down=' + numlettersdown + '&fontpixels=' + fontpixels + '&wordlenmin=' + minwordlength + '&wordlenmax=' + maxwordlength);
if (argscanbe != null) {
location.href=document.URL.split('?')[0].split('#')[0] + argscanbe;
}
}
function changedState() {
if (rhzx.readyState == 4) {
if (rhzx.status == 200) {
//alert(rhzx.response);
//document.getElementById('results').innerHTML+=rhzx.response.replace(/\</g, '<').replace(/\>/g, '>') + ' ... <p>' + twowordstocheck[curri] + '</p>';
if ((rhzx.response.indexOf(twowordstocheck[curri].toLowerCase()) == 0 || rhzx.response.indexOf('<p>' + twowordstocheck[curri].toLowerCase() + '</p>') != -1) && twowordstocheck[curri].trim() != '' && rhzx.response.trim() != '') {
tworesults[curri]=twowordstocheck[curri];
score+=eval('' + twowordstocheck[curri].length);
document.getElementById('score').innerHTML=' Score: ' + score + '/' + goes;
document.getElementById('results').innerHTML+=' Well done ' + ' ... found English word ' + twowordstocheck[curri].toLowerCase() + ' ... worth ' + eval('' + twowordstocheck[curri].length) + '<br>';
document.title='Score: ' + score + '/' + goes;
}
if (curri == 0) {
curri++;
rhzx = new XMLHttpRequest();
rhzx.onreadystatechange=stateChanged;
rhzx.open('get','/PHP/surprise.php?iswordthere=' + twowordstocheck[curri].toLowerCase() + '&youllneverfindthis=y',true);
rhzx.send(null);
} else {
document.getElementById('score').innerHTML=' Score: ' + score + '/' + goes;
document.getElementById('myta').style.cursor='pointer';
document.getElementById('results').innerHTML+='<br><br> Ready for your next try!';
document.getElementById('myta').value=firstval; //document.getElementById('myta').value.toUpperCase();
document.getElementById('doverlay').innerHTML='';
document.getElementById('myta').style.opacity='1.0';
document.getElementById('myta').style.visibility='visible';
document.getElementById('myta').style.backgroundColor='white';
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
clickthere=false;
if (document.getElementById('mybut')) { document.getElementById('mybut').style.display='none'; }
}
lastsel='';
ish=false;
isd=false;
isg0=false;
isg1=false;
rstart=-1;
rend=-1;
ovcont='';
}
}
}
}
function stateChanged() {
if (xzhr.readyState == 4) {
if (xzhr.status == 200) {
//alert(xzhr.response);
//document.getElementById('results').innerHTML+=xzhr.response.replace(/\</g, '<').replace(/\>/g, '>') + ' ... <p>' + twowordstocheck[curri] + '</p>';
if ((xzhr.response.indexOf(twowordstocheck[curri].toLowerCase()) == 0 || xzhr.response.indexOf('<p>' + twowordstocheck[curri].toLowerCase() + '</p>') != -1) && twowordstocheck[curri].trim() != '' && xzhr.response.trim() != '') {
tworesults[curri]=twowordstocheck[curri];
score+=eval('' + twowordstocheck[curri].length);
document.getElementById('score').innerHTML=' Score: ' + score + '/' + goes;
document.getElementById('results').innerHTML+=' Well done ' + ' ... found English word ' + twowordstocheck[curri].toLowerCase() + ' ... worth ' + eval('' + twowordstocheck[curri].length) + '<br>';
}
if (curri == 0) {
curri++;
rhzx = new XMLHttpRequest();
rhzx.onreadystatechange=changedState;
rhzx.open('get','/PHP/surprise.php?iswordthere=' + twowordstocheck[curri].toLowerCase() + '&youllneverfindthis=y',true);
rhzx.send(null);
} else {
document.getElementById('score').innerHTML=' Score: ' + score + '/' + goes;
document.getElementById('myta').style.cursor='pointer';
document.getElementById('results').innerHTML+='<br><br> Ready for your next try!';
document.getElementById('myta').value=firstval; //document.getElementById('myta').value.toUpperCase();
document.getElementById('doverlay').innerHTML='';
document.getElementById('myta').style.opacity='1.0';
document.getElementById('myta').style.visibility='visible';
document.getElementById('myta').style.backgroundColor='white';
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
clickthere=false;
if (document.getElementById('mybut')) { document.getElementById('mybut').style.display='none'; }
}
ish=false;
isd=false;
isg0=false;
isg1=false;
rend=-1;
rstart=-1;
lastsel='';
ovcont='';
}
}
}
}
function pickletters() {
var valis='', randval=eval(Math.floor(Math.random() * 26) % 26), ihis='', lvalis='';
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
ioff=10000;
clickthere=false;
}
for (var ir=1; ir<=numlettersdown; ir++) {
lvalis='';
for (var ic=1; ic<=numlettersacross; ic++) {
valis+=String.fromCharCode(eval(randval + 'A'.charCodeAt(0)));
lvalis+=String.fromCharCode(eval(randval + 'A'.charCodeAt(0)));
if (eval(linesarr.length) < ir) {
linesarr.push(valis.slice(-1));
} else {
linesarr[eval(-1 + ir)]+=valis.slice(-1);
}
if (eval(colsarr.length) < ic) {
colsarr.push(valis.slice(-1));
} else {
colsarr[eval(-1 + ic)]+=valis.slice(-1);
}
ihis+=String.fromCharCode(eval(randval + 'A'.charCodeAt(0)));
randval=eval(Math.floor(Math.random() * 26) % 26);
}
origcomplines.push(lvalis);
lvalis='';
if (ir < 50) {
valis+=String.fromCharCode(10);
ihis+='<br>';
}
}
//alert(valis);
document.getElementById('myta').value=valis;
eol=document.getElementById('myta').value.substring(numlettersacross).split('A')[0].split('B')[0].split('C')[0].split('D')[0].split('E')[0].split('F')[0].split('G')[0].split('H')[0].split('I')[0].split('J')[0].split('K')[0].split('L')[0].split('M')[0].split('N')[0].split('O')[0].split('P')[0].split('Q')[0].split('R')[0].split('S')[0].split('T')[0].split('U')[0].split('V')[0].split('W')[0].split('X')[0].split('Y')[0].split('Z')[0];
oureol=eol;
var lris='ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
for (var ii=0; ii<lris.length; ii++) {
letteremojis.push(orflag(lris[ii]));
blankemojis.push(' '); // ' ';
loweremojis.push(lris[ii].toLowerCase()); // ' ';
upperemojis.push(lris[ii].toUpperCase()); // ' ';
}
firstval=document.getElementById('myta').value;
document.getElementById('mya').href=document.URL.split('#')[0];
}
function togglelem(insg) {
var outsg='';
var inarr=insg.split('');
for (var jin=0; jin<insg.length; jin++) {
if (insg.substring(jin).substring(0,1) == insg.substring(jin).substring(0,1).toLowerCase() && insg.substring(jin).substring(0,1) != insg.substring(jin).substring(0,1).toUpperCase()) {
outsg+=insg.substring(jin).substring(0,1).toUpperCase();
} else if (insg.substring(jin).substring(0,1) != insg.substring(jin).substring(0,1).toLowerCase() && insg.substring(jin).substring(0,1) == insg.substring(jin).substring(0,1).toUpperCase()) {
outsg+=insg.substring(jin).substring(0,1).toLowerCase();
} else {
outsg+=insg.substring(jin).substring(0,1)
}
}
return outsg;
}
function ovlem(insg) {
ovcont=insg.replace(/A/g, blankemojis[0]).replace(/B/g, blankemojis[1]).replace(/C/g, blankemojis[2]).replace(/D/g, blankemojis[3]).replace(/E/g, blankemojis[4]).replace(/F/g, blankemojis[5]).replace(/G/g, blankemojis[6]).replace(/H/g, blankemojis[7]).replace(/I/g, blankemojis[8]).replace(/J/g, blankemojis[9]).replace(/K/g, blankemojis[10]).replace(/L/g, blankemojis[11]).replace(/M/g, blankemojis[12]).replace(/N/g, blankemojis[13]).replace(/O/g, blankemojis[14]).replace(/P/g, blankemojis[15]).replace(/Q/g, blankemojis[16]).replace(/R/g, blankemojis[17]).replace(/S/g, blankemojis[18]).replace(/T/g, blankemojis[19]).replace(/U/g, blankemojis[20]).replace(/V/g, blankemojis[21]).replace(/W/g, blankemojis[22]).replace(/X/g, blankemojis[23]).replace(/Y/g, blankemojis[24]).replace(/Z/g, blankemojis[25]);
if (ovcont.trim() != '') {
if (2 == 22) {
document.getElementById('myta').value=ovcont;
//alert('ovcont=' + ovcont);
return ovcont;
} else {
document.getElementById('doverlay').innerHTML=document.getElementsByTagName('textarea')[0].outerHTML.replace(' style="', ' style="position:absolute;z-index:90;opacity:0.3;background-color:rgba(0,255,0,0.6);top:0px;left:0px;margin:0 0 0 0;padding:0 0 0 0;').replace('myta', 'tamy');
document.getElementById('myta').style.visibility='hidden';
document.getElementById('myta').style.opacity='0.1';
document.getElementById('tamy').value=ovcont;
//alert(decodeURIComponent(document.getElementById('myta').getAttribute('data-alt')));
return decodeURIComponent(document.getElementById('myta').getAttribute('data-alt')).replace(/a/g, blankemojis[0]).replace(/b/g, blankemojis[1]).replace(/c/g, blankemojis[2]).replace(/d/g, blankemojis[3]).replace(/e/g, blankemojis[4]).replace(/f/g, blankemojis[5]).replace(/g/g, blankemojis[6]).replace(/h/g, blankemojis[7]).replace(/i/g, blankemojis[8]).replace(/j/g, blankemojis[9]).replace(/k/g, blankemojis[10]).replace(/l/g, blankemojis[11]).replace(/m/g, blankemojis[12]).replace(/n/g, blankemojis[13]).replace(/o/g, blankemojis[14]).replace(/p/g, blankemojis[15]).replace(/q/g, blankemojis[16]).replace(/r/g, blankemojis[17]).replace(/s/g, blankemojis[18]).replace(/t/g, blankemojis[19]).replace(/u/g, blankemojis[20]).replace(/v/g, blankemojis[21]).replace(/w/g, blankemojis[22]).replace(/x/g, blankemojis[23]).replace(/y/g, blankemojis[24]).replace(/z/g, blankemojis[25]);
}
}
return insg;
}
function newhlem(insg) {
return insg.replace(/a/g, letteremojis[0]).replace(/b/g, letteremojis[1]).replace(/c/g, letteremojis[2]).replace(/d/g, letteremojis[3]).replace(/e/g, letteremojis[4]).replace(/f/g, letteremojis[5]).replace(/g/g, letteremojis[6]).replace(/h/g, letteremojis[7]).replace(/i/g, letteremojis[8]).replace(/j/g, letteremojis[9]).replace(/k/g, letteremojis[10]).replace(/l/g, letteremojis[11]).replace(/m/g, letteremojis[12]).replace(/n/g, letteremojis[13]).replace(/o/g, letteremojis[14]).replace(/p/g, letteremojis[15]).replace(/q/g, letteremojis[16]).replace(/r/g, letteremojis[17]).replace(/s/g, letteremojis[18]).replace(/t/g, letteremojis[19]).replace(/u/g, letteremojis[20]).replace(/v/g, letteremojis[21]).replace(/w/g, letteremojis[22]).replace(/x/g, letteremojis[23]).replace(/y/g, letteremojis[24]).replace(/z/g, letteremojis[25]);
}
function hlem(insg) {
return insg;
}
function lem(insg) {
return insg.replace(/a/g, letteremojis[0]).replace(/b/g, letteremojis[1]).replace(/c/g, letteremojis[2]).replace(/d/g, letteremojis[3]).replace(/e/g, letteremojis[4]).replace(/f/g, letteremojis[5]).replace(/g/g, letteremojis[6]).replace(/h/g, letteremojis[7]).replace(/i/g, letteremojis[8]).replace(/j/g, letteremojis[9]).replace(/k/g, letteremojis[10]).replace(/l/g, letteremojis[11]).replace(/m/g, letteremojis[12]).replace(/n/g, letteremojis[13]).replace(/o/g, letteremojis[14]).replace(/p/g, letteremojis[15]).replace(/q/g, letteremojis[16]).replace(/r/g, letteremojis[17]).replace(/s/g, letteremojis[18]).replace(/t/g, letteremojis[19]).replace(/u/g, letteremojis[20]).replace(/v/g, letteremojis[21]).replace(/w/g, letteremojis[22]).replace(/x/g, letteremojis[23]).replace(/y/g, letteremojis[24]).replace(/z/g, letteremojis[25]);
}
function preshowthesel() {
if (showsel) {
if (rend >= 0 && rstart >= 0) {
if (!clickthere) {
setTimeout(preshowthesel, 5000);
return '';
}
if (isd || isg0 || isg1) {
if (altsel.trim() != '' && thesel != '') {
//alert('here ' + document.getElementById('myta').value.indexOf(thesel) + ' ... ' + altsel)
document.getElementById('myta').setAttribute('data-alt', encodeURIComponent(document.getElementById('myta').value.replace(thesel.substring(0,eval('' + altsel.length)), hlem(altsel))));
document.getElementById('myta').value=ovlem(document.getElementById('myta').value.replace(thesel.substring(0,eval('' + altsel.length)), lem(altsel)));
} else if (altsel.trim() != '' && lastsel != '') {
//alert('hEre ' + document.getElementById('myta').value.indexOf(lastsel) + ' ... ' + altsel)
document.getElementById('myta').setAttribute('data-alt', encodeURIComponent(document.getElementById('myta').value.replace(lastsel.substring(0,eval('' + altsel.length)), lem(altsel))));
document.getElementById('myta').value=ovlem(document.getElementById('myta').value.replace(lastsel.substring(0,eval('' + altsel.length)), lem(altsel)));
} // else {
//alert('Why? ' + thesel);
//}
} else if (ish) {
if (eval('' + rstart) > 0) {
document.getElementById('myta').setAttribute('data-alt', encodeURIComponent(document.getElementById('myta').value.substring(0,rstart).toUpperCase() + hlem(document.getElementById('myta').value.substring(rstart).substring(0, eval(eval('' + rend) - eval('' + rstart) )).toLowerCase()) + document.getElementById('myta').value.substring(rend).toUpperCase()));
document.getElementById('myta').value=togglelem(document.getElementById('myta').value.substring(0,rstart).toUpperCase() + hlem(document.getElementById('myta').value.substring(rstart).substring(0, eval(eval('' + rend) - eval('' + rstart) )).toLowerCase()) + document.getElementById('myta').value.substring(rend).toUpperCase());
} else {
document.getElementById('myta').setAttribute('data-alt', encodeURIComponent(hlem(document.getElementById('myta').value.substring(rstart).substring(0, eval(eval('' + rend) - eval('' + rstart) )).toLowerCase()) + document.getElementById('myta').value.substring(rend).toUpperCase()));
document.getElementById('myta').value=togglelem(hlem(document.getElementById('myta').value.substring(rstart).substring(0, eval(eval('' + rend) - eval('' + rstart) )).toLowerCase()) + document.getElementById('myta').value.substring(rend).toUpperCase());
}
}
}
altsel=' ';
}
}
function showthesel() {
var uwords=[], iuw=1, ils=0;
if (showsel) {
if (!clickthere) {
setTimeout(showthesel, 5000);
return '';
}
document.getElementById('results').innerHTML=documenttitle + '<br><br>';
document.title='Score:' + document.getElementById('score').innerHTML.split('Score:')[1] + ' ... Find the Words Highlighting Game - RJM Programming - March, 2024';
document.getElementById('myta').style.cursor='progress';
//document.getElementById('myta').setAttribute('disabled', true);
showsel=false;
if (lastsel != thesel) {
lastsel=thesel;
thesel='';
}
if (lastsel != '' && thesel == '') {
curri=0;
goes++;
xzhr = new XMLHttpRequest();
xzhr.onreadystatechange=stateChanged;
xzhr.open('get','/PHP/surprise.php?iswordthere=' + twowordstocheck[0].toLowerCase() + '&youllneverfindthis=y',true);
xzhr.send(null);
}
}
}
function handleSelection() { // thanks to https://stackoverflow.com/questions/46651479/reacting-to-selection-changes-in-an-html-textarea
const activeElement = document.activeElement;
// Make sure this is your textarea
if (activeElement && activeElement.outerHTML.indexOf('<textarea') == 0) {
const range = {
start: activeElement.selectionStart,
end: activeElement.selectionEnd
};
// Do something with your range
isvalid=true;
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
for (iiis=0; iiis<origcomplines.length; iiis++) {
if (thesel.indexOf(origcomplines[iiis]) == 0) {
isvalid=false;
}
}
}
if (isvalid && eval('' + range.end) > eval('' + range.start)) {
thesel=(activeElement.value.substring(range.start).substring(0, eval(eval('' + range.end) - eval('' + range.start) )));
lesssel=thesel;
var huheol=eol;
if (huheol == '') { huheol=String.fromCharCode(10); }
while (lesssel.indexOf(huheol) != -1) {
lesssel=lesssel.replace(huheol, '');
}
complines=(thesel + '~').replace(huheol + '~', '').replace('~','').split(huheol);
//diagl=eval('' + complines.length);
//diagl+=eval(eval(-1 + eval('' + complines.length)) * 80);
//document.title='' + eval('' + lesssel.length) + ' vs ' + eval(eval(eval(-1 + eval('' + complines.length)) * 80) + eval(2 - eval('' + complines.length)));
if (sofar.indexOf(';' + thesel + ';') != -1) {
document.title=document.title.replace('Score:','Score+'); //'Score :' + document.getElementById('score').innerHTML.split('Score:')[1] + ' ... Repeat selection ...';
} else if (sofar.indexOf(';' + thesel + ';') == -1 && eval('' + complines.length) >= minwordlength && eval('' + complines.length) <= maxwordlength && eval('' + lesssel.length) == eval(eval(eval('' + complines.length) + eval(eval(-1 + eval('' + complines.length)) * numlettersacross)))) {
// 3 goes with 163 (2x80 + 3) or 159 (2x80 - 1)
// 4 goes with 244 (3x80 + 4) or 238 (3x80 - 2)
// 5 goes with 325 (4x80 + 5) or 317 (4x80 - 3)
icols=0;
twowordstocheck=[lesssel.substring(icols).toUpperCase().substring(0,1), lesssel.substring(icols).toUpperCase().substring(0,1)];
tworesults=['',''];
//eol=complines[1].substring(numlettersacross);
xnumlettersacross=eval(eval('' + eol.length) + eval('' + numlettersacross));
altsel=thesel.substring(0,1).toLowerCase() + complines[0].substring(1).split(eol)[0] + eol;
rstart=eval('' + range.start);
rend=eval('' + range.end);
indxofinterest=eval(rstart % eval(1 * eval(eval('' + eol.length) + eval('' + numlettersacross))));
indxofinterest++;
oureol=eol;
for (ilines=1; ilines<eval('' + complines.length); ilines++) {
if (eval(1 + ilines) >= eval('' + complines.length)) { oureol=''; }
icols+=eval(1 + numlettersacross);
if (indxofinterest > 0) {
altsel+=complines[ilines].substring(0,indxofinterest).toUpperCase() + complines[ilines].substring(indxofinterest).substring(0,1).toLowerCase() + complines[ilines].substring(eval(1 + indxofinterest)).toUpperCase() + oureol;
} else {
altsel+=complines[ilines].substring(0,1).toLowerCase() + complines[ilines].substring(1).toUpperCase() + oureol;
}
indxofinterest++;
twowordstocheck[0]+=lesssel.substring(icols).toUpperCase().substring(0,1);
//alert('twowordstocheck_so_far=' + twowordstocheck[0] + ' ilines=' + ilines + ' rstart % xnumlettersacross+=' + eval(rstart % xnumlettersacross) + ' rstart % numlettersacross=' + eval(rstart % numlettersacross) + ' rstart=' + rstart + ' rend=' + rend + ' complines[ilines]=' + complines[ilines] + ' altsel_so_far=' + altsel);
twowordstocheck[1]=lesssel.substring(icols).toUpperCase().substring(0,1) + twowordstocheck[1];
}
altsel+=thesel.substring(rend);
//alert('twowordstocheck_so_far=' + twowordstocheck[0] + ' ilines=' + ilines + ' rstart % xnumlettersacross+=' + eval(rstart % xnumlettersacross) + ' rstart % numlettersacross=' + eval(rstart % numlettersacross) + ' rstart=' + rstart + ' rend=' + rend + ' complines[ilines]=' + complines[ilines] + ' altsel_so_far=' + altsel);
document.title='Left Diagonal words ' + twowordstocheck[0] + ' and ' + twowordstocheck[1] + ' being checked ...';
documenttitle=' ' + document.title;
document.getElementById('results').innerHTML=documenttitle;
document.getElementById('myta').style.backgroundColor='rgb(230,230,230)';
if (document.getElementById('mybut')) { document.getElementById('mybut').disabled=false; document.getElementById('mybut').style.display='block'; }
sofar+=thesel + ';';
//document.getElementById('myta').style.cursor='progress';
if (!showsel) { setTimeout(preshowthesel, eval(ioff + 4000)); setTimeout(showthesel, eval(ioff + 6000)); }
rstart=eval('' + range.start);
rend=eval('' + range.end);
isg1=true;
ish=false;
isd=false;
isg0=false;
showsel=true;
} else if (sofar.indexOf(';' + thesel + ';') == -1 && eval('' + complines.length) >= minwordlength && eval('' + complines.length) <= maxwordlength && eval('' + lesssel.length) == eval(eval(eval(-1 + eval('' + complines.length)) * numlettersacross) + eval(2 - eval('' + complines.length)))) {
// 3 goes with 163 (2x80 + 3) or 159 (2x80 - 1)
// 4 goes with 244 (3x80 + 4) or 238 (3x80 - 2)
// 5 goes with 325 (4x80 + 5) or 317 (4x80 - 3)
icols=0;
twowordstocheck=[lesssel.substring(icols).toUpperCase().substring(0,1), lesssel.substring(icols).toUpperCase().substring(0,1)];
tworesults=['',''];
sofar+=thesel + ';';
//eol=complines[1].substring(numlettersacross);
xnumlettersacross=eval(eval('' + eol.length) + eval('' + numlettersacross));
altsel=thesel.substring(0,1).toLowerCase() + complines[0].substring(1).split(eol)[0] + eol;
rstart=eval('' + range.start);
rend=eval('' + range.end);
indxofinterest=eval(rstart % eval(1 * eval(eval('' + eol.length) + eval('' + numlettersacross))));
indxofinterest--;
oureol=eol;
for (ilines=1; ilines<eval('' + complines.length); ilines++) {
if (eval(1 + ilines) >= eval('' + complines.length)) { oureol=''; }
icols+=eval(-1 + numlettersacross);
if (indxofinterest > 0) {
altsel+=complines[ilines].substring(0,indxofinterest).toUpperCase() + complines[ilines].substring(indxofinterest).substring(0,1).toLowerCase() + complines[ilines].substring(eval(1 + indxofinterest)).toUpperCase() + oureol;
} else {
altsel+=complines[ilines].substring(0,1).toLowerCase() + complines[ilines].substring(1).toUpperCase() + oureol;
}
indxofinterest--;
twowordstocheck[0]+=lesssel.substring(icols).toUpperCase().substring(0,1);
//alert('Twowordstocheck_so_far=' + twowordstocheck[0] + ' ilines=' + ilines + ' rstart % xnumlettersacross+=' + eval(rstart % xnumlettersacross) + ' rstart % numlettersacross=' + eval(rstart % numlettersacross) + ' rstart=' + rstart + ' rend=' + rend + ' complines[ilines]=' + complines[ilines] + ' altsel_so_far=' + altsel);
twowordstocheck[1]=lesssel.substring(icols).toUpperCase().substring(0,1) + twowordstocheck[1];
}
altsel+=thesel.substring(rend);
document.title='Right Diagonal words ' + twowordstocheck[0] + ' and ' + twowordstocheck[1] + ' being checked ...';
documenttitle=' ' + document.title;
document.getElementById('results').innerHTML=documenttitle;
document.getElementById('myta').style.backgroundColor='rgb(245,245,245)';
if (document.getElementById('mybut')) { document.getElementById('mybut').disabled=false; document.getElementById('mybut').style.display='block'; }
//document.getElementById('myta').style.cursor='progress';
if (!showsel) { setTimeout(preshowthesel, eval(ioff + 4000)); setTimeout(showthesel, eval(ioff + 6000)); }
rstart=eval('' + range.start);
rend=eval('' + range.end);
isg0=true;
ish=false;
isd=false;
isg1=false;
showsel=true;
} else if (sofar.indexOf(';' + thesel + ';') == -1 && eval('' + complines.length) >= minwordlength && eval('' + complines.length) <= maxwordlength && eval(-1 + eval('' + lesssel.length)) == eval(eval(eval(-1 + eval('' + complines.length)) * numlettersacross) + eval(0 * eval('' + complines.length)))) {
// 6 goes with 401
// 4 goes with 241
icols=0;
twowordstocheck=[lesssel.substring(icols).toUpperCase().substring(0,1), lesssel.substring(icols).toUpperCase().substring(0,1)];
tworesults=['',''];
sofar+=thesel + ';';
//eol=complines[1].substring(numlettersacross);
xnumlettersacross=eval(eval('' + eol.length) + eval('' + numlettersacross));
altsel=thesel.substring(0,1).toLowerCase() + complines[0].substring(1).split(eol)[0] + eol;
rstart=eval('' + range.start);
rend=eval('' + range.end);
indxofinterest=eval(rstart % eval(1 * eval(eval('' + eol.length) + eval('' + numlettersacross))));
oureol=eol;
for (ilines=1; ilines<eval('' + complines.length); ilines++) {
icols+=numlettersacross;
if (eval(1 + ilines) >= eval('' + complines.length)) { oureol=''; }
if (indxofinterest > 0) {
altsel+=complines[ilines].substring(0,indxofinterest).toUpperCase() + complines[ilines].substring(indxofinterest).substring(0,1).toLowerCase() + complines[ilines].substring(eval(1 + indxofinterest)).toUpperCase() + oureol;
} else {
altsel+=complines[ilines].substring(0,1).toLowerCase() + complines[ilines].substring(1).toUpperCase() + oureol;
}
twowordstocheck[0]+=lesssel.substring(icols).toUpperCase().substring(0,1);
//alert('TWowordstocheck_so_far=' + twowordstocheck[0] + ' indxofinterest=' + indxofinterest + ' ilines=' + ilines + ' rstart % xnumlettersacross+=' + eval(rstart % xnumlettersacross) + ' rstart % numlettersacross=' + eval(rstart % numlettersacross) + ' rstart=' + rstart + ' rend=' + rend + ' complines[ilines]=' + complines[ilines] + ' altsel_so_far=' + altsel);
twowordstocheck[1]=lesssel.substring(icols).toUpperCase().substring(0,1) + twowordstocheck[1];
}
altsel+=thesel.substring(rend);
//alert('TWowordstocheck_so_far=' + twowordstocheck[0] + ' indxofinterest=' + indxofinterest + ' ilines=' + ilines + ' rstart % xnumlettersacross+=' + eval(rstart % xnumlettersacross) + ' rstart % numlettersacross=' + eval(rstart % numlettersacross) + ' rstart=' + rstart + ' rend=' + rend + ' complines[ilines]=' + complines[ilines] + ' altsel_so_far=' + altsel);
document.title='Down words ' + twowordstocheck[0] + ' and ' + twowordstocheck[1] + ' being checked ...';
documenttitle=' ' + document.title;
document.getElementById('results').innerHTML=documenttitle;
document.getElementById('myta').style.backgroundColor='rgb(230,230,230)';
if (document.getElementById('mybut')) { document.getElementById('mybut').disabled=false; document.getElementById('mybut').style.display='block'; }
//document.getElementById('myta').style.cursor='progress';
if (!showsel) { setTimeout(preshowthesel, eval(ioff + 4000)); setTimeout(showthesel, eval(ioff + 6000)); }
rstart=eval('' + range.start);
rend=eval('' + range.end);
isd=true;
ish=false;
isg1=false;
isg0=false;
showsel=true;
} else if (sofar.indexOf(';' + thesel + ';') == -1 && thesel.indexOf(String.fromCharCode(10)) == -1 && eval('' + thesel.length) >= minwordlength && eval('' + thesel.length) <= maxwordlength) {
//alert('Horizontal word ' + eval('' + thesel.length) + ' ... ' + thesel);
twowordstocheck=[lesssel.toUpperCase(), lesssel.split('').reverse().join('').toUpperCase()];
tworesults=['',''];
sofar+=thesel + ';';
document.title='Horizontal words ' + twowordstocheck[0] + ' and ' + twowordstocheck[1] + ' being checked ...';
documenttitle=' ' + document.title;
document.getElementById('results').innerHTML=documenttitle;
document.getElementById('myta').style.backgroundColor='rgb(230,230,230)';
if (document.getElementById('mybut')) { document.getElementById('mybut').disabled=false; document.getElementById('mybut').style.display='block'; }
//document.getElementById('myta').style.cursor='progress';
if (!showsel) { setTimeout(preshowthesel, eval(ioff + 4000)); setTimeout(showthesel, eval(ioff + 6000)); }
showsel=true;
rstart=eval('' + range.start);
rend=eval('' + range.end);
ish=true;
isg1=false;
isd=false;
isg0=false;
} else {
document.title='Score:' + document.getElementById('score').innerHTML.split('Score:')[1] + ' ... Find the Words Highlighting Game - RJM Programming - March, 2024';
}
}
}
}
document.addEventListener('selectionchange', handleSelection);
</script>
</head>
<body onload='pickletters();'>
<table id=mytable><tr><td style='vertical-align:top;'>
<script type=text/javascript>
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
document.write("<textarea title='Double click here to change across and down and font size criteria for Find the Word game (no plurals). Use the Ready button after your selections to analyze your selection.' ondblclick='tailor();' style='overflow:hidden;font-size:" + fontpixels + "px;' cols=" + numlettersacross + " rows=" + numlettersdown + " id=myta></textarea>");
} else {
document.write("<textarea title='Double click here to change across and down and font size criteria for Find the Word game (no plurals).' ondblclick='tailor();' style='overflow:hidden;font-size:" + fontpixels + "px;' cols=" + numlettersacross + " rows=" + numlettersdown + " id=myta></textarea>");
}
</script>
</td><td style='vertical-align:top;'>
<h1> Find the <br> English Words <br> Highlighting Game</h1><br>
<h2> Horizontally, <br> Vertically, Diagonally<br> ... Reversed</h2><br>
<h3> RJM Programming <a id=mya target=_blank href='./textarea_find_words.html' title='New game'>-</a> March, 2024</h3><br><br>
<h4 id=score> Score: 0/1</h4><br><br>
<script type=text/javascript>
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
document.write("<button id=mybut onclick='clickthere=true;' style='display:block;' disabled>Ready to Analyze?</button><br><br>");
}
</script>
<div id=results></div>
<div id=doverlay></div>
</body>
</html>