// world.js // RJM Programming // March, 2016 // Help out world.html and others like it var fcont, w; function fixmyemail(tval, issubj) { // mailto:fill.in.email@address?subject=My%20World%20Map&body= if (tval != '') { ourbits = document.getElementById('myemail').href.split('?subject='); if (issubj == 0) { if (ourbits.length > 1) { prebits = ourbits[0].split(':'); document.getElementById('to').value = tval; document.getElementById('myemail').href = prebits[0] + ':' + encodeURIComponent(tval) + '?subject=' + ourbits[eval(-1 + ourbits.length)]; if (document.getElementById('myiemail').value.indexOf('@') != -1) { document.getElementById('mode').value = ''; document.getElementById('ismobile').value = 'y'; document.getElementById('myisubject').style.display = 'inline'; document.getElementById('myiemail').style.display = 'inline'; document.getElementById('myform').action = document.getElementById('myform').action.replace('?mode=1', ''); document.getElementById('myform').action = document.getElementById('myform').action.replace('mode=1', 'mode='); //document.getElementById('myemail').href = '#' + document.getElementById('myemail').href; } } } else { var pbits = ""; if (ourbits.length > 1) { pbits = ourbits[1].split('&'); document.getElementById('mysubject').value = tval; if (pbits.length > 1) { document.getElementById('myemail').href = ourbits[0] + '?subject=' + encodeURIComponent(tval) + '&' + pbits[1]; } else { document.getElementById('myemail').href = ourbits[0] + '?subject=' + encodeURIComponent(tval); } } } } } function dorectangle() { // new idea ... March, 2016 //context.strokeStyle=document.getElementById('mycolour').value; context.fillStyle=document.getElementById('mycolour').value; context.fillRect(Math.min(x,lastx), Math.min(y,lasty), Math.abs(x - lastx), Math.abs(y - lasty)); } function dorectangleborder() { // new idea ... March, 2016 context.strokeStyle=document.getElementById('mycolour').value; //context.fillStyle=document.getElementById('mycolour').value; context.rect(Math.min(x,lastx), Math.min(y,lasty), Math.abs(x - lastx), Math.abs(y - lasty)); context.stroke(); } function docircle() { // new idea ... March, 2016 context.strokeStyle=document.getElementById('mycolour').value; context.beginPath(); context.arc(eval((x + lastx) / 2.0),eval((y + lasty) / 2.0),eval(Math.pow(Math.abs(x - lastx) * Math.abs(x - lastx) + Math.abs(y - lasty) * Math.abs(y - lasty),0.5) / 2.0),0,2*Math.PI); context.stroke(); } function doline() { // new idea ... March, 2016 context.strokeStyle=document.getElementById('mycolour').value; context.beginPath(); context.moveTo(x,y); context.lineTo(lastx,lasty); context.stroke(); } function clearall() { // new idea ... March, 2016 context.clearRect(0, 0, elem.width, elem.height); elem.style.borderRight='1px solid black'; elem.style.borderBottom='1px solid black'; } function placeannotation(anno) { // new idea ... March, 2016 if (anno.value != '') { if (anno.id == 'jannotation') { context.clearRect(Math.min(x,lastx), Math.min(y,lasty), Math.abs(x - lastx), Math.abs(y - lasty)); context.strokeStyle = "black"; document.getElementById('iannotation').value=''; } else { context.strokeStyle = "blue"; document.getElementById('jannotation').value=''; } //context.font = cf; context.font = document.getElementById('myfont').value; context.strokeStyle=document.getElementById('mycolour').value; context.strokeText(anno.value,eval(2 + Math.min(x,lastx)),eval((Math.min(y,lasty) + Math.max(y,lasty)) / 2)); anno.value = ''; } } function readUBlob(uval, opt_startByte, opt_stopByte) { var oimg; if (uval.replace('+','') != '') { if (uval.substring(0,1) == '+') { document.getElementById('spareimg').src=uval.substring(1); oimg=document.getElementById('spareimg'); context.drawImage(oimg,eval(document.getElementById("xoff").value),eval(document.getElementById("yoff").value)); } else { context.clearRect(0,0,elem.width,elem.height); document.getElementById('spareimg').src=uval; oimg=document.getElementById('spareimg'); context.drawImage(oimg,eval(document.getElementById("xoff").value),eval(document.getElementById("yoff").value)); } } } function readOBlob(opt_startByte, opt_stopByte) { var files = document.getElementById("file").files; if (!files.length) { alert("Please select a file!"); return; } else { w = files[0].name; document.getElementById("fil").value = w; } var file = files[0]; var start = parseInt(opt_startByte) || 0; var stop = parseInt(opt_stopByte) || file.size - 1; var reader = new FileReader(); // If we use onloadend, we need to check the readyState. reader.onloadend = function(evt) { if (evt.target.readyState == FileReader.DONE) { // DONE == 2 //cis = window.open("", "_blank", "top=20,left=20,width=200,height=200"); //ww = cis; //cis.document.write(evt.target.result); //document.getElementById("url").value = evt.target.result; //document.getElementById("acont").value = evt.target.result; //document.getElementById("submit").click(); //cis.document.write(evt.target.result.replace(//g, ">")); //document.body.innerHTML = document.body.innerHTML + "
" + evt.target.result.replace(//g, ">") + "
"; document.getElementById("byte_content").textContent = evt.target.result; 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.readAsDataURL(blob); // Thanks to http://stackoverflow.com/questions/22255580/javascript-upload-image-file-and-draw-it-into-a-canvas reader.onload = function(e) { var img = new Image(); img.onload = function() { context.drawImage(img,eval(document.getElementById("xoff").value),eval(document.getElementById("yoff").value)); } img.src = e.target.result; } } function readBlob(opt_startByte, opt_stopByte) { var files = document.getElementById("file").files; if (!files.length) { alert("Please select a file!"); return; } else { w = files[0].name; document.getElementById("fil").value = w; } var file = files[0]; var start = parseInt(opt_startByte) || 0; var stop = parseInt(opt_stopByte) || file.size - 1; var reader = new FileReader(); // If we use onloadend, we need to check the readyState. reader.onloadend = function(evt) { if (evt.target.readyState == FileReader.DONE) { // DONE == 2 //cis = window.open("", "_blank", "top=20,left=20,width=200,height=200"); //ww = cis; //cis.document.write(evt.target.result); //document.getElementById("url").value = evt.target.result; //document.getElementById("acont").value = evt.target.result; //document.getElementById("submit").click(); //cis.document.write(evt.target.result.replace(//g, ">")); //document.body.innerHTML = document.body.innerHTML + "
" + evt.target.result.replace(//g, ">") + "
"; document.getElementById("byte_content").textContent = evt.target.result; 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.readAsDataURL(blob); // Thanks to http://stackoverflow.com/questions/22255580/javascript-upload-image-file-and-draw-it-into-a-canvas reader.onload = function(e) { var img = new Image(); img.onload = function() { context.clearRect(0,0,elem.width,elem.height); context.drawImage(img,eval(document.getElementById("xoff").value),eval(document.getElementById("yoff").value)); } img.src = e.target.result; } } function process(infilecontents) { //if (1 == 7) { alert(infilecontents); } //var ourlines = infilecontents.split(String.fromCharCode(10)); //var ourwords = infilecontents.split(String.fromCharCode(32)); //var myfis = "

