// signature_signature.js
// RJM Programming
// May, 2017
// Help out signature_signature.html and others like it
var jsanimg=null, lastim='';
var topprocessb=null,topin=null,toplastta='',topfirst=true,toplthere=false, topelem=null, topielem=null, topcontext=null, topwidth=0, topheight=0, topvswidth=0, topvsheight=0, topvswidthoff=0, topvsheightoff=0;
var firstcall=true;savenow=0, lastsavenow=0, ppx=-1,ppy=-1,pmore='', isScribble=1; //0;
var prevlines=[], lines=[];
var eighteen=18;
var njk=0
var imgmode="y";
var omyh1;
var lastimis="";
var fcont="";
var bigi=0;
var bigj=0;
var wl="", pddcm="";
var doneonce="";
var presm="sm";
var bigbuffer="";
var prevmy_res="";
var bigf=new Array();
var urlsuf="";
var zipcnt=0;var jsrectbits=[0,0,0,0,0,0];
var jsclickno = 0;
var jsimgh=0, jsimgw=0;
var jsemail = "";
var jscf = "18px Verdana", lastjscf=jscf;
var precolcf = "black";
var colcf = "blue rgba(0,0,255,1.0)";
var xua = navigator.userAgent;
var isiPad = /iPad/i.test(xua) || /iPhone/i.test(xua) || /iPhone OS 3_1_2/i.test(xua) || /Andrxoid/i.test(xua) || /iPhone OS 3_2_2/i.test(xua);
var isTouch = /touch/i.test(xua) || /Touch/i.test(xua);
var sscoords = (location.search.split('sscoords=')[1] ? decodeURIComponent(location.search.split('sscoords=')[1].split('&')[0]) : '');
var ninehundred = (location.search.split('ninehundred=')[1] ? eval(decodeURIComponent(location.search.split('ninehundred=')[1].split('&')[0])) : 900);
if (ninehundred > 900) sscoords='';
//var cbrowse='
Read bytes :';
var cbrowse='
';
cbrowse+='
';
cbrowse+=' 1-5 ';
cbrowse+=' 6-15 ';
cbrowse+=' 7-8 ';
cbrowse+=' Process ';
var cbrowse_nocapture=cbrowse.replace(' capture','');
function maybemedia(inidea) {
var outidea = inidea;
var parts = inidea.split("<");
var pdfi = "icon_pdf.gif";
var doci = "icon_doc.gif";
var xlsi = "icon_xls.gif";
var appi = "icon_popup.gif";
var audioi = "icon_external.gif";
var dparts = String.fromCharCode(34) + parts[0] + String.fromCharCode(34);
var videoi = "icon_external.gif";
if (inidea.indexOf("/pdf") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("audio/") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("video/") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("application/") != -1 && inidea.indexOf("spreadsheet") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("application/") != -1 && (inidea.indexOf("document") != -1 || inidea.indexOf("msword") != -1)) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("application/") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
} else if (inidea.indexOf("image/") != -1) {
outidea = inidea.replace(" Type is ", "
Type is ");
}
//alert(outidea);
return outidea;
}
function readBlob(opt_startByte, opt_stopByte) {
omyh1 = parent.document.getElementById("myh1");
var files = parent.document.getElementById("file").files;
if (!files.length) {
alert("Please select a file!");
return;
}
var file = files[0];
var ourfile;
for (var i = 0; i < files.length; i++) {
ourfile = files[i];
// Check the file type.
if ((ourfile.type.indexOf("audio/") != -1 && (njk == 0 || njk == 2)) || (ourfile.type.indexOf("video/") != -1 && (njk == 0 || njk == 1))) {
// Add the file to the request.
njk = njk + 1;
if (ourfile.type.indexOf("video/") != -1) {
njk = njk + 1;
vformData.append("vfile", ourfile, ourfile.name);
} else {
aformData.append("afile", ourfile, ourfile.name);
}
}
}
var start = parseInt(opt_startByte) || 0;
var stop = parseInt(opt_stopByte) || file.size - 1;
var reader = new FileReader();
if ((imgmode == " " && file.type.match('image.*') && "" != "n") || "" == "no") {
imgmode = "y";
} else if (imgmode == " ") {
imgmode = "";
}
if ("" != "n" && "" != "nowayjose" && (imgmode == "y" || file.type.match('image.*') || file.type.indexOf('/pdf') != -1 || file.type.indexOf('audio/') != -1 || file.type.indexOf('video/') != -1 || file.type.indexOf('application/') != -1)) {
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
if ("" == "no") { // zipping files scenario ... yay one
var ond=0; //parseInt(parent.document.getElementById("cntzip").value);
var dno=eval(1 + ond);
if (escape(theFile.name) != "" && parent.document.body.innerHTML.indexOf("*" + escape(theFile.name) + "*") == -1) {
parent.document.body.innerHTML = parent.document.body.innerHTML + "
*" + escape(theFile.name) + "*
";
//alert(dno);
parent.document.getElementById("cntzip").value = dno;
//alert(parent.document.getElementById("cntzip").value);
var maybe=prompt("Zipping " + theFile.name + " ... is this okay? When all done, click the Download button to access the zip file.", "Yes");
if (maybe == null || maybe != "Yes") {
maybe = maybe;
} else {
parent.document.getElementById("z" + dno + "name").value = escape(theFile.name);
parent.document.getElementById("fzip" + dno).action = parent.document.getElementById("fzip" + dno).action.replace("fnum=", "fnum=" + escape(theFile.name) + ";");
parent.document.getElementById("izip" + dno).src = parent.document.getElementById("izip" + dno).src.replace("fnum=", "fnum=" + escape(theFile.name) + ";");
parent.document.getElementById("z" + dno + "data").value = e.target.result;
parent.document.getElementById("bzip" + dno).click();
setTimeout(zclick, 5000);
}
}
} else {
// Render thumbnail.
if (parent.document.body.innerHTML.indexOf('" title="' + escape(theFile.name) + '' ) == -1) {
var vid = theFile.name.replace(".","");
var mvid = theFile.name.replace(".","m");
if (theFile.type.indexOf("image/") != -1 || theFile.type.indexOf("/pdf") != -1 || theFile.type.indexOf("audio/") != -1 || theFile.type.indexOf("video/") != -1 || theFile.type.indexOf("application/") != -1) {
var span = parent.document.createElement("span");
var elt = "img";
if (theFile.type.indexOf("image/") == -1) elt = "iframe";
if (theFile.type.indexOf("/pdf") != -1) {
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
} else if (theFile.type.indexOf("audio/") != -1) {
//alert(11);
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
if (parent.document.getElementById("afilename").value == "") {
parent.document.getElementById("afilename").value = ((encodeURIComponent(e.target.result)));
//alert(1);
parent.document.getElementById("af").value = theFile.name;
}
} else if (theFile.type.indexOf("video/") != -1) {
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
if (parent.document.getElementById("vfilename").value == "") {
parent.document.getElementById("vfilename").value = ((encodeURIComponent(e.target.result)));
//alert(2);
parent.document.getElementById("vf").value = theFile.name;
}
} else if (theFile.type.indexOf("application/") != -1 && theFile.type.indexOf("spreadsheet") != -1) {
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
} else if (theFile.type.indexOf("application/") != -1 && (theFile.type.indexOf("document") != -1 || theFile.type.indexOf("msword") != -1)) {
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
} else if (theFile.type.indexOf("application/") != -1) {
span.innerHTML = ['
' + escape(theFile.name) + ''].join('');
} else {
span.innerHTML = ['
'].join('');
}
//parent.document.getElementById('imglist').insertBefore(span, null);
parent.document.getElementById('imglist').src=e.target.result;
//parent.document.getElementById('imglist').style.display='block';
}
var xxxx="
Filename is " + maybemedia(escape(theFile.name) + " ... Type is (" + (theFile.type || "n/a") + ") ... Date is ") + (theFile.lastModifiedDate ? theFile.lastModifiedDate.toLocaleDateString() : "n/a") + " ... Size is " + theFile.size + " bytes
";
var span1 = parent.document.createElement("span");
span1.innerHTML = xxxx;
parent.document.getElementById('imglist').insertBefore(span1, null);
if (theFile.type.indexOf("image/") != -1 || theFile.type.indexOf("/pdf") != -1 || theFile.type.indexOf("audio/") != -1 || theFile.type.indexOf("video/") != -1 || theFile.type.indexOf("application/") != -1) {
var span2 = parent.document.createElement("span");
if (theFile.type.indexOf("/pdf") != -1) {
span2.innerHTML = ['
'].join('');
} else if (theFile.type.indexOf("audio/") != -1) {
span2.innerHTML = ['
'].join('');
if (parent.document.getElementById("afilename").value == "") {
parent.document.getElementById("afilename").value = ((encodeURIComponent(e.target.result)));
parent.document.getElementById("af").value = theFile.name;
}
} else if (theFile.type.indexOf("video/") != -1) {
span2.innerHTML = ['
'].join('');
if (parent.document.getElementById("vfilename").value == "") {
parent.document.getElementById("vfilename").value = ((encodeURIComponent(e.target.result)));
parent.document.getElementById("vf").value = theFile.name;
}
} else if (theFile.type.indexOf("application/") != -1) {
span2.innerHTML = ['
'].join('');
} else {
span2.innerHTML = ['
'].join('');
}
//parent.document.getElementById('imglist').insertBefore(span2, null);
parent.document.getElementById('imglist').src=e.target.result;
//parent.document.getElementById('imglist').style.display='block';
}
}
}
};
})(file);
reader.readAsDataURL(file);
} else if (imgmode == "y") {
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
var vid = theFile.name.replace(".","");
var mvid = theFile.name.replace(".","m");
var xxxx="
Filename is " + maybemedia(escape(theFile.name) + " ... Type is (" + (theFile.type || "n/a") + ") ... Date is ") + (theFile.lastModifiedDate ? theFile.lastModifiedDate.toLocaleDateString() : "n/a") + " ... Size is " + theFile.size + " bytes
";
var span1 = parent.document.createElement("span");
span1.innerHTML = xxxx;
parent.document.getElementById('imglist').insertBefore(span1, null);
};
})(file);
reader.readAsDataURL(file);
} else {
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
parent.document.getElementById("byte_content").textContent = evt.target.result;
parent.document.getElementById("byte_range").textContent =
["Read bytes: ", start + 1, " - ", stop + 1,
" of ", file.size, " byte file"].join("");
process(evt.target.result);
}
};
var blob = file.slice(start, stop + 1);
reader.readAsBinaryString(blob);
}
}
function imageask(tv) {
if (tv.toLowerCase() == 'im' && lastim != tv && lastimis != 'iM') {
lastim=tv;
var ihuh=prompt('Enter an Image URL','');
if (ihuh != null) {
if (ihuh != '') {
jsanimg = new Image();
jsanimg.onload = function() {
jsimgw = jsanimg.width;
jsimgh = jsanimg.height;
if (parent.document.getElementById('dcm').value != parent.document.getElementById('dcm').value.toLowerCase() && parent.document.getElementById('dcm').value.trim() != "") {
//alert("js values=" + jsimgw + "," + jsimgh);
setTimeout(shapedraw,1000);
}
}
jsanimg.onerror = function() {
jsimgw = 0;
jsimgh = 0;
jsanimg = null;
}
jsanimg.src = ihuh;
}
}
}
}
function shapedraw() {
var radis=0.0;
if (parent.document.getElementById('colcf')) {
colcf=parent.document.getElementById('colcf').value;
}
if (parent.document.getElementById('dcm')) {
var dcmv=parent.document.getElementById('dcm').value;
lastim=dcmv;
if (dcmv.replace('iM','iB').toLowerCase() == 'ib' || (dcmv == '' && jsanimg != null)) {
if (jsanimg == null) jsanimg=parent.document.getElementById('imglist');
if (jsanimg != null && (jsimgw == 0 || jsimgh == 0)) {
jsimgw=jsanimg.width;
jsimgh=jsanimg.height;
}
//alert('1' + ' ' + jsimgw);
if (dcmv != dcmv.toLowerCase()) {
if (dcmv.replace('iB','IB') == dcmv.toUpperCase()) {
if (eval(('' + jsimgw).replace('px','')) > eval(('' + topelem.width).replace('px','')) || eval(('' + jsimgh).replace('px','')) > eval(('' + topelem.height).replace('px',''))) {
var wratio=eval(('' + jsimgw).replace('px','')) / eval(('' + topelem.width).replace('px',''));
var hratio=eval(('' + jsimgh).replace('px','')) / eval(('' + topelem.height).replace('px',''));
if (wratio > hratio) {
//alert(eval(('' + jsimgw).replace('px','')) / wratio + 'px ' + eval(('' + jsimgh).replace('px','')) / wratio + 'px');
topielem.style.width=eval(('' + jsimgw).replace('px','')) / wratio + 'px';
topielem.style.height=eval(('' + jsimgh).replace('px','')) / wratio + 'px';
topelem.width=eval(('' + jsimgw).replace('px','')) / wratio;
topelem.height=eval(('' + jsimgh).replace('px','')) / wratio;
} else {
//alert(eval(('' + jsimgw).replace('px','')) / hratio + 'px ' + eval(('' + jsimgh).replace('px','')) / hratio + 'px');
topielem.style.width=eval(('' + jsimgw).replace('px','')) / hratio + 'px';
topielem.style.height=eval(('' + jsimgh).replace('px','')) / hratio + 'px';
topelem.width=eval(('' + jsimgw).replace('px','')) / hratio;
topelem.height=eval(('' + jsimgh).replace('px','')) / hratio;
}
} else {
//alert(eval(('' + jsimgw).replace('px','')) + 'px ' + eval(('' + jsimgh).replace('px','')) + 'px');
topielem.style.width=eval(('' + jsimgw).replace('px','')) + 'px';
topielem.style.height=eval(('' + jsimgh).replace('px','')) + 'px';
topelem.width=eval(('' + jsimgw).replace('px',''));
topelem.height=eval(('' + jsimgh).replace('px',''));
}
}
jsrectbits[0]=0;
jsrectbits[1]=0;
jsrectbits[2]=eval(-1 + eval(('' + topelem.width).replace('px','')));
jsrectbits[3]=eval(-1 + eval(('' + topelem.height).replace('px','')));
parent.document.getElementById('dcm').value=parent.document.getElementById('dcm').value.toLowerCase();
setTimeout(shapedraw,3000);
return;
}
if (jsanimg != null && jsimgw != 0 && jsimgh != 0) {
if (colcf.split(',').length == 4) {
topcontext.globalAlpha = eval(colcf.split(',')[3].split(')')[0]);
} else {
topcontext.globalAlpha = 1.0;
}
//alert(jsrectbits[0] + ',' + jsrectbits[1] + ',' + jsrectbits[2] + ',' + jsrectbits[3]);
topcontext.drawImage(jsanimg,Math.min(jsrectbits[0],jsrectbits[2]),Math.min(jsrectbits[1],jsrectbits[3]),Math.abs(jsrectbits[2] - jsrectbits[0]),Math.abs(jsrectbits[3] - jsrectbits[1]));
}
if (parent.document.getElementById('dcm').value.replace('iM','iB') == 'iB') {
parent.document.getElementById('divbrowse').innerHTML=cbrowse;
} else {
parent.document.getElementById('divbrowse').innerHTML=cbrowse_nocapture;
}
parent.document.getElementById('divbrowse').style.display='none';
parent.document.getElementById('odef').innerHTML=parent.document.getElementById('odef').innerHTML.replace('Rectangle (outline)','Image Browse (sized via two clicks)');
parent.document.getElementById('dcm').value='';
} else if (dcmv == 'ro' || dcmv == '') {
topcontext.beginPath();
topcontext.rect(Math.min(jsrectbits[0],jsrectbits[2]),Math.min(jsrectbits[1],jsrectbits[3]),Math.abs(jsrectbits[2] - jsrectbits[0]),Math.abs(jsrectbits[3] - jsrectbits[1]));
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
} else if (dcmv.toLowerCase() == 'im') {
if (jsanimg != null && jsimgw != 0 && jsimgh != 0) {
if (colcf.split(',').length == 4) {
topcontext.globalAlpha = eval(colcf.split(',')[3].split(')')[0]);
} else {
topcontext.globalAlpha = 1.0;
}
topcontext.drawImage(jsanimg,Math.min(jsrectbits[0],jsrectbits[2]),Math.min(jsrectbits[1],jsrectbits[3]),Math.abs(jsrectbits[2] - jsrectbits[0]),Math.abs(jsrectbits[3] - jsrectbits[1]));
}
} else if (dcmv == 'rf') {
topcontext.beginPath();
topcontext.rect(Math.min(jsrectbits[0],jsrectbits[2]),Math.min(jsrectbits[1],jsrectbits[3]),Math.abs(jsrectbits[2] - jsrectbits[0]),Math.abs(jsrectbits[3] - jsrectbits[1]));
topcontext.fillStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.fill();
} else if (dcmv == 'co') {
topcontext.beginPath();
radis=Math.sqrt(Math.abs(jsrectbits[2] - jsrectbits[0]) * Math.abs(jsrectbits[2] - jsrectbits[0]) + Math.abs(jsrectbits[3] - jsrectbits[1]) * Math.abs(jsrectbits[3] - jsrectbits[1]));
topcontext.arc(jsrectbits[0],jsrectbits[1],radis,0,2*Math.PI);
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
} else if (dcmv == 'cf') {
topcontext.beginPath();
radis=Math.sqrt(Math.abs(jsrectbits[2] - jsrectbits[0]) * Math.abs(jsrectbits[2] - jsrectbits[0]) + Math.abs(jsrectbits[3] - jsrectbits[1]) * Math.abs(jsrectbits[3] - jsrectbits[1]));
topcontext.arc(jsrectbits[0],jsrectbits[1],radis,0,2*Math.PI);
topcontext.fillStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.fill();
} else if (dcmv == 'lo') {
topcontext.beginPath();
topcontext.moveTo(jsrectbits[0],jsrectbits[1]);
topcontext.lineTo(jsrectbits[2],jsrectbits[3]);
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
}
if (isTouch || isiPad) {
parent.document.getElementById('dcm').value=' ';
}
lastimis="";
} else if (dcmv != ' ') {
topcontext.beginPath();
topcontext.rect(Math.min(jsrectbits[0],jsrectbits[2]),Math.min(jsrectbits[1],jsrectbits[3]),Math.abs(jsrectbits[2] - jsrectbits[0]),Math.abs(jsrectbits[3] - jsrectbits[1]));
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
}
}
function topinoff() {
var usedtobe='';
if (topin) {
usedtobe=topin.value;
topin.value='';
//document.title+=(' here at ' + usedtobe);
}
}
function ssj_setCookie(thisg) { // thanks to JavaScript and Ajax by Tom Negrino and Dori Smith
var expireDate = new Date();
expireDate.setMonth(expireDate.getMonth()+6);
//alert(thisg);
if (("sscoords=" + thisg + "; expires=" + expireDate.toGMTString()).length < ninehundred) {
//alert(234);
document.cookie = "sscoords=" + thisg + "; expires=" + expireDate.toGMTString();
} else {
ssj_deleteCookie();
}
}
function ssj_deleteCookie() { // thanks to JavaScript and Ajax by Tom Negrino and Dori Smith
var expireDate = new Date();
expireDate.setMonth(expireDate.getMonth()-6);
document.cookie = "sscoords=; expires=" + expireDate.toGMTString();
}
function ssj_cookieVal(fcall) {
//document.title+=(" firstcall=" + firstcall + " and sscoords=" + sscoords);
if (fcall && sscoords != '') {
if (document.cookie == '') {
//document.title+=(" Sscoords=" + sscoords);
ssj_setCookie(sscoords);
}
} else {
if (document.cookie != '') {
var tCookie=document.cookie.split("; ");
for (var j=0; j
';
document.getElementById('myform').innerHTML+=' ';
document.getElementById('mysbut').click();
}
}
}
function prereadblob() {
readBlob(0,0);
}
function regularly() {
if (parent.document.getElementById('dcm')) {
if (parent.document.getElementById('dcm').value == 'iM') lastimis=parent.document.getElementById('dcm').value;
if (parent.document.getElementById('dcm').value.replace('iM','iB').toLowerCase() =='im') imageask(parent.document.getElementById('dcm').value);
if (parent.document.getElementById('dcm').value.replace('iM','iB').toLowerCase() =='ib') {
if (pddcm != '') {
var xfiles = parent.document.getElementById("file").files;
if (!xfiles.length) {
pddcm='ib';
parent.document.getElementById('divbrowse').style.display='block';
} else {
pddcm='';
jsanimg = null;
bigf[bigf.length] = parent.document.getElementById('file').value;
readBlob(0,0);
if (parent.document.getElementById('dcm').value != parent.document.getElementById('dcm').value.toLowerCase() && parent.document.getElementById('dcm').value.trim() != "") {
setTimeout(shapedraw,2000);
}
}
} else {
pddcm='ib';
topprocessb=parent.document.getElementById('processb');
//if (topprocessb) alert(10);
//topprocessb.addEventListener('onclick', prereadblob);
//if (topprocessb) alert(11);
//topprocessb.addEventListener('onmouseover', function(event) {
// bigf[bigf.length] = parent.document.getElementById('file').value;
// parent.document.getElementById('myf').value = parent.document.getElementById('file').value;
// });
//alert(111);
var taval="";
if (parent.document.getElementById('dcm').value.replace('iM','iB') == 'iB') {
if (parent.document.getElementById('divbrowse').innerHTML.indexOf(' capture') == -1) {
taval=parent.document.getElementById('myta').value;
parent.document.getElementById('divbrowse').innerHTML=cbrowse; //" ";
parent.document.getElementById('myta').value=taval;
}
} else {
if (parent.document.getElementById('divbrowse').innerHTML.indexOf(' capture') != -1) {
taval=parent.document.getElementById('myta').value;
parent.document.getElementById('divbrowse').innerHTML==cbrowse_nocapture; //" ";
parent.document.getElementById('myta').value=taval;
}
}
parent.document.getElementById('divbrowse').style.display='block';
}
//parent.document.getElementById("file").click();
//alert(1111);
//}
}
}
if (parent.document.getElementById('jsemail') && parent.document.getElementById('jsemailb')) {
if (parent.document.getElementById('jsemail').value.indexOf('@') > 0) {
if (parent.document.getElementById('jsemail').value.indexOf(' ') != -1) {
parent.document.getElementById('jsemail').value=parent.document.getElementById('jsemail').value.replace(/\ /g,'');
parent.document.getElementById('jsemailb').style.display='none';
sendtheemail();
} else {
parent.document.getElementById('jsemailb').style.display='inline';
}
}
}
if (parent.document.getElementById('myta')) {
if (parent.document.getElementById('myta').value != '') {
if (toplastta != parent.document.getElementById('myta').value) {
var starth=20, izero=0, fstarth=20, jzero=0;
//topcontext.clearRect(0, 0, eval(topwidth.replace('px','')), eval(topvsheightoff));
if (parent.document.getElementById('jscf')) {
jscf=parent.document.getElementById('jscf').value;
if (jscf.indexOf('px') != -1) {
eighteen=(" " + jscf).split('px')[0].trim().split(' ')[eval(-1 + (" " + jscf).split('px')[0].trim().split(' ').length)];
}
}
if (parent.document.getElementById('colcf')) {
colcf=parent.document.getElementById('colcf').value;
}
topcontext.font = jscf;
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.fillStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
lines=parent.document.getElementById('myta').value.split(String.fromCharCode(10));
var istart=0, iend=0;
if (parent.document.getElementById('dcm')) {
if (parent.document.getElementById('dcm').value.indexOf('Text') == 0) {
iend=1;
}
}
var fifteen=eighteen, five=5;
for (var ii=istart; ii<=iend; ii++) {
for (var ilines=0; ilines ilines) {
if (prevlines[ilines] != lines[ilines]) {
izero=jzero;
if (jzero == 0 && prevlines[ilines] != '' && lines[ilines] != '' && lines[ilines].indexOf(prevlines[ilines]) == 0 && lastjscf != jscf) {
izero=eval(eval('' + eighteen) / 2.5) * eval(prevlines[ilines].length);
//alert(eval(fstarth + 0) + ' at top vs bottom at ' + eval(starth + 20) + ' and left at ' + izero + ' for width ' + eval(eval(topwidth.replace('px','')) - izero));
if (ii == istart && ii == iend) topcontext.clearRect(izero, Math.max(0,eval(fstarth - fifteen) / 1), eval(eval(topwidth.replace('px','')) - izero), eval(starth * 0 + eval('' + eighteen) + 2) / 1);
if (ii == iend) topcontext.strokeText(lines[ilines].substring(prevlines[ilines].length),eval(eval('' + izero) + five),starth);
} else {
if (ii == istart && ii == iend) topcontext.clearRect(izero, Math.max(0,eval(fstarth - fifteen)), eval(eval(topwidth.replace('px','')) - izero), eval(starth * 0 + eval('' + eighteen) + 2));
if (ii == iend) topcontext.strokeText(lines[ilines],eval(eval('' + izero) + five),starth);
}
}
} else {
if (ii == istart && ii == iend) topcontext.clearRect(0, Math.max(0,eval(fstarth - fifteen)), eval(topwidth.replace('px','')), eval(starth * 0 + eval('' + eighteen) + 2));
if (ii == iend) topcontext.strokeText(lines[ilines],eval(eval('' + izero) + five),starth);
}
//if (ii == istart && ii == iend) fifteen=1;
starth+=eval(eval('' + eighteen) + 2);
fstarth=starth;
if (ii == iend) prevlines[ilines]=lines[ilines];
}
if (parent.document.getElementById('dcm')) {
if (parent.document.getElementById('dcm').value.indexOf('Text') == 0) {
if (eval(ppx) > 0 && eval(x) > 0) {
izero=x;
} else {
izero=ppx;
}
jzero=izero;
fifteen=eval('' + eighteen);
five=0;
if (eval(ppy) > 0 && eval(y) > 0) {
fstarth=eval(y + fifteen);
} else {
fstarth=eval(ppy + fifteen);
}
starth=fstarth;
//alert(izero + "," + fstarth);
if (isTouch || isiPad) {
setTimeout(muchlater,10000);
}
}
}
}
toplastta=parent.document.getElementById('myta').value;
lastjscf=jscf;
}
}
}
if (savenow != 0) {
if (savenow != lastsavenow) {
if (document.getElementById('showi')) {
if (document.getElementById('animage')) {
document.getElementById('animage').src = elem.toDataURL("image/png");
}
document.getElementById('showi').style.display='inline';
}
}
}
setTimeout(regularly,1000);
}
function canvas_events() {
//alert(1);
if (parent.document) {
//alert(11);
if (document) {
//alert(111);
if (parent.document != document) { // we are being supervised above another application wanting to access a signature
//alert(1111);
if (parent.document.getElementById('topcanvas') && parent.document.getElementById('topiframe')) {
//alert('yes');
topelem=parent.document.getElementById('topcanvas');
topielem=parent.document.getElementById('topiframe');
if (1 == 1) {
if (parent.document.getElementById('inthemiddleofsomething') == null) {
var honehuhs=parent.document.getElementsByTagName('h1');
if (honehuhs.length > 0) {
honehuhs[0].innerHTML+=" ";
}
} //else {
//alert(90);
//}
}
if (parent.document.getElementById('inthemiddleofsomething')) {
topin=parent.document.getElementById('inthemiddleofsomething');
} //else {
//alert(98);
//}
topcontext = topelem.getContext("2d");
topwidth=('' + topelem.width).replace('px','');
topheight=('' + topelem.height).replace('px','');
//alert('yes again');
if (topelem && topin && 1 == 1) { // onclick discrete clicks section
// Add event listener for `click` events.
topelem.addEventListener('click', function(event) {
if (x == 0 && y == 0 && lastx == 0 && lasty == 0) {
if (event.pageX || event.pageY) {
x = event.pageX - elemLeft;
y = event.pageY - elemTop;
} else {
x = event.clientX - elemLeft;
y = event.clientY - elemTop;
}
lastx=x;
lasty=y;
} else {
lastx=x;
lasty=y;
if (event.pageX || event.pageY) {
x = event.pageX - elemLeft;
y = event.pageY - elemTop;
} else {
x = event.clientX - elemLeft;
y = event.clientY - elemTop;
}
}
//parent.document.title+=' here';
if (topin) {
if (topin.value == '' || (topin.value + ',').indexOf('- -1,0,0,0,0,') == 0 || (topin.value.indexOf('- -') == 0 && topin.value.indexOf(',0,0,0,0') == -1)) {
if (topin.value == '') {
if (eval(jsclickno % 2) == 0) { // lower left
jsrectbits[eval(jsclickno % 2)] = x;
jsrectbits[eval(jsclickno % 2) + 1] = y;
if (1 == 2) parent.document.title+=' oNclicK at x,y=' + x + ',' + y + ' ' + topin.value;
if (parent.document.getElementById('dcm')) {
if (parent.document.getElementById('dcm').value.indexOf('Text') == 0) {
jsclickno = jsclickno + 1;
jsrectbits[eval(jsclickno % 2) * 2] = x;
jsrectbits[eval(jsclickno % 2) * 2 + 1] = y;
}
}
} else { // upper right
jsrectbits[eval(jsclickno % 2) * 2] = x;
jsrectbits[eval(jsclickno % 2) * 2 + 1] = y;
if (1 == 2) parent.document.title+=' oNClicK at x,y=' + x + ',' + y + ' ' + topin.value;
shapedraw();
}
topin.value = '';
} else {
if (eval(jsclickno % 2) != 0) { // upper right
jsrectbits[eval(jsclickno % 2) * 2] = x;
jsrectbits[eval(jsclickno % 2) * 2 + 1] = y;
if (1 == 2) parent.document.title=' oNClick at x,y=' + x + ',' + y + ' ' + topin.value;
shapedraw();
} else { // lower left
jsrectbits[eval(jsclickno % 2)] = x;
jsrectbits[eval(jsclickno % 2) + 1] = y;
if (1 == 2) parent.document.title=' oNclick at x,y=' + x + ',' + y + ' ' + topin.value;
if (parent.document.getElementById('dcm')) {
if (parent.document.getElementById('dcm').value.indexOf('Text') == 0) {
jsclickno = jsclickno + 1;
jsrectbits[eval(jsclickno % 2) * 2] = x;
jsrectbits[eval(jsclickno % 2) * 2 + 1] = y;
}
}
}
topin.value = '- -';
}
jsclickno = jsclickno + 1;
} else {
if (topin.value.indexOf(',0,0,0,0') != -1) {
//parent.document.title=topin.value;
topin.value = '- -';
} //else {
//parent.document.title=topin.value;
//}
}
}
});
}
// }
}
}
}
}
ssj_cookieVal(firstcall);
firstcall=false;
if (sscoords == '' && document.getElementById('longsignature')) {
sscoords=document.getElementById('longsignature').innerHTML.replace('"','').replace('"','');
document.getElementById('longsignature').innerHTML='';
}
regularly();
elem = document.getElementById('canvaselement');
context = elem.getContext("2d");
if (topfirst) {
topfirst=false;
if (topelem) {
topvswidth=('' + elem.width).replace('px','');
topvsheight=('' + elem.height).replace('px','');
if (eval(topheight) >= eval(topvsheight) && eval(topwidth) >= eval(topvswidth)) {
topvswidthoff=0;
topvsheightoff=eval(eval(topheight) - eval(topvsheight));
if (document.getElementById('rest')) {
document.getElementById('rest').style.display='none';
}
//alert('yes yes');
} else {
//alert(topvswidth + ' no ' + topwidth + ' ' + topvsheight + ' no ' + topheight);
topelem=null;
topielem=null;
topcontext=null;
topwidth=0;
topheight=0;
topvswidth=0;
topvsheight=0;
topvswidthoff=0;
topvsheightoff=0;
}
}
}
if (sscoords != '') {
var asscoords=sscoords.split(',');
wassscoords=sscoords;
sscoords = '';
sscoordsdelim='';
context.beginPath();
context.moveTo(Math.abs(eval(asscoords[0])),Math.abs(eval(asscoords[1])));
if (topelem) {
topcontext.beginPath();
topcontext.moveTo(Math.abs(eval(asscoords[0]) + eval(topvswidthoff)),Math.abs(eval(asscoords[1]) + eval(topvsheightoff)));
}
for (var iss=2; iss= 0 && ppy >= 0) {
lastx=ppx;
lasty=ppy;
ppx=-1;
ppy=-1;
} else {
lastx=x;
lasty=y;
}
} else {
lastx=x;
lasty=y;
if (event.pageX || event.pageY) {
x = event.pageX - elemLeft;
y = event.pageY - elemTop;
} else {
x = event.clientX - elemLeft;
y = event.clientY - elemTop;
}
}
if (x != lastx || y != lasty) {
//document.getElementById('divannotation').style.display='block';
//document.getElementById('myisubject').style.display = 'inline';
//document.getElementById('myiemail').style.display = 'inline';
//context.strokeStyle=document.getElementById('mycolour').value;
topcontext.beginPath();
topcontext.moveTo(x,y);
topcontext.lineTo(lastx,lasty);
if (topin) {
if (topin.value != '') topin.value+=' --------';
}
if (parent.document.getElementById('colcf')) {
colcf=parent.document.getElementById('colcf').value;
}
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
//document.title+=pmore + ' here';
}
}
});
}
elem.addEventListener('mouseup', function(event) {
if (isScribble == 2) {
pmore=' pxm '; isScribble=1;
}
});
elem.addEventListener('touchend', function(event) {
if (isScribble == 2) {
pmore=' pxzm ';
isScribble=1;
}
});
elem.addEventListener('touchstart', function(event) {
if (isScribble == 1) {
pmore=' pxqm ';
isScribble=2;
}
});
elem.addEventListener('mousedown', function(event) {
if (isScribble == 1) {
pmore=' pxam ';
isScribble=2;
if (event.pageX || event.pageY) {
ppx=event.pageX - elemLeft;
ppy=event.pageY - elemTop;
} else {
ppx=event.clientX - elemLeft;
ppy=event.clientY - elemTop;
}
lastx=0; // new to scribble
lasty=0;
x=0;
y=0;
}
});
elem.addEventListener('mousemove', function(event) {
if (isScribble == 2) {
if (x == 0 && y == 0 && lastx == 0 && lasty == 0) {
if (event.pageX || event.pageY) {
x = event.pageX - elemLeft;
y = event.pageY - elemTop;
} else {
x = event.clientX - elemLeft;
y = event.clientY - elemTop;
}
if (ppx >= 0 && ppy >= 0) {
lastx=ppx;
lasty=ppy;
ppx=-1;
ppy=-1;
} else {
lastx=x;
lasty=y;
}
} else {
lastx=x;
lasty=y;
if (event.pageX || event.pageY) {
x = event.pageX - elemLeft;
y = event.pageY - elemTop;
} else {
x = event.clientX - elemLeft;
y = event.clientY - elemTop;
}
}
if (x != lastx || y != lasty) {
//document.getElementById('divannotation').style.display='block';
//document.getElementById('myisubject').style.display = 'inline';
//document.getElementById('myiemail').style.display = 'inline';
//context.strokeStyle=document.getElementById('mycolour').value;
context.beginPath();
context.moveTo(x,y);
context.lineTo(lastx,lasty);
context.stroke();
if (topelem) {
topcontext.beginPath();
topcontext.moveTo((eval(x) + eval(topvswidthoff)),(eval(y) + eval(topvsheightoff)));
topcontext.lineTo((eval(lastx) + eval(topvswidthoff)),(eval(lasty) + eval(topvsheightoff)));
if (topin) {
topin.value='---------';
}
if (parent.document.getElementById('colcf')) {
colcf=parent.document.getElementById('colcf').value;
}
topcontext.strokeStyle = colcf.split(' ')[eval(-1 + colcf.split(' ').length)];
topcontext.stroke();
toplthere=true;
}
if (sscoords == '') sscoordsdelim='';
if (('*' + sscoords + '*').indexOf(lastx + ',' + lasty + '*') == -1) {
if (sscoords.indexOf(',') != -1) savenow=sscoords.length;
sscoords+=sscordsdelim + '-' + lastx;
sscordsdelim=',';
sscoords+=sscordsdelim + lasty;
if (savenow != 0) {
lastsavenow=savenow;
savenow=sscoords.length;
}
}
if (('*' + sscoords + '*').indexOf(x + ',' + y + '*') == -1) {
if (sscoords.indexOf(',') != -1) savenow=sscoords.length;
sscoords+=sscordsdelim + x;
sscordsdelim=',';
sscoords+=sscordsdelim + y;
if (savenow != 0) {
lastsavenow=savenow;
savenow=sscoords.length;
}
}
wassscoords='';
if (document.getElementById('showit')) {
document.getElementById('showit').style.display='inline';
if (1 == 2 && document.getElementById('animage')) {
document.getElementById('animage').src = elem.toDataURL("image/png");
}
}
//document.title+=pmore + ' here';
}
}
});
}
if (topielem && !toplthere) { // no signature, so allow for one to be created
//alert('a visible')
showornot();
} else if (topielem) { // a signature, so hide iframe
//alert('a invisible');
showornot();
}
}
function showornot() {
if (topielem && !toplthere) { // no signature, so allow for one to be created
//alert('visible');
topielem.style.display='block';
topielem.style.zIndex='9';
topielem.style.position='absolute';
topielem.style.left=eval(topvswidthoff) + 'px';
topielem.style.top=eval(topvsheightoff) + 'px';
topielem.style.width=eval(topvswidth) + 'px';
topielem.style.height=eval(topvsheight) + 'px';
//alert('z visible');
if (parent.document.getElementById('toptd')) {
if (parent.document.getElementById('toptd').innerHTML.indexOf('button') == -1) {
//if (parent.document.getElementById('dcm').value.replace('iM','iB') == 'iB') {
//parent.document.getElementById('toptd').innerHTML+=" ";
//} else {
parent.document.getElementById('toptd').innerHTML+=" ";
//}
topprocessb=parent.document.getElementById('processb');
} else {
parent.document.getElementById('dmycbox').innerHTML=" ";
topprocessb=parent.document.getElementById('processb');
}
if (isTouch || isiPad) {
parent.document.getElementById('dcm').value=' ';
}
}
} else if (topielem) { // a signature, so hide iframe
//alert('invisible');
topielem.style.display='none';
topielem.style.zIndex='9';
topielem.style.position='absolute';
topielem.style.left=eval(topvswidthoff) + 'px';
topielem.style.top=eval(topvsheightoff) + 'px';
topielem.style.width=eval(topvswidth) + 'px';
topielem.style.height=eval(topvsheight) + 'px';
if (parent.document.getElementById('toptd')) {
if (parent.document.getElementById('toptd').innerHTML.indexOf('button') == -1) {
//if (parent.document.getElementById('dcm').value.replace('iM','iB') == 'iB') {
//parent.document.getElementById('toptd').innerHTML+=" ";
//} else {
parent.document.getElementById('toptd').innerHTML+=" ";
//}
topprocessb=parent.document.getElementById('processb');
} else {
parent.document.getElementById('dmycbox').innerHTML=" ";
topprocessb=parent.document.getElementById('processb');
}
if (isTouch || isiPad) {
parent.document.getElementById('dcm').value=' ';
}
}
}
}
setTimeout(canvas_events, 2000);