<html>
<head>
<title>Transparent Textarea - RJM Programming - March, 2026</title>
<meta charset=UTF-8/>
<style>
/* Thanks to https://www.google.com/search?q=allow+hosted+element+overflow+in+y+but+not+change+body+element+height&rlz=1C5OZZY_en&oq=allow+hosted+element+overflow+in+y+but+not+change+body+element+height&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRiPAtIBCTI2NzM1ajBqN6gCALACAA&sourceid=chrome&ie=UTF-8 */
html, body {
height: 100%; /* or 100vh */
margin: 0;
padding: 0;
}
</style>
<script type=text/javascript src=/ytaudioonly.js defer></script>
<script type=text/javascript>
var sofarval='', sofars=[], sofarothers=[], sofarurls=[], sofarposs=[], posi=0, sofarback='',sofarrep='',sofarsiz='',sofarpos='', woo=null;
var lastsofarval=sofarval, img=null, shadowize=true;
var poss=['left top','right bottom','right top','left bottom','center top','left center','right center','center bottom','center venter'];
var ok=false, divelem=null, tao=null;
var xtypes = ['image/tif', 'audio/x-m4r','audio/wav','audio/x-wav','audio/x-pn-realaudio','audio/x-mpegurl','audio/x-aiff','audio/mpeg','audio/mid',
'audio/basic','audio/ogg','video/x-sgi-movie','video/x-msvideo','video/quicktime','audio/mp3','video/mp4','video/mpeg',
'video/x-la-asf','video/ogg','video/webm','audio/mp4', 'image/jpeg', 'image/jpeg', 'image/png', 'image/gif', 'image/bmp',
'text/html', 'text/html', 'text/html', 'text/javascript', 'text/css', 'text/plain', 'text/xml', 'text/csv',
'application/vnd.ms-word', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/x-php', 'application/pdf', 'IMAGE/pdf',
'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.ms-powerpoint',
'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'video/mp4'];
var xexts = ['.tif','.m4r','.wav','.wav','.ram','.m3u','.aiff','.mp3','.rmi',
'.snd','.ogg','.movie','.avi','.mov','.mp3','.m4v','.mpeg',
'.lsx','.ogv','.webm','.m4a', '.jpg', '.jpeg', '.png', '.gif', '.bmp',
'.htm', '.html', '.htmls', '.js', '.css', '.txt', '.xml', '.csv',
'.doc', '.docx', '.php', '.pdf', '.pdf',
'.pptx', '.ppt',
'.xls', '.xlsx', '.mp4'];
var thissuff='';
var nextsuff='2';
var xfill='';
var acontod=null, divelem=null, gtao=null;
var startid='s0', endid='s';
var thissid='';
var canedit=false;
var contprefix='', contsuffix='';
var notfirsttime=true;
var spanolast=null;
var itchanged=false, ifnum=0, ifrnum=0;
var hd='"';
var xname='';
var origxname=xname;
var makeuppermost=null;
/**
* Convert a string to HTML entities ... Thanks to https://stackoverflow.com/questions/1354064/how-to-convert-characters-to-html-entities-using-plain-javascript
*/
String.prototype.toHtmlEntities = function() {
return this.replace(/[\u00A0-\u2666]/g, function(c) {
return ''+c.charCodeAt(0).toString(16).toUpperCase()+';';
});
};
function documentgetElementById(insid) {
if (!acontod) { acontod=document; }
if (acontod.getElementById(insid)) {
thissid=insid;
acontod.getElementById(insid).style.backgroundColor='#daddfa';
setTimeout(function(){ acontod.getElementById(thissid).style.backgroundColor='#fadadd'; }, 1500);
}
return acontod.getElementById(insid);
}
function massage(tv) {
var tscnt=0, itv=0;
tv=inline_linking(tv);
var tlls=tv.split('<br>');
canedit=false;
contprefix=('<span>').replace('<span>','');
contsuffix='';
if (document.getElementById('dcont')) {
document.getElementById('dcont').className='edit-non-able';
}
if (document.getElementById('tdleft')) {
document.getElementById('tdleft').style.backgroundRepeat='no-repeat';
document.getElementById('tdleft').className='tdnone';
if (document.getElementById('scont')) {
document.getElementById('tdleft').title=document.getElementById('scont').innerHTML;
}
}
var proposedcs=contsuffix.replace('</span>','<span>');
var tslist=[], selis='<select style=background-color:#fadadd; id=thesel onchange="if (this.value.length > 0) { parent.documentgetElementById(this.value).scrollIntoView(); } this.value=this.getAttribute(' + "'data-orv'" + ');"><option value=></option></select>';
for (itv=0; itv<tlls.length; itv++) {
if (tlls[itv].indexOf(' GMT') != -1 && eval('' + tlls[itv].split(':').length) >= 3) {
tslist.push(tlls[itv]);
selis=selis.replace('</select>', '<option value=s' + tscnt + '>' + tlls[itv].replace(/\ /g,' ') + '</option></select>');
parent.endid='s' + tscnt;
tscnt++;
}
}
tscnt=0;
var bprev='<button onclick="parent.documentgetElementById(' + "'s'" + ').scrollIntoView();">↖️</button> ';
var baftr='<button onclick="parent.documentgetElementById(' + "'s'" + ').scrollIntoView();">↘️</button>';
for (itv=0; itv<tlls.length; itv++) {
if (tlls[itv].indexOf(' GMT') != -1 && eval('' + tlls[itv].split(':').length) >= 3) {
if ( tv.indexOf('<br>' + tlls[itv] + '<br>') != -1 && canedit) {
if (proposedcs != '') { contprefix=proposedcs; }
proposedcs='';
tv=tv.replace('<br>' + tlls[itv] + '<br>', contsuffix + '<br><button onclick="parent.documentgetElementById(parent.startid).scrollIntoView();">↖️ ↖️</button> ' + bprev.replace('s',('s' + eval(-1 + tscnt)).replace('s-1','s0')) + selis.replace('thesel', 's' + tscnt + ' data-orv=s' + tscnt).replace('>' + tlls[itv].replace(/\ /g,' ') + '<', ' selected>' + tlls[itv].replace(/\ /g,' ') + '<').replace('></', "''>" + (tlls[itv].replace(/\ /g,' ') == '' ? tlls[itv].replace(/\ /g,' ') : 'Journal timestamps ...') + '</') + ' ' + baftr.replace('s',('s' + eval(1 + tscnt))) + ' <button onclick="parent.documentgetElementById(parent.endid).scrollIntoView();">↘️ ↘️</button>' + '<br>' + contsuffix.replace('</span>', '<span class=sed data-ts=' + tlls[itv].replace(/\ /g,'_') + ' id=t' + tscnt + ' onblur=parent.sedit(this); contenteditable=true>'));
} else if (tv.indexOf(tlls[itv] + '<br>') != -1 && canedit) {
tv=tv.replace(tlls[itv] + '<br>', '<button onclick="parent.documentgetElementById(parent.startid).scrollIntoView();">↖️ ↖️</button> ' + bprev.replace('s',('s' + eval(-1 + tscnt)).replace('s-1','s0')) + selis.replace('thesel', 's' + tscnt + ' data-orv=s' + tscnt).replace('>' + tlls[itv].replace(/\ /g,' ') + '<', ' selected>' + tlls[itv].replace(/\ /g,' ') + '<').replace('></', "''>" + (tlls[itv].replace(/\ /g,' ') == '' ? tlls[itv].replace(/\ /g,' ') : 'Journal timestamps ...') + '</') + ' ' + baftr.replace('s',('s' + eval(1 + tscnt))) + ' <button onclick="parent.documentgetElementById(parent.endid).scrollIntoView();">↘️ ↘️</button>' + '<br>' + contsuffix.replace('</span>', '<span class=sed data-ts=' + tlls[itv].replace(/\ /g,'_') + ' id=t' + tscnt + ' onblur=parent.sedit(this); contenteditable=true>'));
proposedcs='';
} else if (tv.indexOf('<br>' + tlls[itv]) != -1 && canedit) {
if (proposedcs != '') { contprefix=proposedcs; }
proposedcs='';
tv=tv.replace('<br>' + tlls[itv], '<br>', contsuffix + '<br><button onclick="parent.documentgetElementById(parent.startid).scrollIntoView();">↖️ ↖️</button> ' + bprev.replace('s',('s' + eval(-1 + tscnt)).replace('s-1','s0')) + selis.replace('thesel', 's' + tscnt + ' data-orv=s' + tscnt).replace('>' + tlls[itv].replace(/\ /g,' ') + '<', ' selected>' + tlls[itv].replace(/\ /g,' ') + '<').replace('></', "''>" + (tlls[itv].replace(/\ /g,' ') == '' ? tlls[itv].replace(/\ /g,' ') : 'Journal timestamps ...') + '</') + ' ' + baftr.replace('s',('s' + eval(1 + tscnt))) + ' <button onclick="parent.documentgetElementById(parent.endid).scrollIntoView();">↘️ ↘️</button>' + '' + contsuffix.replace('</span>', '<span class=sed data-ts=' + tlls[itv].replace(/\ /g,'_') + ' id=t' + tscnt + ' onblur=parent.sedit(this); contenteditable=true>'));
proposedcs='';
} else {
tv=tv.replace(tlls[itv], '<button onclick="parent.documentgetElementById(parent.startid).scrollIntoView();">↖️ ↖️</button> ' + bprev.replace('s',('s' + eval(-1 + tscnt)).replace('s-1','s0')) + selis.replace('thesel', 's' + tscnt + ' data-orv=s' + tscnt).replace('>' + tlls[itv].replace(/\ /g,' ') + '<', ' selected>' + tlls[itv].replace(/\ /g,' ') + '<').replace('></', "''>" + (tlls[itv].replace(/\ /g,' ') == '' ? tlls[itv].replace(/\ /g,' ') : 'Journal timestamps ...') + '</') + ' ' + baftr.replace('s',('s' + eval(1 + tscnt))) + ' <button onclick="parent.documentgetElementById(parent.endid).scrollIntoView();">↘️ ↘️</button>');
proposedcs='';
}
tscnt++;
}
}
setTimeout(function(){ var onerect=document.getElementById('djc').getBoundingClientRect(), tworect=document.getElementById('jc').getBoundingClientRect(); if (Math.abs(eval(eval(('' + onerect.top) - eval('' + tworect.top)))) > 20) { document.getElementById('jc').style.display='none'; } }, 6000);
return contprefix + tv + contsuffix;
}
function togglez() {
if (makeuppermost == tao) {
divelem.style.opacity='0.0';
divelem.style.zIndex=-1;
tao.style.zIndex=999;
makeuppermost=divelem;
} else {
tao.style.zIndex=-1;
divelem.style.opacity='1.0';
divelem.style.zIndex=999;
makeuppermost=tao;
}
}
function overlay() {
if (!tao) { tao=document.getElementById('ttext'); makeuppermost=tao; setInterval(togglez, 15000); }
if (!divelem) {
divelem = document.getElementById('djc');
gtao=tao;
var recto = tao.getBoundingClientRect();
if (divelem) { // thanks to ideas off http://stackoverflow.com/questions/12266320/copy-div-content-to-textarea-or-text-with-the-same-font-family-style
//divelem.style.display='flex';
//divelem.style.alignItems='flex-end';
//divelem.style.overflowY='scroll';
//divelem.style.flexFlow='column nowrap';
//divelem.style.flexDirection='column-reverse';
divelem.style.fontFamily = window.getComputedStyle(tao,null).fontFamily || tao.style.fontFamily || tao.currentStyle.getCurrentProperty('font-family');
divelem.style.fontSize = window.getComputedStyle(tao,null).fontSize || tao.style.fontSize || tao.currentStyle.getCurrentProperty('font-size');
divelem.style.border = window.getComputedStyle(tao,null).border || tao.style.border || tao.currentStyle.getCurrentProperty('border');
divelem.style.padding = window.getComputedStyle(tao,null).padding || tao.style.padding || tao.currentStyle.getCurrentProperty('padding');
divelem.style.margin = window.getComputedStyle(tao,null).margin || tao.style.margin || tao.currentStyle.getCurrentProperty('margin');
divelem.style.overflow = window.getComputedStyle(tao,null).overflow || tao.style.overflow || tao.currentStyle.getCurrentProperty('overflow');
divelem.style.position='absolute';
divelem.style.backgroundColor='transparent';
divelem.style.left='' + recto.left + 'px';
divelem.style.width='' + eval(-12 + recto.width) + 'px';
divelem.style.height='' + eval(-12 + recto.height) + 'px';
//divelem.style.top='' + eval(-12 + recto.top) + 'px';
divelem.style.top='' + eval(0 + recto.top) + 'px';
//alert('' + recto.top + ' ' + recto.height + ' ' + ' ... ' + 'eval(-12 + recto.top + recto.height)=' + eval(-12 + recto.top + recto.height));
//divelem.style.bottom='' + eval(-12 + recto.top + recto.height) + 'px';
divelem.style.zIndex='999';
//divelem.scrollTop=divelem.scrollHeight;
//setTimeout(function(){ divelem.scrollTop=divelem.scrollHeight; }, 4000);
//tao.style.color='transparent';
}
}
var taovalue=tao.value.replace(/</g,'<').replace(/>/g,'>');
while (taovalue.indexOf(String.fromCharCode(10)) != -1) {
taovalue=taovalue.replace(String.fromCharCode(10),'<br>');
}
document.getElementById('djc').innerHTML='<div id=indiv title="Overlay" style="text-shadow:-0.5px 0.5px 0.5px #ff0000;margin-top: auto !important;">' + (origxname == xname ? massage(taovalue) : xname) + '</div>';
}
function rez(ota) {
if (divelem && tao) { // thanks to ideas off http://stackoverflow.com/questions/12266320/copy-div-content-to-textarea-or-text-with-the-same-font-family-style
var recto = tao.getBoundingClientRect();
divelem.style.width='' + eval(-12 + recto.width) + 'px';
divelem.style.height='' + eval(-12 + recto.height) + 'px';
divelem.style.zIndex='999';
}
}
function inline_linking(aname) {
xname=aname;
origxname=xname;
var oklast=['A','E','I','M','Q','U','Y','c','g','k','o','s','w','0','4','8'];
var pword='', thiss='', thiscp='', xsuffix='', durl='';
xname=(xname + ' ').replace(/\#qrcode\ /g,' QrCoDe ').replace(/\#qrcode/g,' QrCoDe').replace(/\#play\ /g,' PlAy ').replace(/\#display\ /g,' DiSpLaY ').replace(/\#listen\ /g,' LiStEn ').replace(/\#embed\ /g,' EmBeD ').replace(/\#show\ /g,' ShOw ').replace(/\#background\ /g,' BaCkGrOuNd ').replace(/\ $/g,'');
xname=(xname + ' ').replace(/\#qrcode/g,' QrCoDe').replace(/\#play/g,' PlAy').replace(/\#display/g,' DiSpLaY').replace(/\#listen/g,' LiStEn').replace(/\#embed/g,' EmBeD').replace(/\#show/g,' ShOw').replace(/\#background/g,' BaCkGrOuNd').replace(/\ $/g,'');
var htes=xname.split('');
for (ih=1; ih<htes.length; ih++) {
if (ih < htes.length) {
thiss='';
thiscp="xname=xname.replace('',String.fromCodePoint()); htes=xname.split(''); ";
thiscp=thiscp.replace("',", (xname.substring(2 + xname.indexOf('')) + ' ').split('; ')[0] + ";',");
thiscp=thiscp.replace("()", '(' + (xname.substring(2 + xname.indexOf('')) + ' ').split('; ')[0].replace(/^x/g,'0x').replace(/\;\&\#x/g,',0x').replace(/\;\&\#/g,',') + ")");
eval(thiscp); //alert(thiscp);
}
}
var xxname=xname;
var delim=' ', pdelim=' ';
while (xxname.indexOf(String.fromCharCode(10)) != -1) {
xxname=xxname.replace(String.fromCharCode(10), ' ');
}
while (xxname.indexOf('<br>') != -1) {
xxname=xxname.replace('<br>', ' ');
}
var thewords=xxname.split(' ');
thewords.push('');
thewords.push('');
for (var jw=0; jw<thewords.length; jw++) {
xsuffix='';
pword=thewords[jw].replace(/PlAy/g,'').replace(/DiSpLaY/g,'').replace(/LiStEn/g,'').replace(/EmBeD/g,'').replace(/ShOw/g,'').replace(/BaCkGrOuNd/g,'').replace(/QrCoDe/g,'');
if (pword != '') {
pdelim='';
durl='';
if (xname.indexOf(' ' + pword) != -1) { pdelim=' '; }
if (xname.indexOf(String.fromCharCode(10) + pword) != -1) { pdelim=String.fromCharCode(10); }
if (xname.indexOf('<br>' + pword) != -1) { pdelim='<br>'; }
delim='';
if (xname.indexOf(pdelim + pword + ' ') != -1) { delim=' '; }
if (xname.indexOf(pdelim + pword + String.fromCharCode(10)) != -1) { delim=String.fromCharCode(10); }
if (xname.indexOf(pdelim + pword + '<br>') != -1) { delim='<br>'; }
if (pword.indexOf('data:') == 0) {
durl='<details contenteditable=false style="display:inline-flex;justify-content: space-between;align-items:flex-end;" open><summary title=' + pword + ' contenteditable=false></summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#' + pword + '"></iframe></details>';
ifrnum++;
switch (thewords[eval(2 + jw)]) {
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.rjmprogramming.com.au/recording_ideas.php#' + pword); }
xsuffix='<details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.rjmprogramming.com.au/recording_ideas.php#' + pword + '"></iframe></details>';
ifrnum++;
break;
default:
break;
}
switch (thewords[eval(2 + jw)]) {
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword); }
xsuffix='<details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword + '"></iframe></details>';
ifrnum++;
break;
default:
break;
}
switch (thewords[eval(1 + jw)]) {
case 'PlAy': // yt embed
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#play</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'BaCkGrOuNd': //yt background
if (durl.indexOf('data:image') != -1) {
durl=durl.replace('width:','opacity:0.0;width:').replace('<iframe ','<iframe id=if' + ifnum + ' data-ifid=if' + ifnum + ' onload="' + "setInterval(function(event){ document.getElementById('if" + ifnum + "').style.opacity='' + (eval('0' + document.getElementById('if" + ifnum + "').style.opacity) > 0.005 ? '0.0' : '1.0'); " + ' }, 20000);" ');
ifnum++;
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace(' style="',' style="background:url(' + pword + ');background-repeat:no-repeat;background-size:contain;').replace('></summary>',' style="opacity:0.5;color:lightgray;background:url(' + pword + ');background-repeat:repeat;background-size:contain;">#background</summary>') + xsuffix + delim);
} else {
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#background</summary>') + xsuffix + delim);
}
thewords[eval(1 + jw)]='';
break;
case 'QrCoDe': // inhouse qr code representation
//alert('0:' + xname);
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#qrcode</summary>').replace('#NOWAYJOSE' + pword,'#' + encodeURIComponent('https://www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#' + pword)) + xsuffix + delim);
ifrnum++;
//alert(xname);
thewords[eval(1 + jw)]='';
break;
case 'ShOw': // inhouse details closed
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#show</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'EmBeD': // yt embed
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#embed</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'LiStEn': // inline inhouse
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#listen</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'DiSpLaY': // yt embed
xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace('></summary>','>#display</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
default:
xname=xname.replace(pdelim + pword + delim,pdelim + durl + xsuffix + delim);
break;
}
} else if (pword.replace(/\@$/g,'').indexOf('@') > 0 && pword.indexOf('.') != -1 && eval('' + pword.split('@').length) >= 2) {
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('mailto:' + pword + '?subject=&body='); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Email to" contenteditable=false target=_top href="mailto:' + pword + '?subject=&body=">' + pword + '</a>' + delim);
} else if (pword == encodeURIComponent(pword) && eval('' + pword.trim().length) == 11 && oklast.indexOf(pword.slice(-1)) != -1) {
//alert('Pword=' + pword + ' pdelim=' + pdelim.replace(String.fromCharCode(10),'x')+ ' delim=' + delim.replace(String.fromCharCode(10),'x') + ' ' + xname);
//alert('35:' + thewords[eval(1 + jw)]);
switch (thewords[eval(2 + jw)]) {
case 'QrCoDe': // inhouse qr code representation
xsuffix='<details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword + '"></iframe></details>';
ifrnum++;
break;
default:
break;
}
switch (thewords[eval(1 + jw)]) {
case 'PlAy': // inhouse details open non-mobile playing unmuted
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
//xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '#play</a> <iframe width="560" height="315" src="https://www.youtube.com/embed/' + pword + '?si=FbkG3MuvQtUnTEg5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>' + xsuffix + delim);
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '</a><details contenteditable=false style="display:inline-block;" open><summary title=' + pword + ' contenteditable=false>#play</summary><iframe contenteditable=false style="width:100%;height:800px;display:block;" src="//www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=' + pword + '&youtube_duration=12345&email=&email=&emoji=on&i0=0&j0=12345&c0=on&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29="></iframe></details>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'BaCkGrOuNd': //yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '#background</a> <iframe width="560" height="315" src="https://www.youtube.com/embed/' + pword + '?si=FbkG3MuvQtUnTEg5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=y#https://www.youtube.com/watch?v=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=y#https://www.youtube.com/watch?v=' + pword + '">' + pword + '</a><details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword + '"></iframe></details>' + xsuffix + delim);
ifrnum++;
thewords[eval(1 + jw)]='';
break;
case 'ShOw': // inhouse details open non-mobile playing muted
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
//xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '#show</a> <iframe style="width:100%;height:800px;" src="//www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=' + pword + '&youtube_duration=12345&email=&email=&emoji=on&i0=0&j0=12345&c0=on&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29="></iframe>' + delim);
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '</a><details contenteditable=false style="display:inline-block;" open><summary title=' + pword + ' contenteditable=false>#show</summary><iframe onload="top.document.title+=' + "' mute control'" + '; var acontodd = (this.contentWindow || this.contentDocument); if (acontodd != null) { if (acontodd.document) { acontodd = acontodd.document; acontodd.title=' + "'YouTube video mute control'" + '; } } " contenteditable=false title="YouTube video mute control" style="width:100%;height:800px;display:block;" src="//www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=' + pword + '&youtube_duration=22234.0&email=&email=&emoji=on&i0=0&j0=12345&c0=on&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29="></iframe></details>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'EmBeD': // yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
//xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '#embed</a> <iframe width="560" height="315" src="https://www.youtube.com/embed/' + pword + '?si=FbkG3MuvQtUnTEg5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>' + xsuffix + delim);
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '</a><details contenteditable=false style="display:inline-flex;justify-content: space-between;align-items:flex-end;" open><summary title=' + pword + ' contenteditable=false>#embed</summary><iframe width="560" height="315" src="https://www.youtube.com/embed/' + pword + '?si=FbkG3MuvQtUnTEg5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></details>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'LiStEn': // inline inhouse
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<span contenteditable=false><a target="_blank" class="audioytplay" title="?" href="https://www.youtube.com/watch?v=' + pword + '" rel="noopener">' + pword + '#listen</a></span>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'DiSpLaY': // yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '#display</a> <iframe width="560" height="315" src="https://www.youtube.com/embed/' + pword + '?si=FbkG3MuvQtUnTEg5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>' + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
default:
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube video" contenteditable=false target=_blank href="//www.youtube.com/watch?v=' + pword + '">' + pword + '</a>' + xsuffix + delim);
break;
}
//alert(xname);
} else if (pword == encodeURIComponent(pword) && eval('' + pword.trim().length) == 34) {
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.youtube.com/watch?v=&index=1&list=' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="YouTube playlist" contenteditable=false target=_blank href="//www.youtube.com/watch?v=&index=1&list=' + pword + '">' + pword + '</a>' + delim);
} else if (pword == encodeURIComponent(pword) && eval('' + pword.trim().length) == 22) {
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//open.spotify.com/playlist/' + pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Spotify playlist" contenteditable=false target=_blank href="//open.spotify.com/playlist/' + pword + '">' + pword + '</a>' + delim).trim();
} else if (eval('' + pword.split(',')[0].length) > 4 && pword.replace(/\,/g,'').replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'') == '') {
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('sms:' + pword + '&body='); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="SMS to" contenteditable=false target=_top href="sms:' + pword + '&body=">' + pword + '</a>' + delim);
} else if (pword.toLowerCase().indexOf('http') == 0 && pword.indexOf(':') != -1 && pword.indexOf('//') != -1) {
durl='<details contenteditable=false style="display:inline-flex;justify-content: space-between;align-items:flex-end;" open><summary title=' + pword + ' contenteditable=false></summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#' + pword + '"></iframe></details>';
ifrnum++;
switch (thewords[eval(2 + jw)]) {
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.rjmprogramming.com.au/recording_ideas.php#' + pword); }
xsuffix='<details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.rjmprogramming.com.au/recording_ideas.php#' + pword + '"></iframe></details>';
ifrnum++;
break;
default:
break;
}
switch (thewords[eval(2 + jw)]) {
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push('//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword); }
xsuffix='<details contenteditable=false style="display:inline-block;"><summary title=' + pword + ' contenteditable=false>#qrcode</summary><iframe contenteditable=false style="width:99%;height:550px;display:block;" id=ifr' + ifrnum + ' src="//www.rjmprogramming.com.au/recording_ideas.php?noinitialwo=ifr' + ifrnum + '#https://www.youtube.com/watch?v=' + pword + '"></iframe></details>';
ifrnum++;
break;
default:
break;
}
switch (thewords[eval(1 + jw)]) {
case 'PlAy': // yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#play</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'BaCkGrOuNd': //yt background
if (durl.indexOf('data:image') != -1) {
//durl=durl.replace('width:','opacity:0.0;width:').replace('<iframe ','<iframe onload="setInterval(function(event){ event.target.style.opacity=' + "'' + (eval('0' + event.target.style.opacity) > 0.005 ? '0.0' : '1.0'); " + ' }, 20000);" ');
durl=durl.replace('width:','opacity:0.0;width:').replace('<iframe ','<iframe id=if' + ifnum + ' data-ifid=if' + ifnum + ' onload="' + "setInterval(function(event){ document.getElementById('if" + ifnum + "').style.opacity='' + (eval('0' + document.getElementById('if" + ifnum + "').style.opacity) > 0.005 ? '0.0' : '1.0'); " + ' }, 20000);" ');
ifnum++;
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>',' style="opacity:0.5;color:lightgray;background:url(' + pword + ');background-repeat:repeat;background-size:contain;">#background</summary>').replace(' style="',' style="background:url(' + pword + ');background-repeat:no-repeat;background-size:contain;') + xsuffix + delim);
//xname=xname.replace(pdelim + pword + delim,pdelim + durl.replace(' style="',' style="background:url(' + pword + ');background-repeat:no-repeat;background-size:contain;').replace(' style="background:url(' + pword + ');background-repeat:repeat;background-size:contain;"></summary>','>#background</summary>') + xsuffix + delim);
} else {
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#background</summary>') + xsuffix + delim);
}
thewords[eval(1 + jw)]='';
break;
case 'QrCoDe': // inhouse qr code representation
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#qrcode</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'ShOw': // inhouse details closed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#show</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'EmBeD': // yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#embed</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'LiStEn': // inline inhouse
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#listen</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
case 'DiSpLaY': // yt embed
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + durl.replace('></summary>','>#display</summary>') + xsuffix + delim);
thewords[eval(1 + jw)]='';
break;
default:
if (sofarothers.indexOf(pword) == -1) { sofarothers.push(pword); sofarurls.push(pword); }
xname=xname.replace(pdelim + pword + delim,pdelim + '<a title="Link to" contenteditable=false target=_blank href="' + pword + '">' + pword + '</a>' + delim);
break;
}
}
}
}
for (var ioj=0; ioj<sofarothers.length; ioj++) {
if (document.getElementById('ttext').title.indexOf(' ' + sofarothers[ioj] + ' ') == -1) {
if ((document.getElementById('ttext').title + '~').indexOf(' ...~') != -1) {
document.getElementById('ttext').title+=' ' + String.fromCharCode(10) + String.fromCharCode(10) + ' ' + sofarothers[ioj] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-3 + sofarothers[ioj].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-2 + sofarothers[ioj].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-3 + sofarothers[ioj].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofarothers[ioj] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-2 + sofarothers[ioj].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-2 + sofarothers[ioj].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofarothers[ioj] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofarothers[ioj].substring(0,eval(-1 + sofarothers[ioj].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofarothers[ioj] + ' ';
} else {
document.getElementById('ttext').title=document.getElementById('ttext').title.replace(' ' + sofarothers[ioj].substring(0,eval(-1 + sofarothers[ioj].length)) + ' ',' ' + sofarothers[ioj] + ' ').replace(' ' + sofarothers[ioj].substring(0,eval(-2 + sofarothers[ioj].length)) + ' ',' ' + sofarothers[ioj] + ' ').replace(' ' + sofarothers[ioj].substring(0,eval(-3 + sofarothers[ioj].length)) + ' ',' ' + sofarothers[ioj] + ' ');
}
}
}
for (var iojf=0; iojf<sofars.length; iojf++) {
if (document.getElementById('ttext').title.indexOf(' ' + sofars[iojf] + ' ') == -1) {
if ((document.getElementById('ttext').title + '~').indexOf(' ...~') != -1) {
document.getElementById('ttext').title+=' ' + String.fromCharCode(10) + String.fromCharCode(10) + ' ' + sofars[iojf] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-3 + sofars[iojf].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-2 + sofars[iojf].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-3 + sofars[iojf].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofars[iojf] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-2 + sofars[iojf].length)) + ' ~') == -1 && (document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-2 + sofars[iojf].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofars[iojf] + ' ';
} else if ((document.getElementById('ttext').title + '~').indexOf(' ' + sofars[iojf].substring(0,eval(-1 + sofars[iojf].length)) + ' ~') == -1) {
document.getElementById('ttext').title+=' ' + sofars[iojf] + ' ';
} else {
document.getElementById('ttext').title=document.getElementById('ttext').title.replace(' ' + sofars[iojf].substring(0,eval(-1 + sofars[iojf].length)) + ' ',' ' + sofars[iojf] + ' ').replace(' ' + sofars[iojf].substring(0,eval(-2 + sofars[iojf].length)) + ' ',' ' + sofars[iojf] + ' ').replace(' ' + sofars[iojf].substring(0,eval(-3 + sofars[iojf].length)) + ' ',' ' + sofars[iojf] + ' ');
}
}
}
for (var iuy=0; iuy<sofars.length; iuy++) {
//alert(sofars[iuy] + ' ... ' + xname);
if ((' ' + xname + ' ').indexOf(' ' + sofars[iuy] + ' ') != -1 || (' ' + xname + ' ').indexOf(' ' + sofars[iuy] + String.fromCharCode(10)) != -1 || (' ' + xname + ' ').indexOf(String.fromCharCode(10) + sofars[iuy] + ' ') != -1 || (' ' + xname + ' ').indexOf(String.fromCharCode(10) + sofars[iuy] + String.fromCharCode(10)) != -1) {
//alert('here');
xname=xname.replace(sofars[iuy], '<a target=_blank title="Background image ' + sofars[iuy] + '" href="' + sofars[iuy] + '">' + sofars[iuy] + '</a>');
} else if ((' ' + xname + ' ').indexOf(' ' + sofars[iuy] + '<br') != -1 || (' ' + xname + ' ').indexOf(' ' + sofars[iuy] + '<br') != -1 || (' ' + xname + ' ').indexOf(String.fromCharCode(10) + sofars[iuy] + '<br') != -1 || (' ' + xname + ' ').indexOf(String.fromCharCode(10) + sofars[iuy] + '<br') != -1) {
//alert('there');
xname=xname.replace(sofars[iuy], '<a target=_blank title="Background image ' + sofars[iuy] + '" href="' + sofars[iuy] + '">' + sofars[iuy] + '</a>');
}
}
if (origxname != xname) { setTimeout(overlay, 500); }
if ('sofar' == 'sofar') { return origxname; }
if (origxname != xname) { itchanged=true; }
setTimeout(function(){ document.getElementById('indiv').title='Journal ' + String.fromCodePoint(0x1F4D3) + ' text goes here where hashtags #qrcode and #play and #display and #listen and #embed and #show and #background are hashtag media effect options along with an understanding of data URI media entries'; }, 5000);
return xname.replace(/PlAy/g,'').replace(/DiSpLaY/g,'').replace(/LiStEn/g,'').replace(/EmBeD/g,'').replace(/ShOw/g,'').replace(/BaCkGrOuNd/g,'').replace(/QrCoDe/g,'');
}
function onl() {
document.getElementById('ttext').value=(('' + location.search + ('' + location.hash).replace(/^null/g,'').replace(/^undefioned/g,'')).split('ttext=')[1] ? decodeURIComponent(('' + location.search + ('' + location.hash).replace(/^null/g,'').replace(/^undefioned/g,'')).split('ttext=')[1].split('&')[0]).replace(/\+/g,' ') : '');
sofarval=document.getElementById('ttext').value;
checkforthings();
lastsofarval=sofarval;
}
function whatifover(oform) {
if (eval('' + encodeURIComponent(document.getElementById('ttext').value).length) > 750) {
return false;
}
if (3 == 3) {
return false;
}
return true;
}
function checkforthings() {
var ideas=[], i=0, j=0, lastdodah='', ii=0, rect=null;
var delimideas=[String.fromCharCode(10) + '/',' /',String.fromCharCode(10) + 'http',' http',String.fromCharCode(10) + 'HTTP',' HTTP',String.fromCharCode(10) + 'Http',' Http',String.fromCharCode(10) + 'hTTP',' hTTP',' /',String.fromCharCode(10) + 'data:image/',' data:image/'];
if (sofarval != lastsofarval) {
for (i=0; i<delimideas.length; i++) {
ideas=(' ' + sofarval).split(delimideas[i]);
if (eval('' + ideas.length) > 1) {
for (ii=1; ii<ideas.length; ii++) {
lastdodah='.' + ideas[ii].split('.')[eval(-1 + ideas[ii].split('.').length)].split('?')[0].split('#')[0].toLowerCase();
if (sofars.indexOf(delimideas[i].substring(1) + ideas[ii].split(' ')[0].split(String.fromCharCode(10))[0]) == -1) {
if (xexts.indexOf(lastdodah) != -1 || (delimideas[i].indexOf('data:image/') != -1 && ideas[ii].indexOf(';') != -1)) {
if (xtypes[(xexts.indexOf(lastdodah) == -1 ? 0 : xexts.indexOf(lastdodah))].indexOf('image/') == 0 || (delimideas[i].indexOf('data:image/') != -1 && ideas[ii].indexOf(';') != -1)) {
if (delimideas[i].indexOf('data:image/') != -1) {
shadowize=false;
document.getElementById('ttext').style.color='rgba(0,0,0,0.05)';
rect=document.getElementById('ttext').getBoundingClientRect();
document.getElementById('ttext').style.height='' + eval(eval('' + rect.height) + eval(1 * screen.height)) + 'px';
}
testimg(delimideas[i].substring(1) + ideas[ii].split(' ')[0].split(String.fromCharCode(10))[0]);
}
}
}
}
}
}
document.getElementById('ttext').value=inline_linking(document.getElementById('ttext').value.toHtmlEntities());
sofarval=document.getElementById('ttext').value;
}
lastsofarval=sofarval;
}
function testimg(what) {
var lg='linear-gradient(rgba(255,255,255,0.6),rgba(255,255,255,0.6)),';
if (!shadowize) { lg='linear-gradient(rgba(255,255,255,0.1),rgba(255,255,255,0.1)),'; }
if (sofarback.indexOf(lg) != -1) {
//sofarback=sofarback.replace('linear-gradient(rgba(255,255,255,0.6),rgba(255,255,255,0.6)),','');
document.getElementById('ttext').style.outline='none';
document.getElementById('ttext').style.border='none';
lg='';
} else if (sofarback != '') {
document.getElementById('ttext').style.outline='none';
document.getElementById('ttext').style.border='none';
lg='';
} else {
document.getElementById('ttext').style.outline='none';
document.getElementById('ttext').style.border='none';
}
ok=false;
img = new Image();
img.onload = function() {
ok=true;
if (shadowize) { document.getElementById('ttext').style.textShadow='-1px 1px 1px #ff2d95'; }
document.getElementById('xbody').style.backgroundImage=sofarback + lg + 'url(' + img.src + ')';
document.getElementById('xbody').style.backgroundRepeat=sofarrep + 'no-repeat';
if (posi == 0) {
document.getElementById('xbody').style.backgroundSize=sofarsiz + 'contain';
sofarsiz+='' + 'contain' + ',';
} else if (posi == 1 || posi < 4) {
sofarsiz=sofarsiz.replace(/contain/g,'auto 50%');
document.getElementById('xbody').style.backgroundSize=sofarsiz + 'auto 50%';
sofarsiz+='' + 'auto 50%' + ',';
} else if (posi >= 4) {
//sofarsiz=sofarsiz.replace(/50\%\ 50\%/g,'33% 33%');
sofarsiz=sofarsiz.replace(/50\%\ auto/g,'auto 33%');
sofarsiz=sofarsiz.replace(/auto\ 50\%/g,'auto 33%');
document.getElementById('xbody').style.backgroundSize=sofarsiz + 'auto 33%';
sofarsiz+='' + 'auto 33%' + ',';
}
if (poss[eval(posi % eval('' + poss.length))] == 'right top') { document.getElementById('myh1').style.color='rgba(0,0,0,0.3)'; document.getElementById('myh3').style.color='rgba(0,0,0,0.3)'; }
document.getElementById('xbody').style.backgroundPosition=sofarpos + poss[eval(posi % eval('' + poss.length))];
sofarback+='' + lg + 'url(' + img.src + ')' + ',';
lg='';
sofarrep+='' + 'no-repeat' + ',';
sofarpos+='' + poss[eval(posi % eval('' + poss.length))] + ',';
posi++;
if (!shadowize) { window.scrollTo(0,0); }
}
img.src=what;
sofars.push(what);
}
function getCharacterAtCursor(textareaElement) { // thanks to https://www.google.com/search?q=textarea+detect+character+at+a+cursor+position&rlz=1C5OZZY_en&oq=textarea+detect+character+at+a+cursor+position&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRigATIHCAIQIRigATIHCAMQIRifBTIHCAQQIRifBTIHCAUQIRifBTIHCAYQIRifBTIHCAcQIRiPAtIBCTEyMzExajBqN6gCALACAA&sourceid=chrome&ie=UTF-8
// Get the cursor position (character index)
var cursorPosition = textareaElement.selectionStart; //
// Get the total text content of the textarea
var textContent = textareaElement.value;
// To get the character *at* the cursor position, you would technically look
// at the character at that index in the string.
// Example: Getting the character before the cursor
if (cursorPosition >= 0) {
//var charBeforeCursor = textContent[cursorPosition - 1];
var charAtCursor = textContent[cursorPosition - 1 + 1];
var wordAtCursor=textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0];
if (sofarothers.indexOf(wordAtCursor) != -1) {
if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('&body=') != -1 && sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('sms:') != -1) {
document.getElementById('asms').href=sofarurls[sofarothers.indexOf(wordAtCursor)].split('&body=')[0] + '&body='; // + encodeURIComponent(wordAtCursor);
document.getElementById('asms').click();
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('&body=') != -1 && sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('mailto:') != -1) {
document.getElementById('aemail').href=sofarurls[sofarothers.indexOf(wordAtCursor)].split('&body=')[0] + '&body='; // + encodeURIComponent(wordAtCursor);
document.getElementById('aemail').click();
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('data:image/') == 0) {
//alert(1);
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><img src="' + sofarurls[sofarothers.indexOf(wordAtCursor)] + '"></img></body></html>');
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('data:video/') == 0) {
//alert(11);
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><video controls><source src="' + sofarurls[sofarothers.indexOf(wordAtCursor)] + '" type="video/' + sofarurls[sofarothers.indexOf(wordAtCursor)].split('video/')[1].split(';')[0].split(',')[0] + '"></source></video></body></html>');
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('data:audio/') == 0) {
//alert(111);
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><audio controls><source src="' + sofarurls[sofarothers.indexOf(wordAtCursor)] + '" type="audio/' + sofarurls[sofarothers.indexOf(wordAtCursor)].split('audio/')[1].split(';')[0].split(',')[0] + '"></source></audio></body></html>');
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('data:text/') == 0 && sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf(';base64,') != -1) {
//alert(1111);
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><textarea style=width:100%;height:100%;>' + window.atob(sofarurls[sofarothers.indexOf(wordAtCursor)].split(';base64,')[1]) + '</textarea></body></html>');
} else if (sofarurls[sofarothers.indexOf(wordAtCursor)].indexOf('data:application/') == 0) {
//alert(11111);
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><object data="' + sofarurls[sofarothers.indexOf(wordAtCursor)] + '" type="application/' + sofarurls[sofarothers.indexOf(wordAtCursor)].split('application/')[1].split(';')[0].split(',')[0] + '"></object></body></html>');
} else {
//alert('611111 ' + wordAtCursor + ' ' + sofarurls[sofarothers.indexOf(wordAtCursor)] + ' ');
window.open(sofarurls[sofarothers.indexOf(wordAtCursor)], '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
}
}
if (charAtCursor == '/') {
if (sofars.indexOf(textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0]) != -1) {
window.open(textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0], '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
}
} else if (charAtCursor == 'h' || charAtCursor == 'H') {
if (sofars.indexOf(textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0]) != -1) {
window.open(textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0], '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
}
} else if (charAtCursor == 'd') {
if (sofars.indexOf(textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0]) != -1) {
woo=window.open('', '_blank', 'top=' + eval(-800 + screen.height) + ',left=' + eval(-800 + screen.width) + ',width=500,height=500');
woo.document.write('<html><body><img src="' + textContent.substring(cursorPosition).split(' ')[0].split(String.fromCharCode(10))[0] + '"></img></body></html>');
}
}
return charAtCursor;
} else {
return "At the beginning of the text or no character before";
}
// To get the character *after* the cursor position:
// if (cursorPosition < textContent.length) {
// const charAfterCursor = textContent[cursorPosition];
// return charAfterCursor;
// }
}
</script>
</head>
<body id=xbody onload=onl();>
<table style=width:100%;height:100%;><tr><td id=tdleft style=vertical-align:top;width:70%;>
<form onsubmit="return whatifover(this);" method=GET action="./transparent_textarea.html#" id=myform style="background-color:transparent;">
<textarea title="Type away and any image URLs or image data URIs may result in background image(s) showing, as well as word substitutional link intelligence adds, via clicks at the beginning of words in this textarea, for the word list below ..." onclick="getCharacterAtCursor(this);" onpaste="setTimeout(function(){ sofarval=document.getElementById('ttext').value; checkforthings(); }, 200);" onkeypress="setTimeout(function(){ sofarval=document.getElementById('ttext').value; checkforthings(); }, 200);" spellcheck="false" autocorrect="off" autocapitalize="off" onblur="document.getElementById('fsub').click();" name=ttext id=ttext style="background-color:transparent;width:90%;height:90vh;overflow-y:auto;"></textarea>
<input type=submit id=fsub style=display:none; value=Submit</input>
</form><div id=djc onmousemove=rez(this);></div>
</td><td id=tdright style=vertical-align:top;>
<h1 id=myh1>Transparent Textarea</h1>
<h3 id=myh3>RJM Programming - March, 2026</h3>
<a target=_top id=aemail style=display:none; href='mailto:?subject=Document%20Root%20Folder%20Listing'>Email</a><a target=_top id=asms style=display:none; href='sms:&body='>SMS</a>
</td></tr></table>
</body>
</html>