Filename is " + escape(document.getElementById("file").files[0].mozFullPath + document.getElementById("file").value) + " ... Type is (" + (document.getElementById("file").files[0].type || "n/a") + ") ... Date is " + (document.getElementById("file").files[0].lastModifiedDate ? document.getElementById("file").files[0].lastModifiedDate.toLocaleDateString() : "n/a") + " ... Size is " + infilecontents.length + " bytes ... Line Count is " + ourlines.length + " ... Word Count is " + ourwords.length + "

"; //document.body.innerHTML = document.body.innerHTML + myfis; //var huh = document.URL.split("?"); //if (huh.length > 1) { // location.href = huh[0] + "?myf=" + decodeURIComponent(myfis); //} else { // location.href = document.URL + "?myf=" + decodeURIComponent(myfis); //} //alert(infilecontents); fcont = infilecontents; //document.getElementById("byte_content").style.display='block'; document.getElementById("byte_range").style.display='block'; } function tryit() { var tds=document.getElementsByTagName('td'), hstuff=''; if (tds.length > 0) { hstuff+=""; if (tds[eval(-1 + tds.length)].innerHTML.indexOf('diva' + 'nnotaxtion') == -1) tds[eval(-1 + tds.length)].innerHTML+=hstuff; 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(); document.getElementById('myfname').value = "world_" + yyyy + "_" + mm + "_" + hh + "_" + minm + "_" + ss + ".png"; document.getElementById('myform').action = document.getElementById('myform').action.replace('?mode=1', ''); document.getElementById('mode').value = ''; document.getElementById('ismobile').value = 'y'; document.getElementById('myisubject').style.display = 'inline'; document.getElementById('myiemail').style.display = 'inline'; document.getElementById('myform').action = document.getElementById('myform').action.replace('?mode=1', ''); document.getElementById('myform').action = document.getElementById('myform').action.replace('mode=1', 'mode='); //document.getElementById('myemail').href = '#' + document.getElementById('myemail').href; } } setTimeout(tryit, 2000);