34,35d33
< $thirtytwo="32";
< $thirtytwoplus="42";
37,42d34
< $lri="";
< if (isset($_GET['lri'])) {
< $lri=$_GET['lri'];
< } else if (isset($_POST['lri'])) {
< $lri=$_POST['lri'];
< }
118c110
< if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-$thirtytwo; }
---
> if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-32; }
209c201
< if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-$thirtytwo; }
---
> if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-32; }
217c209
< if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-$thirtytwo; }
---
> if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-32; }
243c235
< global $sb, $sbtwo, $bigsofarl, $bigsofarr, $smallsofarl, $smallsofarr, $oursbtwo, $ipaddr, $leftfl, $rightfl, $thirtytwo, $thirtytwoplus;
---
> global $sb, $sbtwo, $bigsofarl, $bigsofarr, $smallsofarl, $smallsofarr, $oursbtwo, $ipaddr, $leftfl, $rightfl;
501,504d492
< var myhta='hta';
< var extralri='';
< var curlri='" . $lri . "';
< var lastelo=null;
507c495
< return '?' + (document.URL.indexOf('prefix=') != -1 ? document.URL.split('prefix=')[1].split('&')[0].split('#')[0] : '') + 'lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extralri + extral + extrar + gtr + gtl + syl + syr;
---
> return '?' + (document.URL.indexOf('prefix=') != -1 ? document.URL.split('prefix=')[1].split('&')[0].split('#')[0] : '') + 'lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr;
553c541
< top.location.href='./cow_says_insertion.php' + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extralri + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash);
---
> top.location.href='./cow_says_insertion.php' + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash);
566c554
< document.getElementById('es').href='mailto:?subject=Cow%20Says%20Cartoon&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extralri + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash));
---
> document.getElementById('es').href='mailto:?subject=Cow%20Says%20Cartoon&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash));
578c566
< document.getElementById('es').href='sms:&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extralri + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash));
---
> document.getElementById('es').href='sms:&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr + hhsort(homehash));
681d668
< document.getElementById('mydet').style.marginLeft='50px';
704,711d690
< if (curlri.toLowerCase().indexOf('l') != -1) {
< readycanvas(document.getElementById('lhta'));
< }
<
< if (curlri.toLowerCase().indexOf('r') != -1) {
< readycanvas(document.getElementById('rhta'));
< }
<
880d858
< var thissuffix='';
882d859
< thissuffix='r';
885,900d861
< if (textareatwo.title.indexOf(' ') != -1) {
< textareaone.title='';
< textareatwo.title='';
< document.getElementById('atendr').style.visibility='hidden';
< document.getElementById('myCanvasr').visibility='hidden';
< textareaone.style.color='black';
< textareatwo.style.color='black';
< document.getElementById('lri').value=document.getElementById('lri').value.replace('r','');
< extralri='&lri=' + document.getElementById('lri').value;
< return '';
< } else {
< textareaone.title=' ';
< textareatwo.title=' ';
< document.getElementById('lri').value=document.getElementById('lri').value.replace('r','') + 'r';
< extralri='&lri=' + document.getElementById('lri').value;
< }
902,921c863,865
< thissuffix='l';
< textareaone=document.getElementById('lhxta');
< textareatwo=document.getElementById('lhta');
< if (textareatwo.title.indexOf(' ') != -1) {
< textareaone.title='';
< textareatwo.title='';
< document.getElementById('atendl').style.visibility='hidden';
< document.getElementById('myCanvasl').visibility='hidden';
< textareaone.style.color='black';
< textareatwo.style.color='black';
< document.getElementById('lri').value=document.getElementById('lri').value.replace('l','');
< extralri='&lri=' + document.getElementById('lri').value;
< return '';
< } else {
< textareaone.title=' ';
< textareatwo.title=' ';
< document.getElementById('lri').value=document.getElementById('lri').value.replace('l','') + 'l';
< extralri='&lri=' + document.getElementById('lri').value;
< }
< }
---
> textareaone=document.getElementById('lhxta');
> textareatwo=document.getElementById('lhta');
> }
925,960c869,875
< document.getElementById('atend' + thissuffix).style.visibility='visible';
< document.getElementById('atend' + thissuffix).style.position='absolute';
< if (textareatwo.id.substring(0,1) == 'r' && ('' + textareatwo.outerHTML).replace('scaleX(1)','').indexOf('scale') != -1) {
< document.getElementById('atend' + thissuffix).style.left='' + document.getElementById('tdright').getBoundingClientRect().left + 'px';
< document.getElementById('atend' + thissuffix).style.width='' + document.getElementById('tdright').getBoundingClientRect().width + 'px';
< //alert(recttwo.top);
< } else {
< //alert(1);
< if (textareatwo.id.substring(0,1) == 'r') {
< document.getElementById('atend' + thissuffix).style.left='' + document.getElementById('tdright').getBoundingClientRect().left + 'px';
< } else {
< document.getElementById('atend' + thissuffix).style.left='' + recttwo.left + 'px';
< }
< document.getElementById('atend' + thissuffix).style.width='' + document.getElementById('tdleft').getBoundingClientRect().width + 'px';
< }
< if (eval('' + recttwo.top) >= eval('" . $thirtytwo . "')) {
< //alert(11);
< document.getElementById('atend' + thissuffix).style.top='' + eval(-" . $thirtytwo . " + recttwo.top) + 'px';
< document.getElementById('atend' + thissuffix).style.height='' + eval(eval('" . $thirtytwo . "') + eval('' + recttwo.height)) + 'px';
< } else {
< //alert(111);
< document.getElementById('atend' + thissuffix).style.top='' + eval('' + recttwo.top) + 'px';
< document.getElementById('atend' + thissuffix).style.height='' + eval(0 + eval('' + recttwo.height)) + 'px';
< }
< //alert(recttwo.left);
< document.getElementById('atend' + thissuffix).style.zIndex='99';
< if (eval('' + recttwo.top) >= eval('" . $thirtytwo . "')) {
< //document.getElementById('atend' + thissuffix).innerHTML='';
< document.getElementById('atend' + thissuffix).innerHTML='';
< } else if (textareatwo.id.substring(0,1) == 'r' && ('' + textareatwo.outerHTML).replace('scaleX(1)','').indexOf('scale') != -1) {
< document.getElementById('atend' + thissuffix).innerHTML='';
< } else {
< //document.getElementById('atend' + thissuffix).innerHTML='';
< document.getElementById('atend' + thissuffix).innerHTML='';
< }
< canvas=document.getElementById('myCanvas' + thissuffix);
---
> document.getElementById('atend').style.visibility='visible';
> document.getElementById('atend').style.position='absolute';
> document.getElementById('atend').style.left='' + recttwo.left + 'px';
> document.getElementById('atend').style.top='' + eval(-32 + recttwo.top) + 'px';
> document.getElementById('atend').style.zIndex='99';
> document.getElementById('atend').innerHTML='';
> canvas=document.getElementById('myCanvas');
963,964c878
< textareaone.style.color='transparent';
< textareatwo.style.color='transparent';
---
> tao.style.color='transparent';
972,978d885
< var ii=0, jj=-1, maxchars=0, gtsfound=false, leftno='', lthingo='x';
< if (textareatwo.id.substring(0,1) == 'l' && ('' + textareatwo.outerHTML).replace('scaleX(1)','').indexOf('scale') != -1) {
< lthingo='l';
< } else if (textareatwo.id.substring(0,1) == 'r' && ('' + textareatwo.outerHTML).replace('scaleX(1)','').indexOf('scale') != -1) {
< lthingo='R';
< //alert('is R');
< }
983c890
< ctx.font = \"14px Courier New\";
---
> ctx.font = \"20px Arial\";
988,1021c895
< var lines = ((textareaone != null ? textareaone.value + String.fromCharCode(10) : '') + (textareatwo != null ? textareatwo.value : '')).split(String.fromCharCode(10));
<
< for (var ii=0; ii maxchars) { maxchars=eval('' + lines[ii].length); }
< if (textareatwo.id.substring(0,1) == 'r' && leftno == '' && ('' + textareatwo.outerHTML).replace('scaleX(1)','').indexOf('scale') == -1 && lines[ii].trim() != '' && lines[ii].indexOf('" . $lts . "') != -1) {
< leftno=lines[ii].split('" . $lts . "')[0];
< //alert(leftno);
< if (document.URL.indexOf('rjmprogramming.com.au/') != -1) {
< leftno=' ';
< }
< }
< }
<
< if (textareatwo.id.substring(0,1).toUpperCase() == lthingo.toUpperCase() || 7 == 7) {
< for (var ii=0; ii const lines = ((textareaone != null ? textareaone.value + String.fromCharCode(10) : '') + (textareatwo != null ? textareatwo.value : '')).split(String.fromCharCode(10));
1023c897
< //alert('prerevstr=' + prerevstr + ' and revstr=' + revstr + ' and textareaonevalue=' + textareaone.value + String.fromCharCode(10) + textareatwo.value);
---
> //alert('prerevstr=' + prerevstr + ' and revstr=' + revstr + ' and textareaone.value=' + textareaone.value);
1026,1038c900,902
< var lineHeight = 16;
< var startX = 0;
< var startY = 10;
< if (textareatwo.id.substring(0,1) == 'r' && lthingo.toUpperCase() != 'R') {
< startY-=" . $thirtytwo . ";
< }
<
< if (textareatwo.id.substring(0,1) == lthingo || textareatwo.id.substring(0,1).toUpperCase() == lthingo) {
< startX = canvas.width;
< startY-=14;
< ctx.textAlign = 'right';
< //alert('Here');
< }
---
> const lineHeight = 28;
> const startX = 20;
> const startY = 20;
1041,1049d904
< //if (textareatwo.id.substring(0,1) == lthingo && 1 == 5) {
< if (textareatwo.id.substring(0,1) == lthingo && 1 == 5) {
< ctx.fillText(line.split('').reverse().join(''), startX, startY + (index * lineHeight));
< //alert('thEre');
< } else {
< if (leftno != '') {
< //alert('there');
< ctx.fillText(line.replace(leftno,''), startX, startY + (index * lineHeight));
< } else {
1051,1052d905
< }
< }
1055,1123c908,909
< if (textareatwo.id.substring(0,1).toUpperCase() == lthingo.toUpperCase()) { // thanks to https://www.google.com/search?q=just+scale+part+of+an+HTML+canvas&sca_esv=ddd109fd00e45f93&rlz=1C5OZZY_en&sxsrf=AKL5yDgSuo_oLZNuX2RTf0dEj8ymY_NrUg%3A1794091464710&ei=yKnvatDyKvrl2roP5PjAkAE&biw=1440&bih=703&uact=5&oq=just+scale+part+of+an+HTML+canvas&gs_lp=Egxnd3Mtd2l6LXNlcnAiIWp1c3Qgc2NhbGUgcGFydCBvZiBhbiBIVE1MIGNhbnZhczIIECEYoAEYwwQyCBAhGKABGMMESIE3UJgUWKw1cAN4AZABAJgBzgGgAYkLqgEFMC43LjG4AQPIAQD4AQGYAgqgAoMKwgIKEAAYRxjWBBiwA8ICBxAjGLACGCfCAgUQABjvBcICChAhGAoYoAEYwwSYAwCIBgGQBgiSBwUzLjYuMaAHlCKyBwUwLjYuMbgH9QnCBwUxLjMuNsgHHYAIAQ&sclient=gws-wiz-serp
< //alert('where');
< var offscreen = document.createElement('canvas');
< var offCtx = offscreen.getContext('2d');
< var offscreentop = document.createElement('canvas');
< var offCtxtop = offscreentop.getContext('2d');
<
<
< var sourceX = 0, sourceY = " . $thirtytwoplus . ", sourceW = canvas.width, sourceH = eval(-" . $thirtytwoplus . " + canvas.height);
< offscreen.width = sourceW;
< offscreen.height = sourceH;
< offscreentop.width = sourceW;
< offscreentop.height = " . $thirtytwoplus . ";
<
< // 2. Copy the specific part from the main canvas to the offscreen canvas
< offCtx.drawImage(canvas, sourceX, sourceY, sourceW, sourceH, 0, 0, sourceW, sourceH);
< offCtxtop.drawImage(canvas, 0,0, sourceW, " . $thirtytwoplus . ", 0, 0, sourceW, " . $thirtytwoplus . ");
<
< // 3. Draw it back onto the main canvas at a larger or smaller scale
< var xscaleFactor = 1;
< var yscaleFactor = 1;
< ctx.save();
<
< // 2. Move the origin to the center (or left) of where you want the image
< //alert('w,h=' + canvas.width + ',' + canvas.height);
< //ctx.translate(canvas.width * 1.6, 0);
< ctx.translate(canvas.width * 1.6, 0);
<
< // 3. Flip the X axis (scales width by -1)
< ctx.scale(-1, 1);
<
< ctx.globalCompositeOperation = 'copy';
< ctx.drawImage(
< offscreen,
< 0, 0, sourceW, sourceH, // source rectangle
< sourceX, sourceY, sourceW * xscaleFactor, sourceH * yscaleFactor // destination rectangle
< );
<
< ctx.globalCompositeOperation = 'source-over';
< ctx.restore();
< ctx.drawImage(
< offscreentop,
< 0, 0, sourceW, " . $thirtytwoplus . ", // source rectangle
< sourceX, 0, sourceW * xscaleFactor, " . $thirtytwoplus . " * yscaleFactor // destination rectangle
< );
<
< if (lthingo == 'R') {
< //alert('huh');
< var rectone=document.getElementById('tdright').getBoundingClientRect();
< var recttwo=document.getElementById('myCanvasr').getBoundingClientRect();
< if (eval('' + recttwo.right) > eval('' + rectone.right)) {
< //alert('yes ' + document.getElementById('myCanvasr').style.left);
< //alert('' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('myCanvasr').style.left.replace('px',''))) + 'px');
< document.getElementById('atendr').style.left='' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('atendr').style.left.replace('px',''))) + 'px';
< document.getElementById('myCanvasr').style.left='' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('myCanvasr').style.left.replace('px',''))) + 'px';
< }
< //} else if (textareatwo.id.substring(0,1) == 'r') {
< //alert('RE huh');
< }
< } else if (textareatwo.id.substring(0,1) == 'r') {
< //alert('RE Huh');
< var rectone=document.getElementById('tdright').getBoundingClientRect();
< var recttwo=document.getElementById('myCanvasr').getBoundingClientRect();
< if (eval('' + recttwo.left) < eval('' + rectone.left)) {
< //alert('Yes ' + document.getElementById('myCanvasr').style.left);
< //alert('' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('myCanvasr').style.left.replace('px',''))) + 'px');
< document.getElementById('atendr').style.left='' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('atendr').style.left.replace('px',''))) + 'px';
< document.getElementById('myCanvasr').style.left='' + eval(eval(rectone.right - recttwo.right) + eval(document.getElementById('myCanvasr').style.left.replace('px',''))) + 'px';
< }
---
> if (textareatwo.id.substring(0,1) == 'l') {
> canvas.style.transform='scaleX(-1)';
1125,1129d910
<
<
< textareaone.style.color='transparent';
< textareatwo.style.color='transparent';
< document.getElementById('inout').focus();
1131,1141d911
<
< function ouralert(elo) {
< if (elo != null) {
< if (elo != lastelo) {
< if (('' + elo.outerHTML).split('>')[0].indexOf(' title=') != -1) {
< lastelo=elo;
< alert(elo.title);
< }
< }
< }
< }
1147c917
<
---
>
1150,1151c920,921
<
<
---
>
>
1153,1155c923,925
<
<
<
Cow Says Cartoon ++
RJM Programming - November, 2026
---
>
>
>
Cow Says Cartoon ++
RJM Programming - November, 2026
1157,1159c927,929
< " . $sayls . " " . ($smallsofarl == '' ? $bigsofarl : $smallsofarl) . "
< " . $sayrs . " " . ($smallsofarr == '' ? $bigsofarr : $smallsofarr) . "
<
---
> " . $sayls . " " . ($smallsofarl == '' ? $bigsofarl : $smallsofarl) . "
> " . $sayrs . " " . ($smallsofarr == '' ? $bigsofarr : $smallsofarr) . "
>
1164,1167c934,936
<
<
<
<
---
>
>
>