<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>User of Signature Signature - RJM Programming - May, 2017</title>
<link href='../PHP/emboss_h1.css' rel='stylesheet' type='text/css'>
<!--script type='text/javascript' src='signature_signature.js?rand=htrjhgf'></script-->
<script type='text/javascript'>
var elemode=location.search.split('elemode=')[1] ? (location.search.split('elemode=')[1].split('&')[0]) : "canvas";
var canconth=location.search.split('canconth=')[1] ? eval(location.search.split('canconth=')[1].split('&')[0]) : -1;
var cancontw=location.search.split('cancontw=')[1] ? eval(location.search.split('cancontw=')[1].split('&')[0]) : -1;
var sscoords=location.search.split('sscoords=')[1] ? (location.search.split('sscoords=')[1].split('&')[0]) : "";
var zfac=location.search.split('zoom=')[1] ? decodeURIComponent(location.search.split('zoom=')[1].split('&')[0]) : "";
var dz='Drop Zone';
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
dz='Click Zone';
}
var dzslides=[], dzo=null, dzcnt=0;
var lastdrop='', lastelem=null, wasmt='0px', popupemailfunction='', agconto=null, agidis='slideshow', agiscnt=1, iois=null, dzoreopen=false, xinputtype='';
var sscordsdelim="", wassscoords="";
var documentURL=document.URL;
var ie = 11;
var mode = 1;
var amode = 1;
var elem, celem, cimg;
var elemLeft = 0;
var cf = "18px Verdana";
var elemTop = 0;
var context, ccontext;
var elements = [];
var x=0, y=0, lastx=0, lasty=0;
var rectbits=[0,0,0,0];
var clickno = 0;
var ssois=null;
var cancont='';
var wocheck=false, woop=null, lastwoopj='';
var slideis=location.search.split('slide=')[1] ? (location.search.split('slide=')[1].split('&')[0]) : "";
var thewords=(location.search + location.hash).split('thewords=')[1] ? decodeURIComponent((location.search + location.hash).split('thewords=')[1].split('&')[0]) : "";
if (thewords.indexOf('data') == 0) { thewords=thewords.replace(/\ /g,'+'); }
var cbcol=location.search.split('cbcol=')[1] ? decodeURIComponent(location.search.split('cbcol=')[1].split('&')[0]) : "";
var cfcol=location.search.split('cfcol=')[1] ? decodeURIComponent(location.search.split('cfcol=')[1].split('&')[0]) : "";
var cffam=location.search.split('cffam=')[1] ? decodeURIComponent(location.search.split('cffam=')[1].split('&')[0]) : "";
var cfsz=location.search.split('cfsz=')[1] ? decodeURIComponent(location.search.split('cfsz=')[1].split('&')[0]) : "";
if (('' + window.opener).replace('null','') != '') {
if (!wocheck) {
wocheck=true;
if (window.opener && slideis != '') {
woop=window.opener;
setTimeout(function() { document.getElementById('topcanvas').title=initialtextmaybe(slideis); setInterval(topcwoop, 5000); }, 3000);
}
}
var cans=window.opener.document.getElementsByTagName(elemode);
if (cans.length > 0 && !woop) {
if (elemode == 'img') {
cancont=cans[0].src;
} else {
cancont=cans[0].toDataURL('image/png');
}
if (cancontw < 0 && canconth < 0) {
cancontw=cans[0].width;
canconth=cans[0].height;
}
}
}
if (sscoords != "") sscordsdelim=",";
if (('' + location.hash).indexOf('zoom=') != -1) { zfac=decodeURIComponent(('' + location.hash).split('zoom=')[1].split(';')[0]); }
//if (zfac != '') { document.head.innerHTML=' <style> html { zoom:' + zfac.replace(';','') + '; } </style> '; }
setTimeout(zoomlater, 5000);
var createCookie = function(name, value, days) { // thanks to https://stackoverflow.com/questions/4825683/how-do-i-create-and-read-a-value-from-cookie
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
else {
expires = "";
}
if (localStorage && name != 'gameon') {
if (localStorage.getItem(name)) {
//document.title+=' remove ';
localStorage.removeItem(name);
}
//document.title+=' set ';
//alert(value);
localStorage.setItem(name, value);
} else {
document.cookie = name + "=" + value + expires + "; path=/";
}
}
function placethistext() {
var mycon=document.getElementById('topcanvas').getContext('2d');
mycon.font = cf;
var huhs=thewords.split(String.fromCharCode(92) + 'n'), thisy=eval(8 + eval('' + cfsz));
//if (('' + cbcol) != 'white') {
// mycon.fillStyle='' + cbcol;
// mycon.fillRect(0,0,document.getElementById('topcanvas').width,document.getElementById('topcanvas').height);
//}
for (var ii=0; ii<huhs.length; ii++) {
mycon.font = cf;
mycon.strokeStyle='' + cfcol;
mycon.strokeText(huhs[ii],20,thisy);
thisy+=eval(8 + eval('' + cfsz));
}
}
function ourfillrect() {
document.getElementById('topcanvas').getContext('2d').fillStyle='' + cbcol;
document.getElementById('topcanvas').getContext('2d').fillRect(0,0,document.getElementById('topcanvas').width,document.getElementById('topcanvas').height);
}
function initialtextmaybe(inslidename) {
//useyourwords='&thewords=' + encodeURIComponent(dtval) + '&cbcol=' + encodeURIComponent(cbcol) + '&cfcol=' + encodeURIComponent(cfcol) + '&cffam=' + encodeURIComponent(cffam) + '&cfsz=' + encodeURIComponent(cfsz);
if (thewords.trim() != '') {
if (thewords.indexOf('data:') == 0) {
document.getElementById('dwordimg').innerHTML='<img id=idwordimg style=display:none; src="' + thewords + '"></img>';
setTimeout(function(){ document.getElementById('topcanvas').getContext('2d').drawImage(document.getElementById('idwordimg'),0,0); }, 5500);
} else {
cf = "" + cfsz + "px " + cffam;
if (('' + cbcol) != 'white') {
setTimeout(ourfillrect, 4000);
}
setTimeout(placethistext, 5000);
}
}
return inslidename;
}
function imagestraight(topoel, actual_cover_contain_o) {
//alert('More work for ' + actual_cover_contain_o.value);
lastacc=actual_cover_contain_o.value;
actual_cover_contain_o.setAttribute('data-lastacc', lastacc);
//alert(lastacc);
if (actual_cover_contain_o.value.substring(1) == actual_cover_contain_o.value.substring(1).toUpperCase()) {
actual_cover_contain_o.value='im';
} else if (actual_cover_contain_o.value.substring(1) == actual_cover_contain_o.value.substring(1).toLowerCase()) {
actual_cover_contain_o.value='ib';
}
if (lastacc == 'Contain' && !advicegiven) { // Postcard advice blurb
advicegiven=true;
if ((parent.document.getElementById('shareurl') || top.document.getElementById('shareurl') || document.getElementById('shareurl')) && top.document.URL.indexOf('https:') == 0) {
safariblurb=' (as textbox below goes yellow, click email sender button to its left for easier usage)';
setTimeout(checkonyellow, 3000);
}
if (1 == 6 && parent.document.getElementById('myta')) {
if (parent.document.getElementById('myta').value == '') {
parent.document.getElementById('myta').value='Postcard via smart device Camera advice ...' + String.fromCharCode(10) + String.fromCharCode(10) + '1. Touch browsing Choose File button that has just appeared.' + String.fromCharCode(10) + '2. Choose to Take Photo.' + String.fromCharCode(10) + '3. Consider any zooming in or selfie modes of use in Photo mode.' + String.fromCharCode(10) + '4. Take photo with Camera app white button, choosing Use Photo or Retake, as required.' + String.fromCharCode(10) + '5. Scribble any optional messaging in white area to right, or use other discreet touch functionalities.' + String.fromCharCode(10) + '6. Optionally email off to recipient' + safariblurb + '.' + String.fromCharCode(10);
}
} else if (8 == 9 && document.getElementById('myta')) {
document.getElementById('myta').value='Postcard via smart device Camera advice ...' + String.fromCharCode(10) + String.fromCharCode(10) + '1. Touch browsing Choose File button that has just appeared.' + String.fromCharCode(10) + '2. Choose to Take Photo.' + String.fromCharCode(10) + '3. Consider any zooming in or selfie modes of use in Photo mode.' + String.fromCharCode(10) + '4. Take photo with Camera app white button, choosing Use Photo or Retake, as required.' + String.fromCharCode(10) + '5. Scribble any optional messaging in white area to right, or use other discreet touch functionalities.' + String.fromCharCode(10) + '6. Optionally email off to recipient' + safariblurb + '.' + String.fromCharCode(10);
} else if (parent.document.URL.indexOf('postcard=y') != -1 && parent.document.getElementById('mode')) {
setTimeout(function() { if (safariblurb == '') { safariblurb=' (as textbox below goes yellow, click email sender button to its left for easier usage)'; setTimeout(checkonyellow, 3000); } parent.document.getElementById('mode').innerHTML=('Postcard via smart device Camera advice ...<br><br>1. Touch browsing Choose File button that has just appeared.<br>2. Choose to Take Photo.<br>3. Consider any zooming in or selfie modes of use in Photo mode.<br>4. Take photo with Camera app white button, choosing Use Photo or Retake, as required.<br>5. Scribble any optional messaging in white area to right, or use other discreet touch functionalities.<br>6. Optionally email off to recipient' + safariblurb + '.<br>'); setTimeout(clearmode, 20000); }, 7000);
} else {
setTimeout(function() { alert('Postcard via smart device Camera advice ...' + String.fromCharCode(10) + String.fromCharCode(10) + '1. Touch browsing Choose File button that has just appeared.' + String.fromCharCode(10) + '2. Choose to Take Photo.' + String.fromCharCode(10) + '3. Consider any zooming in or selfie modes of use in Photo mode.' + String.fromCharCode(10) + '4. Take photo with Camera app white button, choosing Use Photo or Retake, as required.' + String.fromCharCode(10) + '5. Scribble any optional messaging in white area to right, or use other discreet touch functionalities.' + String.fromCharCode(10) + '6. Optionally email off to recipient' + safariblurb + '.' + String.fromCharCode(10)); }, 7000);
}
}
}
function zoomlater() {
if (zfac != '') { document.head.innerHTML=' <style> html { zoom:' + zfac.replace(';','') + '; } </style> '; }
}
function getCookie(c_name) { // https://stackoverflow.com/questions/4825683/how-do-i-create-and-read-a-value-from-cookie
if (localStorage && localStorage.getItem(c_name) && c_name != 'gameon') { // thanks to https://www.w3schools.com/html/html5_webstorage.asp
//alert(2);
//document.title+=' get ';
//alert(localStorage.getItem(c_name));
return unescape(localStorage.getItem(c_name));
} else if (document.cookie.length > 0) {
//alert(12);
var c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
var c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return null; //"";
}
function topcwoop() {
var thiswoopj=document.getElementById('topcanvas').toDataURL('data/jpeg', 10);
if (thiswoopj != lastwoopj) {
lastwoopj=thiswoopj;
document.getElementById('topcanvas').style.cursor='progress';
woop.document.getElementById(slideis).value=lastwoopj;
setTimeout(function(){ document.getElementById('topcanvas').style.cursor='pointer'; }, 2000);
}
}
function check_for_supervision() {
return false;
// Check if being supervised by Socket.IO Node.js Whiteboard web application ...
if (getCookie('gameon') != null) {
if (getCookie('gameon').substring(0,1) != 'n') { // there are potentially collaborating players
document.body.style.backgroundColor='magenta';
if (document.getElementById('rchallenge')) {
document.getElementById('rchallenge').style.display='block';
//document.getElementById('ichallenge').style.display='block';
}
setTimeout(check_for_supervision, 3000);
return true;
} else { // but we are the only players
document.body.style.backgroundColor='cyan';
if (document.getElementById('rchallenge')) {
document.getElementById('rchallenge').style.display='none';
//document.getElementById('ichallenge').style.display='none';
}
setTimeout(check_for_supervision, 3000);
return true;
}
} else if (parent.document.getElementById('gameon')) {
if (parent.document.getElementById('gameon').value == '') { // but we are the only players
document.body.style.backgroundColor='cyan';
if (document.getElementById('rchallenge')) {
document.getElementById('rchallenge').style.display='none';
//document.getElementById('ichallenge').style.display='none';
}
setTimeout(check_for_supervision, 3000);
return true;
} else { // there are potentially collaborating players
document.body.style.backgroundColor='magenta';
if (document.getElementById('rchallenge')) {
document.getElementById('rchallenge').style.display='block';
//document.getElementById('ichallenge').style.display='block';
}
setTimeout(check_for_supervision, 3000);
return true;
}
} else {
document.body.style.backgroundColor='olive';
}
return false;
}
window.onload = (function() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var hh = today.getHours();
var minm = today.getMinutes(); //January is 0!
var ss = today.getSeconds();
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
hh=hh;
}
ie = (function(){ // thanks to http://stackoverflow.com/questions/5574842/best-way-to-check-for-ie-less-than-9-in-javascript-without-library
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
all[0]
);
return v > 4 ? v : undef;
}());
elem = document.getElementById('topcanvas');
context = elem.getContext("2d");
//context.drawImage(img,0,0);
elemLeft = elem.offsetLeft;
elemTop = elem.offsetTop;
if (1 == 1) {
setTimeout(rhuhf, 1000);
} else {
var rhuh=document.getElementById('rform');
if (rhuh != null) {
if (document.getElementById('rform').innerHTML.indexOf('rchallenge') != -1) rhuh=null;
}
if (check_for_supervision() || rhuh) {
document.getElementById('rform').innerHTML+="<br><input onclick='sendchallenge(this.id);' id='rchallenge' name='rchallenge' align='center' type='button' value='Share'></input>";
//document.getElementById('iform').innerHTML+="<br><input onclick='sendchallenge(this.id);' id='ichallenge' name='ichallenge' align='center' type='button' value='Challenge'></input>";
}
}
});
function pduris(tvi) {
if (parent.document.getElementById('pduration')) {
parent.document.getElementById('pduration').value=tvi;
} else if (document.getElementById('pduration')) {
document.getElementById('pduration').value=tvi;
}
}
function newslide() {
if (parent.document.getElementById('danimation')) {
parent.document.getElementById('pcoords').value+='|';
parent.document.getElementById('pcircle').value+='|';
if (parent.document.getElementById('danimation').innerHTML.indexOf('duration') == -1) {
parent.document.getElementById('danimation').innerHTML+=' Seconds: <input onchange=pduris(this.value); onblur=pduris(this.value); type=number step=0.01 min=0.01 id=nduration value="0.5"></input>';
}
} else if (document.getElementById('danimation')) {
document.getElementById('pcoords').value+='|';
document.getElementById('pcircle').value+='|';
if (document.getElementById('danimation').innerHTML.indexOf('duration') == -1) {
document.getElementById('danimation').innerHTML+=' Seconds: <input onchange=pduris(this.value); onblur=pduris(this.value); type=number step=0.01 min=0.01 id=nduration value="0.50"></input>';
}
}
if (parent.document.getElementById('mypform')) {
if (parent.document.getElementById('mypform').innerHTML.indexOf('duration') == -1) {
parent.document.getElementById('mypform').innerHTML+='<input type=hidden id=pduration name=duration value="0.5"></input>';
}
} else if (document.getElementById('mypform')) {
if (document.getElementById('mypform').innerHTML.indexOf('duration') == -1) {
document.getElementById('mypform').innerHTML+='<input type=hidden id=pduration name=duration value="0.5"></input>';
}
}
}
function rhuhf() {
var rhuh=document.getElementById('rform');
if (rhuh != null) {
//alert('rhuh != null');
if (document.getElementById('rform').innerHTML.indexOf('rchallenge') != -1) {
rhuh=null;
//alert('rhuh = null');
}
}
if (check_for_supervision() || rhuh) {
//alert('rhuh');
document.getElementById('rform').innerHTML+="<br><input onclick='sendchallenge(this.id);' id='rchallenge' name='rchallenge' align='center' type='button' value='Share'></input>";
//document.getElementById('iform').innerHTML+="<br><input onclick='sendchallenge(this.id);' id='ichallenge' name='ichallenge' align='center' type='button' value='Challenge'></input>";
}
}
function fixtopiframe() {
if (document.URL.indexOf('?') != -1) {
if (document.getElementById('topiframe').src.indexOf('?') == -1) {
document.getElementById('topiframe').src=document.getElementById('topiframe').src.split('#')[0] + '?' + document.URL.split('?')[1] + '&randn=' + Math.floor(Math.random() * 456789);
} else {
document.getElementById('topiframe').src=document.getElementById('topiframe').src.split('#')[0] + '&' + document.URL.split('?')[1] + '&randn=' + Math.floor(Math.random() * 456789);
}
//alert( document.getElementById('topiframe').src);
}
if (elem) {
if (eval('' + dzslides.length) == 0) {
dzslides.push(elem.toDataURL());
}
} else if (document.getElementById('topcanvas')) {
if (eval('' + dzslides.length) == 0) {
dzslides.push(document.getElementById('topcanvas').toDataURL());
}
}
}
function s_s_o(iois) {
if (iois != null) {
ssois = (iois.contentWindow || iois.contentDocument);
if (ssois.rezeroalt) {
top.ssois=ssois;
}
if (ssois != null) {
if (ssois.document) { ssois = ssois.document; }
if (ssois.rezeroalt) {
top.ssois=ssois;
}
//alert('xjhgf');
}
}
}
function cancontlook() {
if (cancont != '') { // called via SVG - IMG - CANVAS
celem=document.getElementById('topcanvas');
ccontext = celem.getContext("2d");
celem.width=cancontw;
celem.height=canconth;
cimg=new Image;
//console.log('cancontw,canconth=' + cancontw + ',' + canconth + ' cancont=' + cancont);
cimg.onload = function(){
ccontext.drawImage(cimg,0,0);
};
cimg.src=cancont;
if (document.getElementById('toptd')) {
document.getElementById('toptd').style.left='' + cancontw + 'px';
var recttoptd=document.getElementById('toptd').getBoundingClientRect();
document.getElementById('topcbutton').innerHTML='⬅';
document.getElementById('topcbutton').style.position='fixed';
document.getElementById('topcbutton').style.top='' + recttoptd.top + 'px';
//document.getElementById('topcbutton').style.left='' + recttoptd.left + 'px';
document.getElementById('topcbutton').style.left='' + eval(0.98 * eval('' + screen.width)) + 'px';
document.getElementById('topcbutton').style.zIndex='89';
document.getElementById('topcbutton').title='Back to SVG - IMG - CANVAS web application caller';
//document.getElementById('topcbutton').onclick=function() { window.opener.focus(); };
}
if (document.getElementById('toppixellate')) {
document.getElementById('toppixellate').style.top='' + canconth + 'px';
}
if (('' + location.hash).replace(/^\#/g,'') != '') {
document.getElementById('topcstyle').innerHTML='<style> #topcanvas { ' + decodeURIComponent(('' + location.hash)).replace(/^\#/g,'') + ' } </style>';
document.body.style.backgroundColor='transparent';
}
}
}
function iysh() {
if (document.getElementById('topcbutton').innerHTML.indexOf(' ') != -1) {
document.getElementById('topcbutton').innerHTML=document.getElementById('topcbutton').innerHTML.replace(' ','');
alert('Please do this manually');
}
}
function woff() {
document.getElementById('topcbutton').innerHTML+=' ';
setTimeout(iysh, 2000);
window.opener.focus();
}
function dragstart(ev) {
lastelem=ev.target;
if (('' + ev.target.outerHTML).indexOf('<textarea') == 0) {
ev.dataTransfer.setData("text/plain", ev.target.value);
} else {
ev.dataTransfer.setData("text/plain", document.getElementById('topcanvas').toDataURL());
}
}
function dragover(ev) {
ev.preventDefault();
}
function drop(ev) {
var prefixingih='', mtdone=false, opsty='', htmlis='';
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
if (lastelem == null) { lastelem=document.getElementById('topcanvas'); }
if (('' + lastelem.outerHTML).indexOf('<textarea') == 0) {
lastdrop=lastelem.value;
lastelem=null;
while (lastdrop.indexOf(String.fromCharCode(10)) != -1) {
lastdrop=lastdrop.replace(String.fromCharCode(10),'<br>');
}
prefixingih='<span style=background-color:white;>' + lastdrop + '</span><br><br>';
opsty=' style="opacity:0.3;" ';
lastdrop=dzslides[0];
document.getElementById('target').innerHTML = dzslides[0];
if (document.getElementById('tarbut')) {
mtdone=true;
document.getElementById('tarbut').style.marginTop='0px';
}
} else {
document.getElementById('target').innerHTML = document.getElementById('topcanvas').toDataURL();
lastdrop=document.getElementById('target').innerHTML;
if (document.getElementById('tarbut')) {
mtdone=true;
document.getElementById('tarbut').style.marginTop=wasmt;
}
}
} else {
if (('' + lastelem.outerHTML).indexOf('<textarea') == 0) {
lastdrop=lastelem.value;
lastelem=null;
while (lastdrop.indexOf(String.fromCharCode(10)) != -1) {
lastdrop=lastdrop.replace(String.fromCharCode(10),'<br>');
}
prefixingih='<span style=background-color:white;>' + lastdrop + '</span><br><br>';
opsty=' style="opacity:0.3;" ';
lastdrop=dzslides[0];
document.getElementById('target').innerHTML = dzslides[0];
if (document.getElementById('tarbut')) {
mtdone=true;
document.getElementById('tarbut').style.marginTop='0px';
}
} else {
ev.target.innerHTML = ev.dataTransfer.getData("text");
lastdrop=ev.target.innerHTML;
if (document.getElementById('tarbut')) {
mtdone=true;
document.getElementById('tarbut').style.marginTop=wasmt;
}
}
}
document.getElementById('topcanvas').setAttribute('draggable','false');
document.getElementById('target').innerHTML=prefixingih + '<button ' + opsty + ' id=tarbut ontouchmove=\"dzoreopen=true;\" oncontextmenu=\"dzoreopen=true;\" onclick=\" event.stopPropagation(); if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { drop(document.getElementById(' + "'target'" + ')); } else { document.getElementById(' + "'topcanvas').setAttribute('draggable','true'); document.getElementById('target').innerHTML=''; if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { document.getElementById('starbut').style.zIndex='50'; } else { document.getElementById('starbut').style.marginTop='-50px'; document.getElementById('starbut').style.zIndex='-50'; } document.getElementById('starbut').innerHTML='" + dz + "'" + '; } \">' + dz + ' for Canvas After Click</button>';
if (document.getElementById('tarbut') && !mtdone) {
mtdone=true;
if (prefixingih != '') {
document.getElementById('tarbut').style.marginTop='0px';
} else {
document.getElementById('tarbut').style.marginTop=wasmt;
}
}
document.getElementById('starbut').innerHTML='';
var rectis=document.getElementById('target').getBoundingClientRect();
if (document.getElementById('mydbut')) {
rectis=document.getElementById('mydbut').getBoundingClientRect();
} else if (document.getElementById('tarbut')) {
rectis=document.getElementById('tarbut').getBoundingClientRect();
}
document.getElementById('target').setAttribute('data-mt','' + eval(-30 + eval('' + rectis.width)));
document.getElementById('target').style.backgroundColor='white';
document.getElementById('target').style.height='' + rectis.width + 'px';
document.getElementById('target').style.backgroundImage='url(' + lastdrop + ')';
if (agconto) {
//alert('3 ' + agidis);
agconto.getElementById(agidis).focus();
agconto.getElementById(agidis).value=lastdrop;
//alert(56);
//iois.maybemore(lastdrop, 'slideshow' + agiscnt, agconto.getElementById(agidis));
agconto.getElementById(agidis).blur();
//alert(256);
agiscnt++;
//alert('2:' + agiscnt);
agidis='slideshow' + agiscnt;
//agconto.getElementById(agidis).focus();
window.scrollTo(0,0);
//setTimeout(function() { agconto.getElementById(agidis).focus(); }, 6000);
}
document.getElementById('target').style.backgroundSize='contain';
document.getElementById('target').style.backgroundRepeat='no-repeat';
if (document.getElementById('topdragstyle').innerHTML == '' && prefixingih == '') {
wasmt='' + eval(-30 + eval('' + rectis.width)) + 'px';
document.getElementById('tarbut').style.marginTop=wasmt;
//var rectistb=document.getElementById('tarbut').getBoundingClientRect();
//document.getElementById('topdragstyle').innerHTML='<style> #tarbut { position:absolute; left:' + rectistb.left + 'px; top:' + eval(eval(0 * eval(-30 + eval('' + rectis.width))) + eval('' + rectistb.top)) + 'px; margin-top:0px !important; } </style>';
}
if (document.getElementById('tarbut')) {
dzslides.push(document.getElementById('target').outerHTML.replace(document.getElementById('tarbut').outerHTML,''));
} else {
dzslides.push(document.getElementById('target').outerHTML);
}
if (eval('' + dzslides.length) > 2) {
//var htmlis='';
if (dzo == null) {
dzo=window.open('','_blank','top=200,left=' + eval(-420 + eval('' + screen.width)) + ',width=300,height=300');
if (popupemailfunction == '') {
popupemailfunction=' function doagdisplay() { window.opener.document.getElementById("agshow").value="y"; } function dopopupemail() { var huhe=prompt("Please enter email address to share Animated GIF style presentation with. Append a hashtagged delay between slides in milliseconds that is not 4000 optionally.", ""); if (huhe == null) { huhe=""; } if (huhe.indexOf("@") != -1) { if (huhe.indexOf("#") != -1) { document.getElementById("aemail").href=document.getElementById("aemail").href.replace(encodeURIComponent("delay=4000"),encodeURIComponent("delay=" + huhe.split("#")[1])); huhe=huhe.split("#")[0]; } document.getElementById("aemail").href=document.getElementById("aemail").href.replace(":?", ":" + huhe + "?"); document.getElementById("aemail").click(); } } ';
}
htmlis='<ht' + 'ml><he' + 'ad><title>Inhouse Animated GIF style presentation ...</title><scri' + 'pt type=text/javascript> var dataih="", oneround=false, curslides=0, thislag=0; ' + popupemailfunction + ' function shows() { thislag=1; curslides=window.opener.getdzlen(); for (var ii=0; ii<curslides; ii++) { if (ii == 0) { if (!oneround) { oneround=true; document.getElementById("semail").style.display="inline-block"; document.getElementById("sag").style.display="inline-block"; } setTimeout(function() { dataih=window.opener.getdzfirst(); if (document.getElementById("aemail").href.indexOf(encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,"")))) == -1) { document.getElementById("aemail").href+=encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,""))); } document.getElementById("ptarget").innerHTML=dataih; }, thislag); } else { setTimeout(function() { dataih=window.opener.getdznext(); if (document.getElementById("aemail").href.indexOf(encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,"")))) == -1) { document.getElementById("aemail").href+=encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,""))); } document.getElementById("ptarget").innerHTML=dataih; }, thislag); } thislag+=4000; } setTimeout(shows, thislag); } setTimeout(shows,5000); </scr' + 'ipt></he' + 'ad><bo' + 'dy data-onload="setTimeout(shows,5000);"><div id=ptarget></div><br><button title="Share via Email" id=semail style=display:none; onclick="dopopupemail();">📧</button> <button title="Create Animated GIF or other animation form" id=sag style=display:none; onclick="doagdisplay();">📹</button><a target=top id=aemail style=display:none; href="mailto:?subject=Animated%20GIF%20presentation&body=' + encodeURIComponent('https://www.rjmprogramming.com.au/htmlemail.html?delay=4000#') + '">Email</a></bo' + 'dy></ht' + 'ml>';
dzo.document.write(htmlis);
dzo.document.title='Inhouse Animated GIF style presentation ...';
} else if (dzo.closed) {
if (dzoreopen) {
dzo=window.open('','_blank','top=200,left=' + eval(-420 + eval('' + screen.width)) + ',width=300,height=300');
htmlis='<ht' + 'ml><he' + 'ad><title>Inhouse Animated GIF style presentation ...</title><scri' + 'pt type=text/javascript> var dataih="", oneround=false, curslides=0, thislag=0; ' + popupemailfunction + ' function shows() { thislag=1; curslides=window.opener.getdzlen(); for (var ii=0; ii<curslides; ii++) { if (ii == 0) { if (!oneround) { oneround=true; document.getElementById("semail").style.display="inline-block"; document.getElementById("sag").style.display="inline-block"; } setTimeout(function() { dataih=window.opener.getdzfirst(); if (document.getElementById("aemail").href.indexOf(encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,"")))) == -1) { document.getElementById("aemail").href+=encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,""))); } document.getElementById("ptarget").innerHTML=dataih; }, thislag); } else { setTimeout(function() { dataih=window.opener.getdznext(); if (document.getElementById("aemail").href.indexOf(encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,"")))) == -1) { document.getElementById("aemail").href+=encodeURIComponent(encodeURIComponent(dataih.split("url(")[1].split(")")[0].replace(/\"\;/g,"").replace(/\"/g,""))); } document.getElementById("ptarget").innerHTML=dataih; }, thislag); } thislag+=4000; } setTimeout(shows, thislag); } setTimeout(shows,5000); </scr' + 'ipt></he' + 'ad><bo' + 'dy data-onload="setTimeout(shows,5000);"><div id=ptarget></div><br><button title="Share via Email" id=semail style=display:none; onclick="dopopupemail();">📧</button> <button title="Create Animated GIF or other animation form" id=sag style=display:none; onclick="doagdisplay();">📹</button><a target=top id=aemail style=display:none; href="mailto:?subject=Animated%20GIF%20presentation&body=' + encodeURIComponent('https://www.rjmprogramming.com.au/htmlemail.html?delay=4000#') + '">Email</a></bo' + 'dy></ht' + 'ml>';
dzo.document.write(htmlis);
}
} else {
dzo.focus();
}
}
}
function getdzlen() {
return eval('' + dzslides.length);
}
function getdzfirst() {
var iwhich=0;
dzcnt=1;
if (iwhich == 0) {
//alert(document.getElementById('target').outerHTML);
var pone=document.getElementById('target').outerHTML.split('>')[0].replace('url(' + document.getElementById('target').outerHTML.split('url(')[1].split(')')[0] + ')', 'url(' + dzslides[iwhich] + ')');
return pone + '></div>';
}
if (('' + dzslides[iwhich]) == 'undefined') { return ''; }
return dzslides[iwhich];
}
function getdznext() {
var iwhich=dzcnt;
dzcnt++;
if (iwhich == 0) {
var pone=document.getElementById('target').outerHTML.split('>')[0].replace('url(' + document.getElementById('target').outerHTML.split('url(')[1].split(')')[0] + ')', 'url(' + dzslides[iwhich] + ')');
return pone + '></div>';
}
if (('' + dzslides[iwhich]) == 'undefined') { return ''; }
return dzslides[iwhich];
}
function getdz(iwhich) {
if (iwhich == 0) {
//alert(document.getElementById('target').outerHTML);
var pone=document.getElementById('target').outerHTML.split('>')[0].replace('URL(' + document.getElementById('target').outerHTML.split('URL(')[1].split(')')[0] + ')', 'URL(' + dzslides[iwhich] + ')');
return pone + '></div>';
}
if (('' + dzslides[iwhich]) == 'undefined') { return ''; }
return dzslides[iwhich];
}
function agmaybe() {
iois=document.getElementById('ifconto');
if (iois != null) {
//alert(13);
if (iois.src.indexOf('tutorial_to_animated_gif.php') != -1) {
agconto = (iois.contentWindow || iois.contentDocument);
//alert(23);
if (agconto != null) {
if (agconto.document) { agconto = agconto.document; }
//alert(33);
agconto.getElementById('delay').value='4000';
agconto.getElementById('stitle').value='My Animation ...';
agconto.getElementById('watermarkmode').value=' ';
var spans=agconto.getElementsByTagName('span');
for (var jspans=0; jspans<spans.length; jspans++) {
if (spans[jspans].innerHTML == ' Delay(s)' && spans[jspans].outerHTML.indexOf('do' + 'dt') != -1) { spans[jspans].click(); }
}
if (!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i) || 1 == 1) {
agconto.getElementById('slideshow').focus();
window.scrollTo(0,0);
}
//alert(43);
}
}
}
}
function agcheck() {
if (document.getElementById('agshow')) {
if (document.getElementById('agshow').value == 'y') {
document.getElementById('agshow').value='Y';
//document.getElementById('ifconto').style.display='block';
location.href='#ifconto';
}
}
}
// capture keyboard input
// Thanks to https://stackoverflow.com/questions/37284120/detect-spacebar-press-when-no-text-inputs-are-focused
document.onkeydown = function (e) {
// check for U or R press
if (('' + e.keyCode) == '85' || ('' + e.keyCode) == '82') { // Undo or Redo
// check if an input is currently in focus
var zinputtype=('' + document.activeElement.nodeName.toLowerCase());
if (zinputtype.replace('body','canvas').indexOf('canvas') != -1) {
xinputtype=zinputtype;
// prevent default spacebar event (scrolling to bottom)
e.preventDefault();
// do stuff you want ...
if (('' + e.keyCode) == '85') { // Undo
document.getElementsByTagName(xinputtype)[0].style.cursor='progress';
setTimeout(function(){ document.getElementById('jsundo').click(); document.getElementsByTagName(xinputtype)[0].style.cursor='pointer'; }, 5000);
} else if (('' + e.keyCode) == '82') { // Redo
document.getElementsByTagName(xinputtype)[0].style.cursor='progress';
setTimeout(function(){ document.getElementById('jsredo').click(); document.getElementsByTagName(xinputtype)[0].style.cursor='pointer'; }, 5000);
}
}
}
};
setInterval(agcheck, 2000);
setTimeout(fixtopiframe, 2000);
</script>
</head>
<body style='background-color:orange;' onload=" if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { document.getElementById('target').onclick=function(){ if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { drop(document.getElementById('target')); } }; document.getElementById('mydbut').innerHTML=document.getElementById('mydbut').innerHTML.replace('Drop Zone', dz); } setTimeout(cancontlook,7000);">
<table style='width:100%;'><tr style='width:100%;'><td id='lefttd'>
<canvas ondragstart="dragstart(event);" draggable="false" title="Ready for you to create your canvas 🎨 content above any signature 💳 panel ... keys U for Undo and R for Redo can work after a discrete click ending any scribble mode of use" id="topcanvas" width=850 height=600 style="background-color:white; position: absolute; top:0; left:0; border-bottom:5px solid yellow; border-right:5px solid blue;"></canvas>
<br><iframe width=850 height=600 title='Some graphics pixellated' id='toppixellate' name='toppixellate' src='' style='display:none;position:absolute;top:610px;left:0px;'></iframe><iframe onload='s_s_o(this);' id='topiframe' src='./signature_signature.html?fgd=hwpjgfa' style='display:none;'></iframe><div id=pixellate></div><br>
<!--form id='mypform' style='display:none;' action='//www.rjmprogramming.com.au/PHP/pixellate.php' method='POST' target='toppixellate'-->
<form id='mypform' style='display:none;' action='../PHP/pixellate.php' method='POST' target='toppixellate'>
<input type='hidden' name='circle' id='pcircle' value=''></input>
<input type='hidden' name='coords' id='pcoords' value=''></input>
<input type='hidden' name='mode' id='pmode' value='pixellate'></input>
<input type='hidden' name='width' id='pwidth' value='850'></input>
<input type='hidden' name='height' id='pheight' value='600'></input>
<input type='submit' id='mypsbut' value='Submit' style='display:none;'></input>
</form>
</td>
<td id='toptd' style='position: absolute; top:0px; left:860px; float:right;'>
<h1 ondragstart='dragstart(event);' draggable='true'>User of Signature Signature</h1>
<div id="target" ondrop="drop(event);" ondragover="dragover(event);" data-mt="0" style="vertical-align:bottom;display:block;background-color:transparent;">
<button id=mydbut ontouchmove="dzoreopen=true;" oncontextmenu="dzoreopen=true;" ondblclick="dzoreopen=true;" onclick=" event.stopPropagation(); if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { drop(document.getElementById('target')); } else { document.getElementById('topcanvas').setAttribute('draggable','true'); document.getElementById('target').innerHTML='<span id=tarbut style=margin-top:' + document.getElementById('target').getAttribute('data-mt') + 'px;>' + dz + '</span>'; } ">Drop Zone for Canvas After Click</button>
</div>
<span id=starbut onclick=" if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { drop(document.getElementById('target')); }"></span>
</td></tr></table><div id='rform'></div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<!--input id='inthemiddleofsomething' value='' type='hidden'></input-->
<div id=topcstyle style=display:none;></div>
<div id=topcbutton onclick=woff();></div>
<script type='text/javascript' src='/web_share_api_test.js?canvasshare=as_necessary986765444' defer></script>
<div id=topdragstyle style=display:none;></div>
<input type=hidden value='' id='agshow'></input>
<input type=hidden value='' id='thegifnamegoeshere'></input>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<iframe onload='setTimeout(agmaybe,9000);' id=ifconto name=ifconto src='/PHP/animegif/tutorial_to_animated_gif.php' style='width:100%;height:900px;display:BLOCK;'></iframe>
<div id=dwordimg></div>
</body>
</html>