// gchartgen.js
// Email functionality for H1 onclick event specifics for Google Chart work
// RJM Programming
// Robert Metcalfe
// January 2015
// Added event functionality in July 2015
var wua = navigator.userAgent;
var wisiPad = /iPad/i.test(wua) || /iPhone OS 3_1_2/i.test(wua) || /Android/i.test(wua) || /iPhone OS 3_2_2/i.test(wua);
var wisTouch = /touch/i.test(wua) || /Touch/i.test(wua);
var gcadvice = ' ... To email a snapshot of this Google Chart click me.';
var wisMobile = false;
var wisWebView = false;
var toobigform = null;
var ourbae = null;
var formid = '';
var xnewfbit = '';
var divid = '';
var pnum=1, lastfi=false;
var issatisfied=false;
var satisfiedvalue=null;
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
// var xpnum=1; // done back at supervisor
// var allowed=true; // done back at supervisor
if (document.URL.indexOf('nojwin') != -1) { // || navigator.userAgent.match(/iPhone|iPad/i)) {
var prompt = function(zwords, defwords){
var vcancel='';
var vok='';
var ansis=location.search.split('val' + pnum + '=')[1] ? decodeURIComponent(decodeURIComponent(location.search.split('val' + pnum + '=')[1].split('&')[0]).replace(/\+/g,' ')) : '';
if (document.URL.indexOf('val' + pnum + '=') == -1) ansis=null;
if (document.URL.indexOf('val' + pnum + '=') != -1 && pnum == eval(-1 + xpnum)) {
vcancel=location.search.split('Cancel=')[1] ? location.search.split('Cancel=')[1].split('&')[0] : '';
vok=location.search.split('OK=')[1] ? location.search.split('OK=')[1].split('&')[0] : '';
}
if (vcancel != '') {
pnum++;
return null;
} else if (vok != '') {
pnum++;
return ansis;
} else if (document.getElementById('val' + pnum)) {
allowed=false;
lastfi=true;
document.getElementById('safariform').style.display='block';
document.getElementById('prompt').value=zwords;
document.getElementById('val' + pnum).value=defwords;
document.getElementById('hval' + pnum).value=encodeURIComponent(defwords);
if (zwords.split(String.fromCharCode(10)).length > eval('0' + document.getElementById('prompt').rows)) {
document.getElementById('prompt').rows=zwords.split(String.fromCharCode(10)).length;
} else if (zwords.split('
').length > eval('0' + document.getElementById('prompt').rows)) {
document.getElementById('prompt').rows=zwords.split('
').length;
}
document.getElementById('val' + pnum).focus();
pnum++;
return ansis;
} else if (lastfi) {
pnum++;
lastfi=false;
if (ansis == 'null') return null;
return ansis;
} else {
pnum++;
if (ansis == 'null') return null;
return ansis;
}
};
var alert = function(zwords){
var defwords='';
var vcancel='';
var vok='';
var ansis=location.search.split('val' + pnum + '=')[1] ? decodeURIComponent(decodeURIComponent(location.search.split('val' + pnum + '=')[1].split('&')[0]).replace(/\+/g,' ')) : '';
if (document.URL.indexOf('val' + pnum + '=') == -1) ansis=null;
if (document.URL.indexOf('val' + pnum + '=') != -1 && pnum == eval(-1 + xpnum)) {
vcancel=location.search.split('Cancel=')[1] ? location.search.split('Cancel=')[1].split('&')[0] : '';
vok=location.search.split('OK=')[1] ? location.search.split('OK=')[1].split('&')[0] : '';
}
if (vcancel != '') {
pnum++;
return null;
} else if (vok != '') {
pnum++;
return '';
} else if (document.getElementById('val' + pnum)) {
allowed=false;
lastfi=true;
document.getElementById('safariform').style.display='block';
document.getElementById('prompt').value=zwords;
document.getElementById('val' + pnum).value=defwords;
document.getElementById('hval' + pnum).value=encodeURIComponent(defwords);
document.getElementById('Cancel').style.display='none';
document.getElementById('bCancel').style.display='none';
document.getElementById('val' + pnum).style.display='none';
document.getElementById('OK').focus();
pnum++;
return ansis;
} else if (lastfi) {
pnum++;
lastfi=false;
if (ansis == 'null') return null;
return ansis;
} else {
pnum++;
if (ansis == 'null') return null;
return ansis;
}
};
var confirm = function(zwords){
//alert('val' + pnum + '=? ' + ' pnum=' + pnum + ' xpnum=' + xpnum + ' ' + document.URL);
var defwords='1trueYesOK';
var vcancel='';
var vok='';
var ansis=location.search.split('val' + pnum + '=')[1] ? decodeURIComponent(decodeURIComponent(location.search.split('val' + pnum + '=')[1].split('&')[0]).replace(/\+/g,' ')) : '';
if (document.URL.indexOf('val' + pnum + '=') == -1) ansis=null;
if (document.URL.indexOf('val' + pnum + '=') != -1 && pnum == eval(-1 + xpnum)) {
vcancel=location.search.split('Cancel=')[1] ? location.search.split('Cancel=')[1].split('&')[0] : '';
vok=location.search.split('OK=')[1] ? location.search.split('OK=')[1].split('&')[0] : '';
}
//alert('vok=' + vok);
if (vcancel != '') {
pnum++;
return null;
} else if (vok != '') {
pnum++;
return '1trueYesOK';
} else if (document.getElementById('val' + pnum)) {
allowed=false;
lastfi=true;
document.getElementById('safariform').style.display='block';
document.getElementById('prompt').value=zwords;
document.getElementById('val' + pnum).value=defwords;
document.getElementById('hval' + pnum).value=encodeURIComponent(defwords);
document.getElementById('val' + pnum).style.display='none';
document.getElementById('OK').focus();
pnum++;
return ansis;
} else if (lastfi) {
pnum++;
lastfi=false;
if (ansis == 'null') return null;
return ansis;
} else {
pnum++;
if (ansis == 'null') return null;
return ansis;
}
};
}
// Thanks to http://jennifermadden.com/javascript/stringEnterKeyDetector.html
function checkEnter(e){ //e is event object passed from function invocation
var characterCode; //literal character code will be stored in this variable
if(e && e.which){ //if which property of event object is supported (NN4)
e = e;
characterCode = e.which; //character code is contained in NN4's which property
}
else{
e = event;
characterCode = e.keyCode; //character code is contained in IE's keyCode property
}
if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
document.getElementById('hval' + xpnum).value=encodeURIComponent(document.getElementById('val' + xpnum).value);
document.forms[-1 + eval(document.forms.length)].submit(); //submit the form
return false;
}
else{
return true;
}
}
function alatr() {
if (document.getElementById('psubm')) {
document.getElementById('psubm').click();
}
}
function toolong(inup) {
if (inup.length < 900) return inup;
var pform='
';
var pars=inup.replace('?','&').split('#')[0].split('&');
for (var ipars=1; ipars', '');
} else {
pform=pform.replace('', '');
}
}
document.body.innerHTML+=pform;
//alert(pform.split(' name="task"')[1]);
setTimeout(alatr, 2000); //document.getElementById('psubm').click();
return '#';
}
function depends(ins) {
if (ins == "") return wisWebView;
return ins;
}
function getH1s(evt) {
var rest = '', rests, restss, brest='?justmenu=justmenu', nojx='';
if (document.URL.indexOf('nojwin') != -1) nojx='&nojwin=y';
if (document.URL.indexOf('?') != -1) {
rests = document.URL.split('?');
restss = rests[1].split('&');
if (restss[0].indexOf('title=') == -1) rest = '?' + restss[0] + nojx;
if (restss[0].indexOf('title=') == -1) brest = '?justmenu=justmenu&' + restss[0] + nojx;
}
if (nojx != "") {
if (brest.indexOf(nojx) == -1) {
if (brest == "") {
brest="?nojwin=y";
} else {
brest+="&nojwin=y";
}
}
if (rest.indexOf(nojx) == -1) {
if (rest == "") {
rest="?nojwin=y";
} else {
rest+="&nojwin=y";
}
}
}
if (wisWebView || navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
wisWebView = wisWebView;
} else {
wisMobile = false;
wisWebView = false;
}
if (wisWebView || (wisMobile && document.URL.indexOf("title=") != -1)) {
if (document.body.innerHTML.indexOf("jkl" + "email") == -1) {
document.body.innerHTML = document.body.innerHTML + "Email snapshot to:
";
}
} else {
if (document.body.innerHTML.indexOf("mail" + "to:") == -1 && document.body.innerHTML.indexOf(">E" + "mail") == -1) {
document.body.innerHTML = document.body.innerHTML + "Email snapshot ...
";
document.getElementById('email').click();
}
}
}
function gcinit() {
// Listen for the 'select' event, and call my function selectHandler() when
// the user selects something on the chart.
// July, 2015 changes thanks to https://developers.google.com/chart/interactive/docs/basic_interactivity
// try {
//if (chart != null) {
//alert(99);
// google.visualization.events.addListener(chart, 'select', selectHandler);
//} else {
//alert(98);
//}
//} catch (e) {
//alert(97 + " " + e.message);
//}
var bae = document.getElementById('bitsatend');
var rest = '', rests, restss, brest='?justmenu=justmenu', nojx='';
if (document.URL.indexOf('nojwin') != -1) nojx='&nojwin=y';
document.body.style.background='-webkit-linear-gradient(top, #FFFF00, #00FFFF)';
document.body.style.background='-moz-linear-gradient(top, #FFFF00, #00FFFF)';
if (document.URL.indexOf('?') != -1) {
rests = document.URL.split('?');
restss = rests[1].split('&');
if (restss[0].indexOf('title=') == -1) rest = '?' + restss[0];
if (restss[0].indexOf('title=') == -1) brest = '?justmenu=justmenu&' + restss[0];
}
if (document.URL.indexOf('nojwin') != -1) nojx='&nojwin=y';
if (document.URL.indexOf('?') != -1) {
rests = document.URL.split('?');
restss = rests[1].split('&');
if (restss[0].indexOf('title=') == -1) rest = '?' + restss[0] + nojx;
if (restss[0].indexOf('title=') == -1) brest = '?justmenu=justmenu&' + restss[0] + nojx;
}
if (nojx != "") {
if (brest.indexOf(nojx) == -1) {
if (brest == "") {
brest="?nojwin=y";
} else {
brest+="&nojwin=y";
}
}
if (rest.indexOf(nojx) == -1) {
if (rest == "") {
rest="?nojwin=y";
} else {
rest+="&nojwin=y";
}
}
}
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
wisMobile = true;
wisWebView = wisWebView;
} else {
wisMobile = false;
wisWebView = false;
}
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { // is mobile
wisMobile = true;
wisWebView = true;
if (depends("") && (document.URL.replace(/justmenu/g,"").indexOf("=WebView") != -1 || document.URL.replace(/justmenu/g,"").indexOf("WebView=") != -1 || document.URL.replace(/justmenu/g,"").indexOf("=UIWebView") != -1)) { // called this way by iOS or Android WebView
wisWebView = true;
wisWebView = depends("");
if (wisWebView || (wisMobile && document.URL.indexOf("&") != -1)) {
if (navigator.userAgent.toLowerCase().indexOf("ie") != (0 - 1)) {
aallPs = document.getElementsByTagName('a');
} else {
aallPs= document.getElementsByTagName('a');
}
for (var jj=0; jj < aallPs.length; jj++) {
if (("*" + aallPs[jj].innerHTML).indexOf("*Another ") != -1) {
if (wisWebView) {
if ((aallPs[jj].href + "*").indexOf(".php*") != -1) {
if (document.URL.indexOf("&") != -1) {
var huha=document.URL.split("&");
aallPs[jj].href = huha[0];
} else {
aallPs[jj].href = document.URL;
}
}
}
} else if ((aallPs[jj].href.indexOf("http") != -1 || aallPs[jj].href.indexOf("//") != -1) && aallPs[jj].href.indexOf("rjmprogramming.com.au") == -1) {
aallPs[jj].onclick = " alert('" + aallPs[jj].href + "'); ";
aallPs[jj].href = "#";
}
}
}
} else {
wisWebView = false;
}
}
if (1 == 1) {
if (navigator.userAgent.toLowerCase().indexOf("ie") != (0 - 1)) {
allPs = document.getElementsByTagName('h1');
} else {
allPs= document.getElementsByTagName('h1');
}
for (var j=0; j < allPs.length; j++) {
if ((depends("") && wisWebView) || (wisMobile && document.URL.indexOf("&") != -1)) {
if (document.body.innerHTML.indexOf("ijk" + "email") == -1) {
if (bae != null) {
bae.innerHTML+=" Email snapshot of Google Chart to:
";
} else {
document.body.innerHTML = document.body.innerHTML + " Email snapshot of Google Chart to:
";
}
}
} else {
if (document.body.innerHTML.indexOf("MAIL" + "TO:") == -1 && document.body.innerHTML.indexOf(">E" + "mail") == -1) {
if (bae != null) {
bae.innerHTML+=" Email snapshot of Google Chart ...
";
} else {
document.body.innerHTML = document.body.innerHTML + " Email snapshot of Google Chart ...
";
}
}
}
if ((wisiPad || wisTouch)) {
allPs[j].onclick = getH1s;
if (allPs[j].title.indexOf(gcadvice) == -1) allPs[j].title += gcadvice;
} else {
allPs[j].onclick = getH1s;
if (allPs[j].title.indexOf(gcadvice) == -1) allPs[j].title += gcadvice;
}
}
}
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { // is mobile
if (document.body.innerHTML.indexOf("but" + "sel." + "php") == -1) {
if (bae != null) {
bae+=" ";
} else {
document.body.innerHTML = document.body.innerHTML + " ";
}
}
var ozmenu=document.getElementById('zmenu');
if (ozmenu != null) {
ozmenu.href='//www.rjmprogramming.com.au/PHP/justmenuWebView.html';
}
}
}
function ourencodeURIComponent(insis) {
var outsis=encodeURIComponent(insis), ebits;
var kbits=insis.split('&');
var jbits=insis.split('=');
var altsis='';
if (eval(kbits.length) > 1 && eval(jbits.length) > 1 && eval(kbits.length) == eval(jbits.length) && eval(jbits[0].length) > eval(kbits[0].length)) {
altsis=encodeURIComponent(kbits[0]);
for (var iu=1; iu';
fipsuffix='';
fdsuffix='';
if (urlin.indexOf('_diff.php') != -1) fd0suffix='';
meth="POST' target='iemailbig";
if (1 == 2) divid='chart_div';
formid='bigemailform';
newfbit='';
qp='//www.rjmprogramming.com.au/PHP/webviewemail.php';
dtis=new Date();
fnamesuffix0='itb' + Math.floor(Math.random() * 2000) + dtis.valueOf() + '.huh';
fformsuffix0='';
}
ourbae = document.getElementById(divid);
ournewf = document.getElementById(formid);
if (ourbae != null) {
var qparts=urlin.split('?');
if (eval(qparts.length) == 2) {
var aparts=qparts[1].split('&');
if (ournewf == null) {
//var ds=document.URL.split('&data');
var ds=urlin.split('&data');
if (qp == '') qp=ds[0];
if (eval(ds.length) > 1) {
for (iy=1; iy"; // "";
newfbit+="";
for (ij=0; ij';
}
if (ynft0 == 'isunlikelyehwotzero' && urlin.indexOf('_diff.php') == -1) fformsuffix0='';
newfbit+=fdsuffix + fd0suffix + fipsuffix + fformsuffix + fformsuffix0 + '';
if (modeofuse == 'email') {
xnewfbit=newfbit;
setTimeout(dobae, 300);
} else {
ourbae.innerHTML+=newfbit;
ournewf = document.getElementById(formid);
}
if (modeofuse == 'email') {
if (urlin.indexOf('&data') == -1 && urlin.indexOf('_diff.php') != -1) return urlin + '&data=' + fnamesuffix + '&data0=' + fnamesuffix0;
if (urlin.indexOf('&data') == -1) return urlin + '&data=' + fnamesuffix;
return urlin.replace(ynft, '&data=' + fnamesuffix).replace(ynft0, '&data0=' + fnamesuffix0);
} else {
ournewf.submit();
}
} else {
for (ij=0; ij';
}
if (ynft0 == 'isunlikelyehwotzero' && urlin.indexOf('_diff.php') == -1) fformsuffix0='';
newfbit+=fdsuffix + fd0suffix + fipsuffix + fformsuffix + fformsuffix0 + '';
ournewf.innerHTML=newfbit;
if (modeofuse == 'email') {
toobigform=ournewf;
if (urlin.indexOf('&data') == -1 && urlin.indexOf('_diff.php') != -1) return urlin + '&data=' + fnamesuffix + '&data0=' + fnamesuffix0;
if (urlin.indexOf('&data') == -1) return urlin + '&data=' + fnamesuffix;
return urlin.replace(ynft, '&data=' + fnamesuffix).replace(ynft0, '&data0=' + fnamesuffix0);
} else {
ournewf.submit();
}
}
} else {
return urlin;
}
return '#';
} else {
return urlin;
}
}
}
setTimeout(gcinit, 2000);