<!doctype html>
<html>

<head data-live-domain="api.jquery.com">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">


<meta name="author" content="jQuery Foundation - jquery.org">
<meta name="description" content="jQuery: The Write Less, Do More, JavaScript Library">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="shortcut icon" href="//api.jquery.com/jquery-wp-content/themes/api.jquery.com/i/favicon.ico">

<link rel="stylesheet" href="//api.jquery.com/jquery-wp-content/themes/jquery/css/base.css?v=1">
<link rel="stylesheet" href="//api.jquery.com/jquery-wp-content/themes/api.jquery.com/style.css">
<link rel="pingback" href="//api.jquery.com/xmlrpc.php" />
<!--[if lt IE 7]><link rel="stylesheet" href="css/font-awesome-ie7.min.css"><![endif]-->

<!--script src="//api.jquery.com/jquery-wp-content/themes/jquery/js/modernizr.custom.2.6.2.min.js"></script-->

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write(unescape('%3Cscript src="//api.jquery.com/jquery-wp-content/themes/jquery/js/jquery-1.9.1.min.js"%3E%3C/script%3E'))</script>

<script src="//api.jquery.com/jquery-wp-content/themes/jquery/js/plugins.js"></script>
<script src="//api.jquery.com/jquery-wp-content/themes/jquery/js/main.js"></script>

<script src="//use.typekit.net/wde1aof.js"></script>
<script>try{Typekit.load();}catch(e){}</script>

<script type='text/javascript' src='//api.jquery.com/wp-includes/js/comment-reply.min.js?ver=3.8'></script>
<link href='//www.rjmprogramming.com.au/PHP/emboss_h1.css' rel='stylesheet' type='text/css'>
<title>Karaoke via YouTube API - RJM Programming - September, 2016</title>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.1, maximum-scale=8, user-scalable=yes" >
<script type='text/javascript' src='keep_parent_background.js'></script>
<style>
body {
background-color: lightblue;
padding-top: 20px;
background: -webkit-linear-gradient(center top , rgb(255, 255, 0), rgb(0, 255, 255)) repeat scroll 0% 0% transparent;
background: -o-linear-gradient(center top , rgb(255, 255, 0), rgb(0, 255, 255)) repeat scroll 0% 0% transparent;
background: -moz-linear-gradient(center top , rgb(255, 255, 0), rgb(0, 255, 255)) repeat scroll 0% 0% transparent;
background: linear-gradient(180deg, rgb(255, 255, 0), rgb(0, 255, 255)); /* linear-gradient(center top , rgb(255, 255, 0), rgb(0, 255, 255)) repeat scroll 0% 0% transparent */
}
input { z-index: 5; }
.emoji { border: 8px solid white; font-size: 20px; }
#youtubeid { width:300px; }
</style>
<script type='text/javascript'>
// https://www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?feedoffurl=%2e%2e%2fPHP%2fspeech%5fsupervisor%2ephp%3fmode%3d9%26csneg%3d%2d&youtubeid=7v6t3N8YI8g&youtube_duration=180.0&email=&email=&emoji=on&c0=on&i0=92&j0=94&i1=244&j1=246&i2=171&j2=174&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29=
//7v6t3N8YI8g 1:32 1:34 2:24-2:26 2:51-2:54
// https://www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?feedoffurl=%2e%2e%2fPHP%2fspeech%5fsupervisor%2ephp%3fmode%3d9%26csneg%3d%2d&youtubeid=Q0Dn5k_MtZM&youtube_duration=30.021&email=&email=&emoji=on&c0=on&i0=11&j0=14&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29=
var ptddp=location.search.split('tdd=')[1] ? decodeURIComponent(location.search.split('tdd=')[1].split('&')[0]) : '';
var czzyes=location.search.split('ezj=')[1] ? decodeURIComponent(location.search.split('ezj=')[1].split('&')[0]) : '';
var czzis=location.search.split('c0=')[1] ? decodeURIComponent(location.search.split('c0=')[1].split('&')[0]) : 'on';
var otheriframeoh=location.search.split('feedoffurl=')[1] ? '<iframe style="vertical-align:top;width:100%;height:1200px;transform:scale(0.55);" src=' + decodeURIComponent(location.search.split('feedoffurl=')[1].split('&')[0]).replace(/\+/g,' ') + '></iframe>' : '';
if (otheriframeoh != '' && document.URL.indexOf('http:') == 0) { location.href=document.URL.replace('http://rjm','https://www.rjm').replace('http:','https:'); }
var lastgetytlist=''; // store and compare against the last YouTube (perhaps search functionality) query (if the same, do not repeat)
var amwaiting=null; // variable for a setInterval call dampening down the YouTube request rate ... via the control of ...
var allowable=true; // if true, you are clear to request from YouTube, else false
var additionalask=[''];
var sstr='';
var pgiveprefix='';
var biggesturl='', biggerurl='';
var emojisuffix='ej';
var firstsuffix="&playtime=0&start=0";
var firstprefix="";
var snippet=-1;
var ourvid=location.search.split('vid=')[1] ? decodeURIComponent(location.search.split('vid=')[1].split('&')[0]).replace(/\+/g,' ') : '';
var ourvids=ourvid.split('!||!');
if (ourvids.length == 1) {
ourvids=ourvid.split('|!!|');
}
if (ourvids.length == 1) {
ourvids=ourvid.split('|!|!');
}
if (ourvids.length == 1) {
ourvids=ourvid.split('!|!|');
}
if (ourvids.length == 1) {
ourvids=ourvid.split('!!||');
}
if (ourvids.length == 1) {
ourvids=ourvid.split('||!!');
}
var doemoji=location.search.split('emoji=')[1] ? location.search.split('emoji=')[1].split('&')[0] : 'on';
var doemj=false, ech='';
if (doemoji == 'on') {
doemj=true;
ech='checked';
}
var ajaxclist='', ajaxoncnt=0, ajaxf='';
var ajaxsih='';
var offtop='';
var iofftop=[];
var givefactor=0;
var sgive=false;
var pgive=false;
var givefifteen=-1;
var thisonetodo=0;
var onestodoprefix='';
var onestodoprefix=location.search.split('andthen=')[1] ? ('&andthen=' + decodeURIComponent(location.search.split('andthen=')[1].split('&')[0])).substring(0,9) : '';
var onestodosuffix=location.search.split('andthen=')[1] ? decodeURIComponent(location.search.split('andthen=')[1].split('&')[0]) : '';
var prevonestodosuffix=onestodosuffix;
var onestodo=[];
var onestododur=[];
var morethanone=false;
var preselc='';
var tdt='';
var defval='0';
var next=0;
var nextthing='mytbody';
var lastfinish=-1;
var next_thing='xx0';
var mbmode=false;
var bigdocbod='';
var ifsa=[];
var jfsa=0;
var nine=29;
var bcol='#f0f0f0';
var nextdelay=-1;
var lastokn='';
var okn='';
var lastconto=[];
var morechanges=true;
var lastwo='';
var woi=null;
var oko=null;
var cbut="<br><div style='text-align:center; width: 100%;'><div id='ddkaraoke' style='display:inline; visibility: hidden; '><input onclick=\"if (document.URL.indexOf('i0=') != -1) { location.href=document.URL; } \" id='repeat' type='button' style='background-color:red;' value='Replay Karaoke Style YouTube Above'></input><br><input onclick=clickto(); id=karaokeshare value='Email Share to ' type='button'></input> <input style=width:60%; onblur=doto(this.value); type=text name=email id=karaokeemail value=></input></div><div id='dkaraoke' style='display:inline; visibility: hidden; '><input id='mousej' type='button' style='background-color:#f0f0f0; display:inline; visibility: hidden;' onclick=' mousebelowj(this);' value='Fill Table Below via Mouse Video Pauses Starting with '></input> <input id='mousei' type='button' style='background-color:#f5f5f5; display:inline; visibility: hidden;' onclick=' mousebelowi(this);' value='Fill Table Starting with 0 cell'></input> <input id='karaoke' onclick=\" mbmode=false; document.getElementById('ddkaraoke').style.visibility='visible'; if (document.URL.indexOf('i0=') != -1) { next=0; } queuenext();\" type='submit' style='background-color:orange;' value='Play Karaoke Style YouTube Via Entries Below'></input></div><div id='dkaraoke' style='display:inline; visibility: hidden; '></div></div>";
var cbutl="<div style=' text-align:center; width: 100%; height: 60px;'><div style=' text-align:center; width: 100%; height: 60px;'><div id='dkaraoke' style=' display:inline; visibility: hidden; '><div style='text-align:center; width: 100%;'><div style='text-align:center; width: 100%;'><input id='karaoke' onclick=\" mbmode=false; document.getElementById('ddkaraoke').style.visibility='visible'; if (document.URL.indexOf('i0=') != -1) { next=0; } queuenext();\" type='submit' style='background-color:orange;' value='Play Karaoke Style YouTube Via Entries Below'></input></div></div></div><br><div id='ddkaraoke' style='margin-top:-100px; visibility: hidden; text-align:center; width: 100%; '><div style='text-align:center; width: 100%;'><div style='text-align:center; width: 100%;'><input onclick=\"if (document.URL.indexOf('i0=') != -1) { location.href=document.URL; } \" id='repeat' type='button' style='background-color:red;' value='Replay Karaoke Style YouTube Above'></input><br><input onclick=clickto(); id=karaokeshare value='Email Share to ' type='button'></input><input onblur=doto(this.value); type=text name=email id=karaokeemail value=></input></div></div></div></div></div><br><br>✔ (<a target=_blank title='Thanks to https://webaudiodemos.appspot.com/AudioRecorder ... if it works for your browser. If not, you can consider using a desktop microphone recorder app such as Mac OS X QuickTime Player as an alternative perhaps.' href='https://webaudiodemos.appspot.com/AudioRecorder/index.html'>Record</a> own parts? <input onchanged='dorecord=!dorecord;' type=checkbox name=recown id=recown value='Record own parts?'></input>) ";
var cbutm="<div style='text-align:center; width: 100%; height: 60px;'><div id='dkaraokem' style='display:inline; visibility: hidden; '><input id='mousei' type='button' style='background-color:#f5f5f5; display:inline; visibility: hidden;' onclick=' mousebelowi(this);' value='Fill Table Below via Mouse Video Pauses'></input></div></div><br>Start time in seconds <span id=nm style='display:none;'>(negative means you will be singing or Prefix by Audio file URL or YouTube ID delimited by :)</span>";
var cbutr="<div style='text-align:center; width: 100%; height: 60px;'><div id='dkaraoker' style='display:inline; visibility: hidden; '>        <input id='mousej' type='button' style=' background-color:#f0f0f0; display:inline; visibility: hidden;' onclick=' mousebelowj(this);' value='Fill Table Starting with '></input></div></div><br><span style=text-align:right;width:100%;>Finish</span>";
var zeroplay=-1;
var ylastokn='';
var yokn='';
var yoko=null;
var donef=false;
var huhaudiow=false;
var audiow=null;
var audiof='';
var audioi=0;
var audioask=false;
var dorecord=false;
var ourrec=location.search.split('recown=')[1] ? location.search.split('recown=')[1].split('&')[0] : 'off';
var ioffset=0;
var domin=false;


function mintoajax() {
document.getElementById('ominpossible').innerHTML='📹';
if (1 == 1) {
document.getElementById('ajaxs').style.position='absolute';
document.getElementById('ajaxs').style.left='0px';
document.getElementById('ajaxs').style.top='2px';
} else {
var rect=document.getElementById('ajaxs').getBoundingClientRect();
window.scrollTo(eval(('' + rect.left).replace('px','').split('.')[0]), eval(('' + rect.top).replace('px','').split('.')[0]));
}
}

function oncntapp(sva,svatl) {
// var ajaxclist='', ajaxoncnt=0;
//var thismulti=document.getElementById('cajaxs').checked;
if (eval('' + sva.trim().length) == 11 && sva.trim().indexOf(' ') == -1) {
ajaxoncnt++;
if (ajaxclist == '') {
ajaxclist=sva.trim();
ajaxf=svatl.split('(')[0];
} else {
ajaxclist+=',' + sva.trim();
}
} else if (sva.trim() == '') {
ajaxclist='';
ajaxoncnt=0;
ajaxf='';
}
//document.title='ajaxclist=' + ajaxclist + ' and ajaxoncnt=' + ajaxoncnt;
}

function oncnt(inih) {
return inih.replace(/\<option\ /g, "<option onclick=oncntapp(this.value,this.innerText); ");
}

function putmorethanone(mto) {
morethanone=mto;
if (morethanone) {
top.document.title+=' ';
tdt=' ';
document.getElementById('ajaxs').multiple=true;
if (ajaxsih != '') {
document.getElementById('ajaxs').innerHTML=oncnt(ajaxsih);
} else {
document.getElementById('ajaxs').style.height='300px';
}
givefactor=0;
document.getElementById('dajaxs').innerHTML='<input title="Select Video(s) and then Click Here When Ready to Play them (with up to 20 seconds pause or time for your clicks between each)" type=button onclick=" givefactor=givefifteen; " style=display:inline;width:120px;background-color:yellow; value="Ready?" id=iajaxs></input> <br><input title="Select Video(s) and then Click Here When Ready to Play them in a 3x3 grid (where click matches to end result matches keep that order)" type=button onclick=" dnineit(); " style=display:inline;width:120px;background-color:orange; value="Grid?" id=gridajaxs></input> <br> <input title="Select Video(s) and then Click Here When Ready to Play them synchronously, if possible" type=button onclick=" sgive=true; givefactor=givefifteen; " style=display:inline;width:120px;background-color:lightgreen; value="Synchronize?" id=iiajaxs></input> <br> <input title="Select Video(s) and then Click Here When Ready to Play them synchronously and superimposed, if possible" type=button onclick=" pgive=true; sgive=true; givefactor=givefifteen; " style=display:inline;width:120px;background-color:lightblue; value="Superimpose?" id=iiajaxs></input> ';
} else {
top.document.title=top.document.title.replace(' ','');
tdt='';
document.getElementById('ajaxs').multiple=false;
}
}

function clickto() {
if (1 == 11) {
var ibitis=document.getElementById('emailer').src.split('?')[0].split('#')[0];
ibitis+='?to=' + encodeURIComponent(document.getElementById('to').value);
ibitis+='&cc=' + encodeURIComponent(document.getElementById('cc').value);
ibitis+='&bcc=' + encodeURIComponent(document.getElementById('bcc').value);
ibitis+='&url=' + encodeURIComponent(document.getElementById('url').value);
ibitis+='&urlbig=' + encodeURIComponent(document.getElementById('urlbig').value);
ibitis+='&subject=' + encodeURIComponent(document.getElementById('subject').value);
document.getElementById('emailer').src=ibitis;
} else {
document.getElementById('sendemail').click();
}
}

function doto(etv) {
document.getElementById('to').value=etv;
}

function closeaudio() {
try {
if (audiow != null) {
audiow.close();
audioask=false;
if (audiof == '') {
//audiof='';
var outaf=null;
if (dorecord) outaf=prompt('Please enter URL to access local audio you just captured. There is very little chance you will not need to change the default value. If it starts with file: you will have to double click these when prompted, else .wav ones are automated, and you can use local web servers like Mac OS X Apache/PHP MAMP (https://www.mamp.info) for a filename like //localhost:8888/myRecording00.wav that would work if you have copied the audio from the Downloads folder to /Applications/MAMP/htdocs/ for instance. Windows has Apache/PHP EasyPHP (//www.easyphp.org/) local web server.', 'file:///home/Downloads/myRecording00.wav');
if (outaf) {
if (outaf != '') {
morechanges=false;
document.getElementById('i' + audioi).value+=';' + outaf;
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='visible';
document.getElementById('dkaraokem').style.visibility='visible';
document.getElementById('dkaraoker').style.visibility='visible';
document.getElementById('trrhead').style.display='none';
document.getElementById('karaoke').style.visibility='visible';
if (document.getElementById('d' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='visible';
// alert(emojisuffix + 'karaoke');
emojistuff();
}
}
} else {
ioffset=-1;
}
}
}
} catch (ee) { }
audiow=null;
}

function toms(inf) {
if (inf.value != '') {
if (inf.value.split(';')[0].substring(0,1) >= '0' && inf.value.split(';')[0].substring(0,1) <= '9') {
var secsare=eval(inf.value.split(';')[0]);
//alert(Math.floor(secsare / 3600.0));
//alert(('0' + Math.floor(secsare / 60.0)));
//alert(('0' + eval(secsare,60.0)));
//alert('take two off length of ' + ('0' + Math.floor(eval(secsare,60.0))));
inf.title=Math.floor(secsare / 3600.0) + ':' + ('0' + Math.floor(secsare / 60.0)).substring(eval(-2 + ('0' + Math.floor(secsare / 60.0)).length)) + ':' + ('0' + eval(secsare % 60.0)).substring(eval(-2 + ('0' + Math.floor((secsare % 60.0))).length));
//alert(secsare + ' ' + inf.title);
}
}
}

function andthe() {
var ii=eval(1 + eval(document.getElementById('updatethisplease').value.replace('i','').replace('j','')));
next_thing='xx' + ii;
document.getElementById(next_thing).style.visibility='visible';
document.getElementById(document.getElementById('updatethisplease').value).style.backgroundColor=bcol;
setTimeout(andthe, 1000);
}

function andth() {
document.getElementById('mousei').style.visibility='hidden';
document.getElementById('mousej').style.visibility='hidden';
}

function mousebelowj(omo) {
//alert(omo.id.replace('j','i'));
document.getElementById(omo.id.replace('j','i')).style.visibility='hidden';
//alert(9000);
mbmode=true;
omo.value='When finished with Table Settings click Orange button to Play your Table Settings';
//alert(90000);
bcol='#f0f0f0';
document.getElementById('updatethisplease').value='j0';
document.getElementById(document.getElementById('updatethisplease').value).style.backgroundColor=bcol;
//alert(900000);
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
document.getElementById('thft').innerHTML='Via Mouse Video Click Pauses ... <br>' + 'where Click, DoubleClick for the Finish entries <br>would mean no user Karaoke part ... <br>' + document.getElementById('thft').innerHTML;
//alert(9000000);
//document.getElementById('karaoke').click();
next=0;
queuenext();
setTimeout(andth, 5000);
andthe();
//alert(90000000);
}

function mousebelowi(omo) {
//alert(900);
document.getElementById(omo.id.replace('i','j')).style.visibility='hidden';
omo.value='When finished with Table Settings click Orange button to Play your Table Settings';
document.getElementById('updatethisplease').value='i0';
bcol='#f5f5f5';
document.getElementById(document.getElementById('updatethisplease').value).style.backgroundColor=bcol;
document.getElementById('thst').innerHTML='Via Mouse Video Click Pauses ... <br>' + document.getElementById('thst').innerHTML;
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
//document.getElementById('karaoke').click();
mbmode=true;
next=0;
queuenext();
setTimeout(andth, 5000);
andthe();
}

function ofc(iois) {
okn=iois.value;
oko=iois;
lastokn=okn;
}

function precval(iois) {
//okn=iois.value;
oko=iois;
lastokn=okn;
if (okn.indexOf(':x') != -1) {
var cvi=okn.split(':');
if (cvi.length > 1) {
var scs=0.0, factor=1.0;
for (var ij=eval(-1 + cvi.length); ij>=0; ij--) {
if (cvi[ij] == "") cvi[ij]="00";
scs+=eval(factor * eval(cvi[ij]));
factor*=60.0;
}
okn='' + scs;
oko.value=okn;
lastokn=okn.replace(':','');
//document.title=oko.value;
//setTimeout(fixval,30);
}
}
}

function fixval() {
if (okn != '') {
oko.value=okn;
} else if (lastokn != '') {
oko.value=lastokn;
lastokn='';
} //else {
//document.title='why';
//}
}

function cval(eiois) {
if (document.URL.indexOf('i0=') == -1) {
//alert(eiois.which);
//okn+=String.fromCharCode(eiois.which || eiois.keyCode);
if ((eiois.which || eiois.keyCode) == 8) {
okn='';
} else if ((eiois.which || eiois.keyCode) == 186 || (eiois.which || eiois.keyCode) == 900000016) {
okn=okn.replace(':','') + ':';
//document.title=okn + ' ' + (eiois.which || eiois.keyCode);
var cvi=okn.split(':');
if (cvi.length > 1) {
var scs=0.0, factor=1.0;
for (var ij=eval(-1 + cvi.length); ij>=0; ij--) {
if (cvi[ij] == "") cvi[ij]="00";
scs+=eval(factor * eval(cvi[ij]));
factor*=60.0;
}
//alert(scs + ' ' + okn);
okn='' + scs;
oko.value=okn;
lastokn=okn.replace(':','');
//document.title=okn + ' ' + (eiois.which || eiois.keyCode) + ' ' + oko.value;
//setTimeout(fixval,30);
}
} else if ((eiois.which || eiois.keyCode) < 46 || (eiois.which || eiois.keyCode) > 58) {
okn=okn;
} else {
okn+=String.fromCharCode(eiois.which || eiois.keyCode);
//document.title+='=' + okn + '+' + eiois.which + ' ' + eiois.keyCode + ' ... ';
}
}
}



function checkval(iois) {
if (document.URL.indexOf('i0=') == -1) {
var cvi=iois.value.split(':');
if (cvi.length > 1) {
var scs=0.0, factor=1.0;
for (var ij=eval(-1 + cvi.length); ij>=0; ij--) {
scs+=eval(factor * eval(cvi[ij]));
factor*=60.0;
}
iois.value='' + scs;
}
addrow();
} else {
snippet=eval(iois.id.replace('i','').replace('j','').replace('c',''));
snippet++;
document.getElementById('xx' + snippet).style.visibility='visible';
}
}



function yofc(iois) {
yokn=iois.value;
yoko=iois;
ylastokn=yokn;
}

function yprecval(iois) {
//yokn=iois.value;
yoko=iois;
ylastokn=yokn;
}

function yfixval() {
if (yokn != '') {
yoko.value=yokn;
} else if (ylastokn != '') {
yoko.value=ylastokn;
ylastokn='';
}
}

function ycval(eiois) {
if (document.URL.indexOf('i0=') == -1) {
//alert(eiois.which);
//yokn+=String.fromCharCode(eiois.which || eiois.keyCode);
if ((eiois.which || eiois.keyCode) == 8) {
yokn='';
} else if ((eiois.which || eiois.keyCode) < 33 || (eiois.which || eiois.keyCode) > 126) {
yokn=yokn;
} else {
yokn+=String.fromCharCode(eiois.which || eiois.keyCode);
getytlist(yokn, false);
}
}
}


function addrow() {
var suffix='', vmode='visible', chked='';
snippet++;
if (itt('') != '') { if (document.getElementById('c0')) { document.getElementById('c0').checked=true; } else if (1 == 2) { chked=' checked'; } } // else { alert(43); }
var csnippet=location.search.split('c' + snippet + '=')[1] ? location.search.split('c' + snippet + '=')[1].split('&')[0] : 'off';
var isnippet=location.search.split('i' + snippet + '=')[1] ? decodeURIComponent(location.search.split('i' + snippet + '=')[1].split('&')[0]) : ' ';
var jsnippet=location.search.split('j' + snippet + '=')[1] ? decodeURIComponent(location.search.split('j' + snippet + '=')[1].split('&')[0]) : ' ';
if (isnippet == ' ' && jsnippet == ' ') {
if (defval != '') {
//alert(0);
for (var ii=1; ii<=nine; ii++) {
suffix+='<tr style=visibility:' + vmode + ';background-color:pink; id=xx' + eval(ii + snippet) + '><td><input type=checkbox id=c' + eval(ii + snippet) + ' name=c' + eval(ii + snippet) + chked + '></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + eval(ii + snippet) + ' name=i' + eval(ii + snippet) + ' value=></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 id=j' + eval(ii + snippet) + ' name=j' + eval(ii + snippet) + ' step=0.000001 value=></input></td></tr>';
chked='';
vmode='hidden';
}
document.getElementById(nextthing).innerHTML+='<tr id=xx0 style=background-color:pink;><td><input onclick=andth(); type=checkbox id=c' + snippet + ' name=c' + snippet + chked + '></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + snippet + ' name=i' + snippet + ' value=' + defval + '></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 max=' + eval(document.getElementById('youtube_duration').value).toFixed(3) + ' id=j' + snippet + ' name=j' + snippet + ' step=0.000001 value=' + eval(document.getElementById('youtube_duration').value).toFixed(3) + '></input></td></tr>' + suffix;
chked='';
} else {
//alert(90);
document.getElementById(nextthing).style.visibility='visible';
}
} else if (csnippet == 'off') {
if (defval != '') {
//alert(0);
for (var ii=1; ii<=nine; ii++) {
suffix+='<tr style=visibility:' + vmode + ';background-color:pink; id=xx' + eval(ii + snippet) + '><td><input type=checkbox id=c' + eval(ii + snippet) + ' name=c' + eval(ii + snippet) + chked + '></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + eval(ii + snippet) + ' name=i' + eval(ii + snippet) + ' value=></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 id=j' + eval(ii + snippet) + ' name=j' + eval(ii + snippet) + ' step=0.000001 value=></input></td></tr>';
chked='';
vmode='hidden';
}
document.getElementById(nextthing).innerHTML+='<tr id=xx0 style=background-color:pink;><td><input onclick=andth(); type=checkbox id=c' + snippet + ' name=c' + snippet + chked + '></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + snippet + ' name=i' + snippet + ' value=' + isnippet + '></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 max=' + document.getElementById('youtube_duration').value + ' id=j' + snippet + ' name=j' + snippet + ' step=0.000001 value=' + jsnippet + '></input></td></tr>' + suffix;
chked='';
} else {
//alert(90);
document.getElementById(nextthing).style.visibility='visible';
document.getElementById('i' + snippet).value=isnippet;
document.getElementById('j' + snippet).value=jsnippet;
}
} else {
if (defval != '') {
//alert(0);
for (var ii=1; ii<=nine; ii++) {
suffix+='<tr style=visibility:' + vmode + ';background-color:pink; id=xx' + eval(ii + snippet) + '><td><input type=checkbox id=c' + eval(ii + snippet) + ' name=c' + eval(ii + snippet) + chked + '></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + eval(ii + snippet) + ' name=i' + eval(ii + snippet) + ' value=></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 id=j' + eval(ii + snippet) + ' name=j' + eval(ii + snippet) + ' step=0.000001 value=></input></td></tr>';
chked='';
vmode='hidden';
}
document.getElementById(nextthing).innerHTML+='<tr id=xx0 style=background-color:pink;><td><input onclick=andth(); type=checkbox id=c' + snippet + ' name=c' + snippet + ' checked></input></td><td><input style=width:400px; onblur=checkval(this); type=text onmouseover=toms(this); id=i' + snippet + ' name=i' + snippet + ' value=' + isnippet + '></input></td><td><input style=width:100px; type=number onkeyup=cval(event); oninput=precval(this); onclick=ofc(this); onmouseover=toms(this); min=0 max=' + document.getElementById('youtube_duration').value + ' id=j' + snippet + ' name=j' + snippet + ' step=0.000001 value=' + jsnippet + '></input></td></tr>' + suffix;
} else {
//alert(90);
document.getElementById(nextthing).style.visibility='visible';
if (document.URL.indexOf('c' + snippet + '=off') == -1) {
document.getElementById('c' + snippet).checked=true;
}
document.getElementById('i' + snippet).value=isnippet;
document.getElementById('j' + snippet).value=jsnippet;
}
csnippet=location.search.split('c' + eval(1 + snippet) + '=')[1] ? location.search.split('c' + eval(1 + snippet) + '=')[1].split('&')[0] : 'off';
isnippet=location.search.split('i' + eval(1 + snippet) + '=')[1] ? location.search.split('i' + eval(1 + snippet) + '=')[1].split('&')[0] : ' ';
jsnippet=location.search.split('j' + eval(1 + snippet) + '=')[1] ? location.search.split('j' + eval(1 + snippet) + '=')[1].split('&')[0] : ' ';
//alert('isnippet=' + isnippet + '*and* jsnippet=' + jsnippet + '*');
if (isnippet.trim() == '' && jsnippet.trim() == '') {
//alert('isNippet=' + isnippet + '*and* snippet=' + snippet + '*');
queuenext(); //document.getElementById('dkaraoke').click();
// alert(11);
return;
} else {
nextthing='xx' + eval(1 + snippet);
defval='';
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='visible';
document.getElementById('dkaraokem').style.visibility='visible';
document.getElementById('dkaraoker').style.visibility='visible';
document.getElementById('trrhead').style.display='none';
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='visible'; // huh
// alert(11111);
emojistuff();
}
//alert('isnippet=' + isnippet + '*and* jsnippet=' + jsnippet + '*');
addrow();
// alert(111);
return;
}
}
nextthing='xx' + eval(1 + snippet);
defval='';
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='visible';
document.getElementById('dkaraokem').style.visibility='visible';
document.getElementById('dkaraoker').style.visibility='visible';
document.getElementById('trrhead').style.display='none';
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='visible'; // huh
// alert(1111);
emojistuff();
}
if (document.getElementById('j0').value.indexOf('.') == -1) {
document.getElementById('j0').value+='';
} else {
var xxqw=document.getElementById('j0').value.split('.');
if (xxqw[1].length > 3) {
document.getElementById('j0').value=xxqw[0] + '.' + xxqw[1].substring(0,3);
}
}

var nosup=' ';
//alert(zeroplay);
if (zeroplay != 0 && document.getElementById('c0')) {
//alert(4);
if (!top.window) {
//alert(44);
nosup='';
} else {
if (itt('') != '') { nosup=''; }
}
//alert(444);
}

if (zeroplay == 0) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('hERe');
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById(emojisuffix + 'karaoke').click();
}
} else {
document.getElementById('karaoke').click();
}
} else if (nosup == '') {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('hERE');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (top.document.title.indexOf("Country ") == 0 && top.document.title.indexOf(" Quiz") != -1 && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('hERE');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (((top.document.title.indexOf("Indigenous ") == 0 && top.document.title.indexOf(" Australia") != -1) || (top.document.URL.indexOf('rjmprogramming.com.au/wordpress') != -1 || top.document.URL.indexOf('rjmprogramming.com.au/ITblog') != -1)) && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (((top.document.title.indexOf("Health ") == 0 && top.document.title.indexOf(" Meaning") != -1) || (top.document.URL.indexOf('rjmprogramming.com.au/wordpress') != -1 || top.document.URL.indexOf('rjmprogramming.com.au/ITblog') != -1)) && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (((top.document.title.indexOf("Dams ") == 0 && top.document.title.indexOf(" United States") != -1) || (top.document.URL.indexOf('rjmprogramming.com.au/wordpress') != -1 || top.document.URL.indexOf('rjmprogramming.com.au/ITblog') != -1)) && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (((top.document.title.indexOf("Australian ") == 0) || (top.document.URL.indexOf('rjmprogramming.com.au/wordpress') != -1 || top.document.URL.indexOf('rjmprogramming.com.au/ITblog') != -1)) && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1) {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (top.document.title.indexOf("Nostalgia ") == 0 && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (top.document.title.indexOf("(at least on Google Chrome)") != -1 && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (top.document.title.indexOf("Top Look") == 0 && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
} else if (top.document.title.indexOf("The Other Side of the World") == 0 && document.getElementById('c0')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('c0').checked=true;
}
//if (onestodo.length > 1) alert('HEre');
if (document.getElementById('ejkaraoke')) {
if (document.URL.indexOf('c0=off') == -1 || itt('') != '') {
document.getElementById('ejkaraoke').click();
}
}
}

tdt='';
}

function nextv() {
if (thisonetodo < onestodo.length) {
ourvid=onestodo[thisonetodo];
//if (thisonetodo > 0) alert(ourvid);
document.getElementById('ajax').innerHTML='';
document.getElementById('youtubeid').value=ourvid;
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
//if (onestodo.length > 1) {
// top.document.title+=" ; " + onestodosuffix;
// alert(eval(1000 * onestododur[thisonetodo]) + " ; " + onestodosuffix);
//}
setTimeout(showd, 200);
setTimeout(nextv, eval(1000 * onestododur[thisonetodo]));
thisonetodo++;
}
}
function yourprefix(suggestedone) {
var outsug=suggestedone, ione=1;
var lastlslook=' ';
if (window.localStorage) {
while (lastlslook != '') {
outsug=('000' + ione).slice(-3);
lastlslook=decodeURIComponent(('' + localStorage.getItem('list' + outsug))).replace(/\+/g,' ').replace(/^null$/g,'').trim();
ione++;
}
}
return outsug;
}

function dnineit() {
var allinc=true;
var wasvl=ajaxoncnt;
var sin=document.getElementById('ajaxs');
var qtitle='', commalist='', commadelim='';
for (var i=0; i<sin.options.length; i++) {
if (sin.options[i].selected) {
if (sin.options[i].value != '') {
ajaxoncnt--;
if (ajaxclist.indexOf(sin.options[i].value) == -1) { allinc=false; }
if (qtitle == '') { qtitle='&atitle=' + encodeURIComponent(('' + sin.options[i].innerText).split(' (')[0]); }
commalist+=commadelim + sin.options[i].value;
commadelim=',';
}
}
}
if (commalist != '') {
if (ajaxoncnt == 0 && allinc && wasvl != 0) {
//alert("./the_wrecking_crew.html?aprefix=" + encodeURIComponent(yourprefix('kar')) + qtitle + '&alist=' + encodeURIComponent(' ' + ajaxclist + ' '));
if (ajaxf != '') {
document.getElementById('dnine').innerHTML="<a style='cursor:pointer;text-decoration:none;' href='#myh1' title=Down>👇</a><br><iframe style='width:100%;height:800px;' id=ifnine src='./the_wrecking_crew.html?aprefix=" + encodeURIComponent(yourprefix('kar')) + '&atitle=' + encodeURIComponent(ajaxf) + '&alist=' + encodeURIComponent(' ' + ajaxclist + ' ') + "'></iframe>";
} else {
document.getElementById('dnine').innerHTML="<a style='cursor:pointer;text-decoration:none;' href='#myh1' title=Down>👇</a><br><iframe style='width:100%;height:800px;' id=ifnine src='./the_wrecking_crew.html?aprefix=" + encodeURIComponent(yourprefix('kar')) + qtitle + '&alist=' + encodeURIComponent(' ' + ajaxclist + ' ') + "'></iframe>";
}
} else {
document.getElementById('dnine').innerHTML="<a style='cursor:pointer;text-decoration:none;' href='#myh1' title=Down>👇</a><br><iframe style='width:100%;height:800px;' id=ifnine src='./the_wrecking_crew.html?aprefix=" + encodeURIComponent(yourprefix('kar')) + qtitle + '&alist=' + encodeURIComponent(commalist) + "'></iframe>";
}
}
ajaxoncnt=wasvl;
}

function postputy(sin, secok) {
var cumd=0.0;
var xrect;
var retval='', oneto=true;
var czis='on';
var docbod='', docbodi=1, selbod='';
var aot,jaot=0,aotfactor=1.0,iaot,aotdur=0.0,faot=[60.0,60.0,24.0];
var kbitis=document.URL.split('#')[0].split('?')[0].split('/')[eval(-1 + document.URL.split('#')[0].split('?')[0].split('/').length)];
var utemplate='https://www.rjmprogramming.com.au/HTMLCSS/' + kbitis + '?youtubeid=SuJFdLxisPs&youtube_duration=575.621&email=&email=&emoji=on&c0=' + czzis + '&i0=0&j0=575.621&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29=';
for (var i=0; i<sin.options.length; i++) {
if (sin.options[i].selected) {
if (sin.options[i].value != '') {
//alert(sin.options[i].value);
if (oneto) {
oneto=false;
onestodo=[];
onestododur=[];
}
aotdur=0.0;
aotfactor=1.0;
jaot=0;
aot=sin.options[i].text.split('(')[eval(-1 + sin.options[i].text.replace(')',' ').split('(').length)].replace(')',' ').split(':');
if (aot.length == 1 && aot[0].replace(' second ',',').replace(' seconds ',',').indexOf(',') != -1) {
var hvis=aot[0].split(' hour');
if (hvis.length != 1) { console.log(hvis[0]); aotdur+=eval(eval('' + hvis[0]) * 60 * 60); aot[0]=aot[0].replace(' hours,',' hour').replace(' hour,',' hour').split(' hour')[1]; }
hvis=aot[0].split(' minute');
if (hvis.length != 1) { console.log(hvis[0]); aotdur+=eval(eval('' + hvis[0]) * 60); aot[0]=aot[0].replace(' minutes,',' minute').replace(' minute,',' minute').split(' minute')[1]; }
hvis=aot[0].split(' second');
if (hvis.length != 1) { console.log(hvis[0]); aotdur+=eval(eval('' + hvis[0]) * 1); }
} else {
for (iaot=eval(-1 + aot.length); iaot>=0; iaot--) {
aotdur+=eval(aotfactor * aot[iaot]);
jaot++;
aotfactor *= faot[jaot];
}
}
cumd+=aotdur;
cumd+=15;
//alert(sin.options[i].value + ' aotdur=' + aotdur + ' aotfactor=' + aotfactor + ' title=' + sin.options[i].text);
if (sgive) {
document.getElementById('myh1').style.maxWidth='700px';
if (docbod == '') {
selbod='<select style="width:60px;display:inline-block;" onchange="if (this.value.length > 1 || this.value.trim().length == 1) { if (!pgive) { location.href=' + "'#' + this.value;" + ' } } else if (this.value.length == 1 && this.value.trim().length == 0) { addrecline(this.value); }" title="Focus on"><option value="">...</option></select>';
docbod='<h1 id=myh1>YouTube API - RJM Programming - September, 2016 <a target=_blank title="Search again" href="' + document.URL.replace('ht' + 'tp:','ht' + 'tps:').split('?')[0].split('#')[0] + '">...</a> <font size=1>selected from</font> "' + document.getElementById('youtubeid').value.trim() + '" <font size=1>below</font> ' + selbod + '</h1><table id="myvtable" style="border:1px solid red;"><tbody><tr></tr></tbody></table>';
}
selbod=selbod.replace('</select>', '<option value="td' + docbodi + '">' + sin.options[i].text.split('(0')[0].split('(1')[0].split('(2')[0].split('(3')[0].split('(4')[0].split('(5')[0].split('(6')[0].split('(7')[0].split('(8')[0].split('(9')[0] + '</option></select>');
docbod=docbod.replace(/\<\/select\>/g, '<option value="td' + docbodi + '">' + sin.options[i].text.split('(0')[0].split('(1')[0].split('(2')[0].split('(3')[0].split('(4')[0].split('(5')[0].split('(6')[0].split('(7')[0].split('(8')[0].split('(9')[0] + '</option></select>');
document.getElementById('myh1').innerHTML=sin.options[i].text.replace(/\[/g,'(').replace(/\]/g,')').replace(/junk\~junk/g,'junk|junk').split('(0')[0].split('(1')[0].split('(2')[0].split('(3')[0].split('(4')[0].split('(5')[0].split('(6')[0].split('(7')[0].split('(8')[0].split('(9')[0];
xrect=document.getElementById('myh1').getBoundingClientRect();
if (pgive) {
//alert(1);
docbod=docbod.replace('</tr>', '<td id="td' + docbodi + '"><iframe id=iftd' + docbodi + ' title="' + eval(0 * xrect.height) + '" onload="ifmyh1(this,' + eval(-1 + docbodi) + ');" style="width:700px;height:85vh;" src="' + utemplate.replace('c0=on','c0=' + czis).replace('SuJFdLxisPs',sin.options[i].value).replace(/575\.621/g,'' + aotdur) + '&fixedh1h=y"></iframe>' + selbod.replace("(this.value);","('" + docbodi + "');").replace('...</option>','...</option><option value=" ">... ... Move this video over to left</option>').replace('<select ','<select id=seltd' + docbodi + ' ') + '</td></tr>');
if (sgive && !pgive) {
czis='off&tdd=' + eval(1 + eval('' + docbodi)) + '&ezj=' + ('' + cumd).split('.')[0];
} else if (!pgive) {
czis='off&tdd=' + eval(1 + eval('' + docbodi)) + '&ezj=1';
}
} else {
if (sgive && !pgive) {
//alert(11);
docbod=docbod.replace('</tr>', '<td id="td' + docbodi + '"><iframe title="' + eval(0 * xrect.height) + '" onload="ifmyh1(this,' + eval(-1 + docbodi) + ');" style="width:700px;height:85vh;" src="' + utemplate.replace('c0=on','c0=' + czis).replace('c0=on','c0=' + czis).replace('SuJFdLxisPs',sin.options[i].value).replace(/575\.621/g,'' + aotdur) + '&fixedh1h=y"></iframe>' + selbod.replace("(this.value);","('" + docbodi + "');").replace('...</option>','...</option><option value=" ">... ... Move this video over to left</option>') + '</td></tr>');
czis='off&tdd=' + eval(1 + eval('' + docbodi)) + '&ezj=' + ('' + cumd).split('.')[0];
} else if (!pgive) {
docbod=docbod.replace('</tr>', '<td id="td' + docbodi + '"><iframe title="' + eval(0 * xrect.height) + '" onload="ifmyh1(this,' + eval(-1 + docbodi) + ');" style="width:700px;height:85vh;" src="' + utemplate.replace('c0=on','c0=' + czis).replace('c0=on','c0=' + czis).replace('SuJFdLxisPs',sin.options[i].value).replace(/575\.621/g,'' + aotdur) + '&fixedh1h=y"></iframe>' + selbod.replace("(this.value);","('" + docbodi + "');").replace('...</option>','...</option><option value=" ">... ... Move this video over to left</option>') + '</td></tr>');
czis='off&tdd=' + eval(1 + eval('' + docbodi)) + '&ezj=1';
//alert(111);
} else {
//alert(1111);
docbod=docbod.replace('</tr>', '<td id="td' + docbodi + '"><iframe title="' + eval(0 * xrect.height) + '" onload="ifmyh1(this,' + eval(-1 + docbodi) + ');" style="width:700px;height:85vh;" src="' + utemplate.replace('c0=on','c0=' + czis).replace('c0=on','c0=' + czis).replace('SuJFdLxisPs',sin.options[i].value).replace(/575\.621/g,'' + aotdur) + '&fixedh1h=y"></iframe>' + selbod.replace("(this.value);","('" + docbodi + "');").replace('...</option>','...</option><option value=" ">... ... Move this video over to left</option>') + '</td></tr>');
}
}
docbodi++;
}
thisonetodo=0;
if (onestodo.length <= 1) {
if (onestodo.length == 1) {
onestodoprefix='&andthen=';
onestodosuffix=onestododur[0] + ";" + sin.options[i].value + "," + aotdur;
console.log('yes more than one');
}
} else {
onestodosuffix+=";" + sin.options[i].value + "," + aotdur;
}
onestodo.push(sin.options[i].value);
onestododur.push(aotdur);
//alert('Expected duration for ' + sin.options[i].value + ' (' + eval(i + 1) + ') is ' + aotdur + ' seconds');
}
}
}
bigdocbod=docbod;
if (!secok) { return ''; }
if (onestodo.length > 0) {
if (onestodo.length > 1) {
if (prevonestodosuffix == "") {
document.getElementById('myformdiv').innerHTML="<input type=hidden name=andthen value='" + onestodosuffix + "'></input>";
}
//top.document.title+=" ; " + onestodosuffix;
}
nextv();
}
if (docbod != '') {
retval='';
document.title="Top Look";
if (pgive) {
//docbod+=String.fromCharCode(10) + "<scr" + "ipt type='text/javascript'> " + String.fromCharCode(10);
//docbod+= "function aut() { var ifsa=document.getElementsByTagName('iframe'); for (var iaut=0; iaut<ifsa.length; iaut++) { ifsa[iaut].style.position='absolute'; ifsa[iaut].style.opacity='0.5'; ifsa[iaut].style.top='100px'; ifsa[iaut].style.left='0px'; } } " + String.fromCharCode(10) + " setTimeout(aut, 2000); " + String.fromCharCode(10);
//docbod+="</scr" + "ipt> " + String.fromCharCode(10);
docbod=docbod.replace('ifmyh1(', ' setTimeout(aut,2000); ifmyh1(');
docbod=docbod.replace('<select ', '<select id=topselbod ');
}
//alert(0);
document.body.innerHTML=docbod;
}
return retval;
}

function givethemfifteen() {
givefifteen-=givefactor;
if (givefifteen <= 0) {
postputy(document.getElementById('ajaxs'), true);
} else {
setTimeout(givethemfifteen,1000);
}
}

function dputy(yt) {
var aot=yt.options[yt.selectedIndex].text.split('(')[eval(-1 + yt.options[yt.selectedIndex].text.replace(')','').split('(').length)].replace(')','').split(':'),jaot=0,aotfactor=1.0,iaot,aotdur=0.0,faot=[60.0,60.0,24.0];
if (morethanone) {
for (iaot=eval(-1 + aot.length); iaot>=0; iaot--) {
aotdur+=eval(aotfactor * aot[iaot]);
jaot++;
aotfactor *= faot[jaot];
}
//alert('Expected duration ' + aotdur + ' seconds');
if (givefifteen < 0) {
givefifteen=15;
givethemfifteen();
}
} else {
ourvid=yt.value;
// document.getElementById('ajax').innerHTML=''; // huh?
document.getElementById('youtubeid').value=ourvid;
if (domin) {
console.log('5:' + (new Date()) + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix));
window.open(document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix), '_blank', 'left=10,top=10,width=600,height=600');
} else {
console.log('6:' + (new Date()) + "<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
setTimeout(showd, 200);
}
}
}

function puty(yt) {
var aot=yt.options[yt.selectedIndex].text.split('(')[eval(-1 + yt.options[yt.selectedIndex].text.replace(')','').split('(').length)].replace(')','').split(':'),jaot=0,aotfactor=1.0,iaot,aotdur=0.0,faot=[60.0,60.0,24.0];
if (morethanone) {
for (iaot=eval(-1 + aot.length); iaot>=0; iaot--) {
aotdur+=eval(aotfactor * aot[iaot]);
jaot++;
aotfactor *= faot[jaot];
}
//alert('Expected duration ' + aotdur + ' seconds');
if (givefifteen < 0) {
givefifteen=15;
givethemfifteen();
}
} else {
ourvid=yt.value;
// document.getElementById('ajax').innerHTML=''; // huh?
document.getElementById('youtubeid').value=ourvid;
if (domin) {
//alert(document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix));
if (window.parent) {
if (parent.document.getElementById('parnext2') && parent.document.getElementById('divideo')) {
var cellnum=2;
while (parent.document.getElementById('parnext' + cellnum).innerHTML != '') {
cellnum++;
}
//parent.document.getElementById('parnext' + cellnum).innerHTML="<iframe id='myiframe" + cellnum + "' style='z-index:-4;width:720px;height:410px;' src='" + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe><table style=display:table-cell;><tr><td id=parnext" + eval(1 + eval('' + cellnum)) + "></td></tr></table>";
parent.document.getElementById('parnext' + cellnum).innerHTML="<table style=display:table-cell;><tr><td id=parnext" + eval(1 + eval('' + cellnum)) + "></td></tr></table><iframe id='myiframe" + cellnum + "' style='z-index:-4;width:720px;height:410px;' src='" + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>";
} else if (parent.document.getElementById('myiframe') && parent.document.getElementById('divideo')) {
//alert('1:' + (new Date()) + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix));
parent.document.getElementById('myiframe').src=document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix);
} else if (parent.document.getElementById('placeforvideo') && parent.document.getElementById('divideo')) {
//parent.document.getElementById('divideo').style.width='760px';
//parent.document.getElementById('divideo').style.height='450px';
//parent.document.getElementById('placeforvideo').innerHTML="<details open><summary>YouTube Videos</summary><table style='overflow:scroll !important;' id=partable><tr id=parrow><td><iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe></td><td id=parnext2></td></tr></table></details>";
parent.document.getElementById('placeforvideo').innerHTML="<details open><summary>YouTube Videos</summary><table style='overflow:scroll !important;' id=partable><tr id=parrow><td id=parnext2></td><td><iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe></td></tr></table></details>";
if (parent.document.getElementById('divnoresize')) {
parent.document.getElementById('divnoresize').innerHTML='xxx';
}
} else {
//alert('2:' + (new Date()) + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix));
window.open(document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix), '_blank', 'left=10,top=10,width=600,height=600');
}
} else {
//alert('3:' + (new Date()) + document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix));
window.open(document.URL.split('karaoke_')[0] + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix), '_blank', 'left=10,top=10,width=600,height=600');
}
} else {
//alert('4:' + (new Date()) + "<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
setTimeout(showd, 200);
}
}
}

function amw() {
allowable=true;
}

function getytlist(whytid, isfinal) {
// https://www.youtube.com/results/?search_query=South+America%22%2Cintitle%3APaulo
if (!isfinal && lastgetytlist == whytid && whytid != '') {
lastgetytlist=lastgetytlist;
} else {
lastgetytlist=whytid;
if (allowable) {
var selname = "", qsel="", iqq=0, jqq=0, oparts=[whytid], dprefix='', dp='', wparts=[''];
var urlextra='', urln=1;
if (amwaiting && isfinal) {
clearInterval(amwaiting);
amwaiting=null;
allowable=true;
lastgetytlist='';
} else if (!amwaiting) {
amwaiting=setInterval(amw, 2000);
allowable=false;
}
whytid=whytid.replace(/\ \&\&\ /g, '"%2cintitle%3a"').replace(/\ \|\|\ /g, '"%2c%2b"').replace(/\&\&\ /g, 'intitle&3a"').replace(/\&\&/g, 'intitle%3a"');
additionalask=[''];
if (whytid != '') {
oparts=whytid.split(' || ');
wparts=whytid.split(' && ');
if (wparts.length > 1) {
if (wparts[1].split(' || ')[0].length > 0) {
for (iqq=1; iqq<wparts.length; iqq++) {
if (iqq == 1) {
additionalask[0]=wparts[1].split(' || ')[0];
urlextra+='&urln' + iqq + '=' + encodeURIComponent(wparts[1].split(' || ')[0]);
} else {
additionalask.push(wparts[iqq].split(' || ')[0]);
urlextra+='&urln' + iqq + '=' + encodeURIComponent(wparts[iqq].split(' || ')[0]);
}
}
}
}
selname = oparts[0].split(' && ')[0]; //whytid;
} else {
selname = document.getElementById('youtubeid').value;
selname = selname.replace(/\ \&\&\ /g, '"%2cintitle%3a"').replace(/\ \|\|\ /g, '"%2c%2b"').replace(/\&\&\ /g, 'intitle&3a"').replace(/\&\&/g, 'intitle%3a"')
oparts=selname.split(' || ');
wparts=selname.split(' && ');
if (wparts.length > 1) {
if (wparts[1].split(' || ')[0].length > 0) {
for (iqq=1; iqq<wparts.length; iqq++) {
if (iqq == 1) {
additionalask[0]=wparts[1].split(' || ')[0];
urlextra+='&urln' + iqq + '=' + encodeURIComponent(wparts[1].split(' || ')[0]);
} else {
additionalask.push(wparts[iqq].split(' || ')[0]);
urlextra+='&urln' + iqq + '=' + encodeURIComponent(wparts[iqq].split(' || ')[0]);
}
}
}
}
selname = oparts[0].split(' && ')[0]; //whytid;
}
if (selname.indexOf('v=') == 0) {
//qsel=encodeURIComponent(selname);
qsel=selname;
//alert("//localhost:8888/legend_via_map.php?url=" + encodeURIComponent("//www.youtube.com/results?search_query=" + qsel));
} else {
sstr="";
qsel=('"' + selname + '"').replace(/\"intitle\%/g, 'intitle%');
while (qsel.indexOf(' ') != -1) {
qsel=qsel.replace(" ","+");
}
}
//if (selname != "" && (selname.length > "URuOw1Pi58Y".length || selname.trim().indexOf(' ') != -1 || selname.indexOf('v=') == 0)) {
for (jqq=0; jqq<oparts.length; jqq++) {
if (selname != "" && (selname.replace('v=','').split('&')[0].match(/^[a-zA-Z0-9_-]*$/) == false ||
(selname.replace('v=','').split('&')[0].length < "URuOw1Pi58Y".length || selname.replace('v=','').split('&')[0].length > 12) ||
selname.trim().indexOf(' ') != -1 || selname.indexOf('v=') == 0)) {

if (amwaiting) { allowable=false; }

dprefix="ht" + "tp://www.youtube.com/results?search_query=";
dp="ht" + "tp://www.rjmprogramming.com.au/HTMLCSS/";
if (document.URL.indexOf('ht' + 'tps:') == 0) dp=dp.replace('tp:','tps:');
if (document.URL.indexOf('ht' + 'tps:') == 0) dprefix=dprefix.replace('tp:','tps:');
//document.title+=' ' + dprefix + qsel;
//dp="//localhost:8888/";

if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
qsel=qsel.replace('!||!','%20OR%20');
qsel=qsel.replace('|!!|','%20OR%20');
qsel=qsel.replace('|!|!','%20OR%20');
qsel=qsel.replace('!|!|','%20OR%20');
qsel=qsel.replace('!!||','%20OR%20');
qsel=qsel.replace('||!!','%20OR%20');
}

console.log(dprefix + qsel);
console.log(qsel);
//qsel=qsel.replace(/\"/g,'');
//qsel='Sydney';
//alert(selname);
//if (qsel.indexOf('%') == -1) { qsel=encodeURIComponent(document.getElementById('youtubeid').value.replace(/\+/g,' ').trim()); document.title+=' ' + qsel; }

if (qsel.replace('%5B','').replace('[','').replace(/\"/g,'') != '') {
$.ajax({ url: dp + "legend_via_map.php",
data: {"url":dprefix + qsel},
type: 'get',
success: function(outputin) {
//document.title+=' success ' + output.indexOf('-describedby=') + ' ' + output.indexOf('described') + ' ';
//alert(output);
var output=outputin.replace(/\"\:\ \{/g, '":{').replace(/\"\:\ \"/g, '":"');
var teq=' title="';
var teqtwo='';
console.log('Success:');
var selc='', fosecs=0.0, afosecs=[], ifo=0, fofactor=1.0;
console.log('1');
var qqbits=output.split('v=');
console.log('2');
var qqtbits=output.split('-describedby='); //'/watch?'); // '"commandMetadata":{"webCommandMetadata":{"url":"/watch'); // '-describedby=');
if (qqbits.length > 1 && qqtbits.length == 1) {
qqtbits=output.split('watchEndpoint');
teq='"title":{';
teqtwo='"text":"';
}
console.log('3 ' + teq);
if (qqtbits.length == 1 && output.indexOf('503 ') != -1) { document.title+=' ... please try again later.'; }
console.log('4');
var qdelim=' ', tqbits, ttqqbits='', attqqbits=[], durbits='', adurbits;
console.log('5');
var q11=11;
var teqx='';
console.log('6');
var fgs='findings are ', sze='', is_okay=true, jis_okay=0;
console.log('7 ' + qqbits.length + ' ' + qqtbits.length);
if (qqbits.length > 1 && qqtbits.length == 1) {
console.log('error: ' + dprefix + qsel); window.open(dprefix + qsel, '_blank'); //, 'top=30,left=30,width=900,height=900');
}
for (var ifgs=1; ifgs<qqtbits.length; ifgs++) {
fosecs=0.0;
fofactor=1.0;
tqbits=qqtbits[eval(-1 + ifgs)].split(teq); //' title="');
ttqqbits=qqtbits[eval(-1 + ifgs)].split('v=')[eval(-1 + qqtbits[eval(-1 + ifgs)].split('v=').length)].substring(0,q11);

if (selc == '') { // && document.getElementById('ajax').innerHTML == '') {
// document.title+=' 1 ';
if (zeroplay == 0) {
// document.title+=' 2 ';
document.getElementById("myh1").innerHTML=document.getElementById("myh1").innerHTML.replace('Karaoke via ',ourvid + ' Video Lookup via ');
if (ttqqbits.indexOf('<') != -1) {
sze=" size=" + eval(-1 + qqtbits.length) + " ";
} else {
sze=" size=" + qqtbits.length + " ";
}
document.getElementById("myform").innerHTML+="<input type=hidden name=justplay id=justplay value=y></input>";
}
if (ttqqbits.indexOf('<') == -1) {
if (document.URL.indexOf('minimize=') != -1) { domin=true; }
selc=preselc + "<select" + sze + " title='YouTube videos' id=ajaxs ondblclick=dputy(this); onchange=puty(this);><option id=ominpossible value=>Optionally choose YouTube title below ...</option></select> <div id=placeforvideo></div>";
}
}

if (additionalask[0] != '') {
for (jis_okay=0; jis_okay<additionalask.length; jis_okay++) {
if (additionalask[jis_okay] != '') {
if (tqbits[eval(-1 + tqbits.length)].split('"')[0].toLowerCase().indexOf(additionalask[jis_okay].toLowerCadse()) == -1) { is_okay=false; }
}
}
}

if (is_okay) {
teqx='';
if (teqtwo == '') {
durbits=' (' + qqtbits[eval(-1 + ifgs)].split(' class="video-time"')[eval(-1 + qqtbits[eval(-1 + ifgs)].split(' class="video-time"').length)].split('<')[0].split('>')[1] + ')';
console.log('durbits=' + durbits);
//selc=selc.replace('</select>','<option value=' + qqbits[eval(2 * ifgs)].substring(0,q11) + '>' + tqbits[eval(-1 + tqbits.length)].split('"')[0] + '</option></select>');
teqx=tqbits[eval(-1 + tqbits.length)].split('"')[0];
} else if (tqbits[eval(-1 + tqbits.length)].indexOf(teqtwo) != -1) {
teqx=tqbits[eval(-1 + tqbits.length)].split(teqtwo)[1].split('"')[0];
if (('' + qqtbits[eval(-1 + ifgs)]).indexOf('"lengthText":{') == -1 || ('' + qqtbits[eval(-1 + ifgs)]).indexOf('"label":"') == -1) {
console.log('qqtbits[' + eval(-1 + ifgs) + ']=' + qqtbits[eval(-1 + ifgs)]);
} else {
durbits=' (' + qqtbits[eval(-1 + ifgs)].split('"lengthText":{')[1].split('"label":"')[1].split('"')[0] + ')';
console.log('Durbits=' + durbits);
}
} else {
console.log(tqbits[eval(-1 + tqbits.length)].substring(0,60) + ' ??? ' + tqbits[eval(-1 + tqbits.length)].slice(-60));
}
if (teqx != '') { selc=selc.replace('</select>',oncnt('<option value=' + ttqqbits + '>' + teqx.replace(/\(/g,'[').replace(/\)/g,']').replace(/junk\|junk/g,'junk~junk') + durbits + '</option></select>'));
qdelim=',';
q11=11;
}
if (sstr != "") {
adurbits=durbits.substring(2).replace(')','').split(':');
for (ifo=eval(-1 + adurbits.length); ifo>=0; ifo--) {
fosecs+=eval(adurbits[ifo] * fofactor);
fofactor*=60.0;
}
attqqbits.push(ttqqbits);
afosecs.push(fosecs);
////www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=CPMpeNDIGdk&recown=on&youtube_duration=449.00&c0=on&i0=0&j0=60&c1=on&i1=80%3Bhttp%3A%2F%2Flocalhost%3A8888%2FmyRecording00.wav&j1=124&c2=on&i2=144&j2=396&c3=on&i3=416&j3=449&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=
//sstr='';
//location.href='//www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=' + ttqqbits + '&youtube_duration=' + fosecs + '&c0=on&i0=0&j0=' + fosecs;
}
if (sstr != '') {
var thisois=Math.floor(Math.random() * eval(0 + afosecs.length)) + 0;
//if (onestodo.length > 1) alert('Here');
var kbitis=document.URL.split('#')[0].split('?')[0].split('/')[eval(-1 + document.URL.split('#')[0].split('?')[0].split('/').length)];
//location.href='//www.rjmprogramming.com.au/HTMLCSS/karaoke_youtube_api.htm?youtubeid=' + attqqbits[thisois] + urlextra + '&youtube_duration=' + afosecs[thisois] + '&c0=on&i0=0&j0=' + afosecs[thisois];
location.href='//www.rjmprogramming.com.au/HTMLCSS/' + kbitis + '?youtubeid=' + attqqbits[thisois].replace(/\+/g, '%20') + urlextra + '&youtube_duration=' + afosecs[thisois] + '&c0=' + czzis + '&i0=0&j0=' + afosecs[thisois];
sstr='';
selc='';
}
} //else {
//document.title+=' why? ';
//}
}
if (is_okay) { document.getElementById('ajax').innerHTML=selc; if (document.URL.indexOf('pvostid=') !== -1) { if (parent.document.getElementById('ajaxs')) { parent.document.getElementById('ajaxs').innerHTML+=oncnt('<option value=" ... and then ...">... and then ...</option>' + selc.split('</select>')[0].split('Optionally choose YouTube title below ...</option>')[1]); parent.ajaxsih=parent.document.getElementById('ajaxs').innerHTML; parent.document.getElementById('ajaxs').size='' + eval(26 + parent.document.getElementById('ajaxs').size); } } if (domin) { mintoajax(); } }
}
});
}

if (eval(1 + jqq) < oparts.length) {
is_okay=true;
selname = oparts[eval(1 + jqq)].split(' && ')[0]; //whytid;
if (selname.indexOf('v=') == 0) {
//qsel=encodeURIComponent(selname);
qsel=selname;
//alert("//localhost:8888/legend_via_map.php?url=" + encodeURIComponent("//www.youtube.com/results?search_query=" + qsel));
} else {
sstr="";
qsel=('"' + selname + '"').replace(/\"intitle\:/g, 'intitle:');
while (qsel.indexOf(' ') != -1) {
qsel=qsel.replace(" ","+");
}
}

}

//}

//}

} else {
document.getElementById('ajax').innerHTML='';
}
}
}

}
}


function findduration(vidiso,vtxt) {
if (vtxt != '') {
// if (vtxt.length > "URuOw1Pi58Y".length || vtxt.trim().indexOf(' ') != -1) {
// Don't count on 11 for ever ... so add in 12 below ... https://webapps.stackexchange.com/questions/13854/are-youtube-codes-guaranteed-to-always-be-11-characters
// Count out characters instead ... help from https://stackoverflow.com/questions/3028642/regular-expression-for-letters-numbers-and ... 2*26 letters (lowercase and uppercase) + 10 for the digits, + 2 for "_" and "-" chars
//alert(vtxt.match(/^[a-zA-Z0-9_-]*$/));
if (vtxt.match(/^[a-zA-Z0-9_-]*$/) == false || (vtxt.length < "URuOw1Pi58Y".length || vtxt.length > 12) || vtxt.trim().indexOf(' ') != -1) {
if (amwaiting) {
allowable=true;
getytlist(vtxt, true);
} else {
getytlist(vtxt, false);
}
} else {
ourvid=vtxt;
//alert("onestodosuffix=" + onestodosuffix + ' top.document.title=' + top.document.title);
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
setTimeout(showd, 200);
}
} else if (vidiso.value.indexOf('v=') != -1) {
ourvid=vidiso.value.split('v=')[1].split('&')[0].split('#')[0];
vidiso.value=ourvid;
//alert("onesTodosuffix=" + onestodosuffix);
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
setTimeout(showd, 200);
} else if (vidiso.value.match(/^[a-zA-Z0-9_-]*$/) == false || (vidiso.value.length < "URuOw1Pi58Y".length || vidiso.value.length > 12) || vidiso.value.trim().indexOf(' ') != -1) {
//} else if (vidiso.value.length > "URuOw1Pi58Y".length || vidiso.value.trim().indexOf(' ') != -1) {
// Don't count on 11 for ever ... so add in 12 below ... https://webapps.stackexchange.com/questions/13854/are-youtube-codes-guaranteed-to-always-be-11-characters
// Count out characters instead ... help from https://stackoverflow.com/questions/3028642/regular-expression-for-letters-numbers-and ... 2*26 letters (lowercase and uppercase) + 10 for the digits, + 2 for "_" and "-" chars


var spr='!||!';
var mts=vidiso.value.split(spr);
if (mts.length == 1) {
spr='|!!|';
mts=vidiso.value.split(spr);
}
if (mts.length == 1) {
spr='|!|!';
mts=vidiso.value.split(spr);
}
if (mts.length == 1) {
spr='!|!|';
mts=vidiso.value.split(spr);
}
if (mts.length == 1) {
spr='!!||';
mts=vidiso.value.split(spr);
}
if (mts.length == 1) {
spr='||!!';
mts=vidiso.value.split(spr);
}

if (mts.length > 1) {
location.href=document.URL.replace('ht' + 'tp:','ht' + 'tps:').split('?')[0].split('#')[0] + '?vid=%20%20%20%20%20%20%20%20%20%20%20%20' + encodeURIComponent(vidiso.value);
}

if (donef && document.getElementById('youtube_duration').value != '' && ourvid != vidiso.value) {
//if (onestodo.length > 1) alert('HerE');
location.href=document.URL.split('?')[0].split('#')[0] + '?youtubeid=' + encodeURIComponent(vidiso.value).replace(/\+/g,'%20');
} else {
if (amwaiting) {
allowable=true;
getytlist(vidiso.value, true);
} else {
getytlist(vidiso.value, false);
}
}
} else {
ourvid=vidiso.value;
if (ourvid != '' && amwaiting) {
allowable=true;
getytlist(ourvid, true);
}
//alert("onestodosufFix=" + onestodosuffix);
document.getElementById('performance').innerHTML=ouriframe("<iframe id='myiframe' style='z-index:-4;width:720px;height:410px;' src='" + firstprefix + "stop_start_youtube.html?vid=" + ourvid + firstsuffix + onestodoprefix + encodeURIComponent(onestodosuffix) + "'></iframe>");
firstprefix="";
if (document.getElementById(emojisuffix + 'karaokeemail')) document.getElementById(emojisuffix + 'karaokeemail').value=document.getElementById('to').value;
document.getElementById('performance').style.display='block';
setTimeout(showd, 200);
}
donef=true;
}

function queuenext() {
var which=next, thisd=0.0, more=false, thisstart=0.0, audios, somethingtodo=false;
//if (onestodo.length > 1) {
// top.document.title+=" ; " + onestodosuffix;
// alert(onestodo[1] + " ; " + onestodosuffix);
//}
if (document.getElementById('j0').value.indexOf('.') == -1) {
document.getElementById('j0').value+='';
} else {
var xxqw=document.getElementById('j0').value.split('.');
if (xxqw[1].length > 3) {
document.getElementById('j0').value=xxqw[0] + '.' + xxqw[1].substring(0,3);
}
}
if (audiof != '' && document.getElementById('audiofiles').innerHTML != '') {
document.getElementById('audiofiles').innerHTML="";
audiof='';
ioffset=-1;
} else if (audioask) {
audioask=false;
try {
if (audiow !=- null) {
audiow.close();
}
} catch (ee) { }
audiow=null;
if (audiof == '') {
var outaf=null;
if (dorecord) outaf=prompt('Please enter URL to access local audio you just captured. There is very little chance you will not need to change the default value. If it starts with file: you will have to double click these when prompted, else .wav ones are automated, and you can use local web servers like Mac OS X Apache/PHP MAMP (https://www.mamp.info) for a filename like //localhost:8888/myRecording00.wav that would work if you have copied the audio from the Downloads folder to /Applications/MAMP/htdocs/ for instance. Windows has Apache/PHP EasyPHP (//www.easyphp.org/) local web server.', 'file:///home/Downloads/myRecording00.wav');
if (outaf) {
if (outaf != '') {
morechanges=false;
document.getElementById('i' + audioi).value+=';' + outaf;
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='visible';
document.getElementById('dkaraokem').style.visibility='visible';
document.getElementById('dkaraoker').style.visibility='visible';
document.getElementById('trrhead').style.display='none';
document.getElementById('karaoke').style.visibility='visible';
if (document.getElementById('d' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='visible'; // huh
// alert(emojisuffix + 'karaoke');
emojistuff();
}
}
}
}
audiof='';
}
if (huhaudiow) document.title+=" here again with next=" + next + " and ioffset=" + ioffset + " ";
//alert('snippet=' + snippet + '*and* snippet=' + snippet + '*');
document.getElementById('areyousinging').innerHTML='';
if (eval(snippet) >= 0) {
if (document.URL.indexOf('i0=') == -1) {
if (mbmode == false) {
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='hidden';
document.getElementById('dkaraokem').style.visibility='hidden';
document.getElementById('dkaraoker').style.visibility='hidden';
document.getElementById('trrhead').style.display='none';
document.getElementById('ddkaraoke').style.visibility='visible';
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'dkaraoke').style.visibility='visible';
document.getElementById(emojisuffix + 'dkaraoke').style.visibility='hidden'; // huh
emojistuff();
}
} else {
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('ddkaraoke').style.visibility='hidden';
document.getElementById('dkaraoke').style.visibility='visible';
document.getElementById('dkaraokem').style.visibility='visible';
document.getElementById('dkaraoker').style.visibility='visible';
document.getElementById('trrhead').style.display='none';
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
document.getElementById('dd' + emojisuffix + 'karaoke').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='visible';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='visible'; // huh
emojistuff();
}
}
} else if (morechanges) {
document.getElementById('trbutton').style.visibility='visible';
document.getElementById('dkaraoke').style.visibility='hidden';
document.getElementById('dkaraokem').style.visibility='hidden';
document.getElementById('dkaraoker').style.visibility='hidden';
document.getElementById('trrhead').style.display='none';
document.getElementById('ddkaraoke').style.visibility='visible';
if (document.getElementById('dd' + emojisuffix + 'karaoke')) {
document.getElementById('d' + emojisuffix + 'karaoke').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'karaokem').style.visibility='hidden';
document.getElementById('d' + emojisuffix + 'karaoker').style.visibility='hidden';
document.getElementById('dd' + emojisuffix + 'karaoke').style.visibility='visible';
document.getElementById(emojisuffix + 'karaoke').style.visibility='hidden'; //
emojistuff();
}
}
for (var i=0; i<=snippet; i++) {
if (document.getElementById('c' + i).checked) {
if (i == eval(ioffset + which)) {
somethingtodo=true;
if (huhaudiow) document.title+=" chose i=" + i + " ";
next=i;
audioi=i;
audios=document.getElementById('i' + i).value.split(';');
if (audios.length > 1 && eval(ioffset) == 0) {
if (audiof == "") {
document.getElementById('url').value=audios[1];
}
audiof=audios[1];
dorecord=false;
} else if (audios.length > 1) {
if (dorecord) closeaudio();
audiof='';
} else if (audiow) {
if (dorecord) closeaudio();
}
if (huhaudiow) document.title+=" and audiof=" + audiof + " ";
thisstart=eval(audios[0]);
if (huhaudiow) document.title+=" well now thisstart=" + thisstart + " and lastfinish=" + lastfinish + " and thisd=" + thisd;
if (eval(lastfinish) >= 0.0) {
//if (Math.round(eval(lastfinish)) < Math.round(eval(thisstart))) {
if ((eval(0.3 + lastfinish)) < (eval(thisstart))) {
if (huhaudiow) document.title+=" gap detected ";
if (document.getElementById('conduit').value.indexOf('-') != -1 || eval(1.0 + eval(document.getElementById('conduit').value)) > eval(lastfinish)) {
//alert(thisstart + ' ... ' + lastfinish);
more=true;
if (audiof != '') {
if (audiof.indexOf('file') == 0) {
document.getElementById('areyousinging').innerHTML='<h1>Are you hearing your singing, by double clicking it in Finder or Windows Explorer etcetera, recorded in ' + audiof + ' along with ' + document.getElementById('myh1').innerHTML + ' yet?</h1>';
} else {
document.getElementById('areyousinging').innerHTML='<h1>Are you hearing your singing recorded in ' + audiof + ' along with ' + document.getElementById('myh1').innerHTML + ' yet?</h1>';
}
//closeaudio();
//alert(audiof);
if (1 == 10) {
if (document.getElementById('audiofiles').innerHTML == '') {
document.getElementById('audiofiles').innerHTML="<iframe id=audioif src='//www.rjmprogramming.com.au/HTMLCSS/legend_via_map.php?url=" + encodeURIComponent(audiof) + "' title='Audio'></iframe>";
} else {
document.getElementById('audioif').src="//www.rjmprogramming.com.au/HTMLCSS/legend_via_map.php?url=" + encodeURIComponent(audiof);
}
//audiow=new Audio();
//audiow.src=audiof;
//audiow.autoplay=true;
//audiow.play();
} else {
if (audiof.indexOf('file') != 0) {
if (audiof.indexOf('.wav') != -1) {
audiow=window.open(audiof, '_blank', 'top=60,left=0,width=240,height=80');
} else {
audiow=window.open(audiof, '_blank', 'top=100,left=0,width=420,height=590');
}
}
if (document.URL.indexOf('debug=') != -1) huhaudiow=true;
if (dorecord) setTimeout(closeaudio, Math.min(25000, eval(1000 * eval(eval(thisstart) + 5 - eval(lastfinish)))));
}
if (huhaudiow) document.title+=" h:setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish)))); via thisstart=" + thisstart + " and lastfinish=" + lastfinish;
setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish))));
next++;
} else if (dorecord) {
document.getElementById('areyousinging').innerHTML='<h1>Are you recording your singing along with ' + document.getElementById('myh1').innerHTML + ' yet?</h1>';
audioask=true;
closeaudio();
audiow=window.open('https://webaudiodemos.appspot.com/AudioRecorder/index.html', '_blank', 'top=300,left=0,width=900,height=300');
if (document.URL.indexOf('debug=') != -1) huhaudiow=true;
document.title+=" a:setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish)))); b:setTimeout(closeaudio, Math.min(25000, eval(1000 * eval(eval(thisstart) + 5 - eval(lastfinish))))); ";
setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish))));
setTimeout(closeaudio, Math.min(25000, eval(1000 * eval(eval(thisstart) + 5 - eval(lastfinish)))));
} else {
document.getElementById('areyousinging').innerHTML='<h1>Are you singing along with ' + document.getElementById('myh1').innerHTML + ' yet?</h1>';
if (huhaudiow) document.title+=" c:setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish)))); ";
setTimeout(queuenext, eval(1000 * eval(eval(thisstart) - eval(lastfinish))));
}
lastfinish=thisstart;
if (audiof != '') ioffset=-1;
if (audiof == '') ioffset=0;
return;
} else {
if (huhaudiow) document.title+=" j:setTimeout(queuenext, 1000); ";
setTimeout(queuenext, 1000);
return;
}
}
}
lastfinish=eval(document.getElementById('j' + i).value);
if (huhaudiow) document.title+=" and now thisstart=" + thisstart + " and lastfinish=" + lastfinish + " and thisd=" + thisd;
thisd = eval(eval(document.getElementById('j' + i).value) - eval(document.getElementById('i' + i).value.split(';')[0]));
//alert(thisd);
if (huhaudiow) document.title+=" now thisstart=" + thisstart + " and lastfinish=" + lastfinish + " and thisd=" + thisd;
document.getElementById('xx' + i).style.backgroundColor='lightgreen';
//alert('xx' + i);
var ndt=new Date();
//if (onestodo.length > 1) alert('HEREsz');
//alert("onestodosuffiX=" + onestodosuffix);
document.getElementById('myiframe').src="stop_start_youtube.html?vid=" + ourvid + "&playtime=" + thisd + "&start=" + document.getElementById('i' + i).value.split(';')[0] + '&ct=' + encodeURIComponent(ndt.toUTCString()) + onestodoprefix + encodeURIComponent(onestodosuffix);
if (huhaudiow) document.title+=" " + document.getElementById('myiframe').src + " ";
//alert(" " + document.getElementById('myiframe').src + " ");
next++;
more=true;
if (3 == 3) {
document.getElementById('conduit').value='0';
nextdelay=eval(1000 * thisd);
xqn();
} else {
if (huhaudiow) document.title+=" f:setTimeout(queuenext, eval(1000 * thisd)); ";
setTimeout(queuenext, eval(1000 * thisd));
}
}
}
}
}
if (audiof != '') ioffset=-1;
if (audiof == '') ioffset=0;
if (!more) next=0;
if (!somethingtodo && audiow != null) closeaudio();
}

function ouriframe(ift) {
if (!doemj) {
return ift;
}
emojistuff();
//return '<table style="text-align:center;width:100%;"><tbody style="text-align:center;width:100%"><tr><td>' + ift + '</td><td style="vertical-align:top;">' + document.getElementById('dkaraoke').outerHTML.replace(' style="',' style="margin-top:-600px;').replace('background-color:','margin-top:-600px;background-color:').replace(' value=',' value=\"🎮 Play as below\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + document.getElementById('dkaraokem').outerHTML.replace(' style="',' style="margin-top:-600px;').replace('background-color:','margin-top:-600px;background-color:').replace(' value=', ' value=\"📼 ⏸ > 0 cell\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + '<br>' + document.getElementById('dkaraoker').outerHTML.replace(' style="',' style="margin-top:-600px;').replace('background-color:','margin-top:-600px;background-color:').replace(' value=', ' value=\"📼 ⏸ < \" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + document.getElementById('karaoke').outerHTML.replace(' style="',' style="margin-top:-600px;').replace(' value=',' value=\"🎮 Play as below\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + document.getElementById('ddkaraoke').outerHTML.replace(/margin-top/g,'column-gap').replace(' style="',' style="margin-top:-600px;').replace(/<input /g,'<input class=emoji ').replace(' value=',' VALUE=\"🔂 Replay as above\" title=').replace(' value=',' VALUE=\"📧 Share Email to \" title=').replace(/karaoke/g, emojisuffix + "karaoke") + '</td></tr></tbody></table>';
if (1 == 2 && otheriframeoh != '') {
window.open(otheriframeoh.split('src=')[1].split(' ')[0].split('>')[0],'_blank','top=100,left=700,width=500,height=500');
otheriframeoh='';
}
return '<table style="text-align:center;width:100%;"><tbody style="text-align:center;width:100%"><tr><td style="vertical-align:top;">' + ift + '</td><td style="vertical-align:top;height:1200px;overflow-Y:scroll;"><div id=dotherurl' + ('>' + otheriframeoh + ' ').replace('> ','>').replace('><',' style="vertical-align:top;margin-top:-290px;margin-left:-120px;width:900px;overflow:scroll;"><') + '</div>' + '' + document.getElementById('ddkaraoke').outerHTML.replace(/margin-top/g,'column-gap').replace(/<input /g,'<input class=emoji ').replace(' value=',' VALUE=\"🔂 Replay as above\" title=').replace(' value=',' VALUE=\"📧 Share Email to \" title=').replace(/karaoke/g, emojisuffix + "karaoke") + document.getElementById('dkaraoke').outerHTML.replace(' value=',' value=\"🎮 Play as below\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + document.getElementById('dkaraokem').outerHTML.replace(' value=', ' value=\"📼 ⏸ > 0 cell\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '' + document.getElementById('dkaraoker').outerHTML.replace(' value=', ' value=\"📼 ⏸ < \" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '<br>' + document.getElementById('karaoke').outerHTML.replace(' value=',' value=\"🎮 Play as below\" title=').replace('<input ','<input class=emoji ').replace(/karaoke/g, emojisuffix + "karaoke") + '</td></tr></tbody></table>';
}

function emojistuff() {
document.getElementById('pretrbutton').style.display='none';
document.getElementById('trbutton').style.visibility='hidden';
document.getElementById('trrhead').style.display='table-row';
document.getElementById('ddkaraoke').style.visibility='hidden';
document.getElementById('dkaraoke').style.visibility='hidden';
document.getElementById('dkaraokem').style.visibility='hidden';
document.getElementById('dkaraoker').style.visibility='hidden';
document.getElementById('karaoke').style.visibility='hidden';
}

function xqn() {
if (document.getElementById('conduit').value.indexOf('-') != -1 || eval(1.0 + eval(document.getElementById('conduit').value)) > eval(lastfinish)) {
nextdelay=-1;
queuenext();
} else if (eval(nextdelay) > 200) {
nextdelay-=500;
setTimeout(xqn, 200);
} else {
nextdelay=-1;
queuenext();
}
}

function showd() {
if (document.getElementById('youtube_duration').value == '') {
if ((location.search.split('youtube_duration=')[1] ? decodeURIComponent(location.search.split('youtube_duration=')[1].split('&')[0]) : '') != "") {
document.getElementById('youtube_duration').value=(location.search.split('youtube_duration=')[1] ? decodeURIComponent(location.search.split('youtube_duration=')[1].split('&')[0]) : '');
firstprefix=""; //"#";
}
}
if (document.getElementById('youtube_duration').value == '') {
setTimeout(showd, 200);
} else {
if (document.getElementById('youtube_duration').value.indexOf('.') == -1) {
if (document.getElementById('youtube_duration').value.indexOf('NaN') != -1) {
postputy(document.getElementById('ajaxs'), false);
//alert(bigdocbod);
}
document.getElementById('youtube_duration').value+='.0';
} else {
var xqw=document.getElementById('youtube_duration').value.split('.');
if (xqw[1].length > 3) {
document.getElementById('youtube_duration').value=xqw[0] + '.' + xqw[1].substring(0,3);
}
}
document.getElementById('myspan').style.visibility='visible';
addrow();/option><option value="Africa/Johannesburg" data-geo="-26.25,28,SAST,ZA,+2">Africa/Johannesburg</option><option value="Africa/Juba" data-geo="4.85,31.6,EAT,SS,+3">Africa/Juba</option><option value="Africa/Kampala" data-geo="0.31666,32.41666,EAT,UG,+3">Africa/Kampala</option><option value="Africa/Khartoum" data-geo="15.6,32.53333,CAT,SD,+3">Africa/Khartoum</option><option value="Africa/Kigali" data-geo="-1.95,30.06666,CAT,RW,+2">Africa/Kigali</option><option value="Africa/Kinshasa" data-geo="-4.3,15.3,WAT,CD,+1">Africa/Kinshasa</option><option value="Africa/Lagos" data-geo="6.45,3.4,WAT,NG,+1">Africa/Lagos</option><option value="Africa/Libreville" data-geo="0.38333,9.45,WAT,GA,+1">Africa/Libreville</option><option value="Africa/Lome" data-geo="6.13333,1.21666,GMT,TG,+0">Africa/Lome</option><option value="Africa/Luanda" data-geo="-8.8,13.23333,WAT,AO,+1">Africa/Luanda</option><option value="Africa/Lubumbashi" data-geo="-11.66667,27.46666,CAT,CD,+2">Africa/Lubumbashi</option><option value="Africa/Lusaka" data-geo="-15.41667,28.28333,CAT,ZM,+2">Africa/Lusaka</option><option value="Africa/Malabo" data-geo="3.75,8.78333,WAT,GQ,+1">Africa/Malabo</option><option value="Africa/Maputo" data-geo="-25.96667,32.58333,CAT,MZ,+2">Africa/Maputo</option><option value="Africa/Maseru" data-geo="-29.46667,27.5,SAST,LS,+2">Africa/Maseru</option><option value="Africa/Mbabane" data-geo="-26.3,31.1,SAST,SZ,+2">Africa/Mbabane</option><option value="Africa/Mogadishu" data-geo="2.06666,45.36666,EAT,SO,+3">Africa/Mogadishu</option><option value="Africa/Monrovia" data-geo="6.3,-10.78334,GMT,LR,+0">Africa/Monrovia</option><option value="Africa/Nairobi" data-geo="-1.28334,36.81666,EAT,KE,+3">Africa/Nairobi</option><option value="Africa/Ndjamena" data-geo="12.11666,15.05,WAT,TD,+1">Africa/Ndjamena</option><option value="Africa/Niamey" data-geo="13.51666,2.11666,WAT,NE,+1">Africa/Niamey</option><option value="Africa/Nouakchott" data-geo="18.1,-15.95,GMT,MR,+0">Africa/Nouakchott</option><option value="Africa/Ouagadougou" data-geo="12.36666,-1.51667,GMT,BF,+0">Africa/Ouagadougou</option><option value="Africa/Porto-Novo" data-geo="6.48333,2.61666,WAT,BJ,+1">Africa/Porto-Novo</option><option value="Africa/Sao_Tome" data-geo="0.33333,6.73333,GMT,ST,+0">Africa/Sao_Tome</option><option value="Africa/Tripoli" data-geo="32.9,13.18333,EET,LY,+2">Africa/Tripoli</option><option value="Africa/Tunis" data-geo="36.8,10.18333,CET,TN,+1">Africa/Tunis</option><option value="Africa/Windhoek" data-geo="-22.56667,17.1,CAT,NA,+2">Africa/Windhoek</option><option value="America/Adak" data-geo="51.88,-176.65806,HDT,US,-10">America/Adak</option><option value="America/Anchorage" data-geo="61.21805,-149.90028,AKDT,US,-9">America/Anchorage</option><option value="America/Anguilla" data-geo="18.2,-63.06667,AST,AI,-4">America/Anguilla</option><option value="America/Antigua" data-geo="17.05,-61.8,AST,AG,-4">America/Antigua</option><option value="America/Araguaina" data-geo="-7.2,-48.2,-03,BR,-3">America/Araguaina</option><option value="America/Argentina/Buenos_Aires" data-geo="-34.6,-58.45,-03,AR,-3">America/Argentina/Buenos_Aires</option><option value="America/Argentina/Catamarca" data-geo="-28.46667,-65.78334,-03,AR,-3">America/Argentina/Catamarca</option><option value="America/Argentina/Cordoba" data-geo="-31.4,-64.18334,-03,AR,-3">America/Argentina/Cordoba</option><option value="America/Argentina/Jujuy" data-geo="-24.18334,-65.3,-03,AR,-3">America/Argentina/Jujuy</option><option value="America/Argentina/La_Rioja" data-geo="-29.43334,-66.85,-03,AR,-3">America/Argentina/La_Rioja</option><option value="America/Argentina/Mendoza" data-geo="-32.88334,-68.81667,-03,AR,-3">America/Argentina/Mendoza</option><option value="America/Argentina/Rio_Gallegos" data-geo="-51.63334,-69.21667,-03,AR,-3">America/Argentina/Rio_Gallegos</option><option value="America/Argentina/Salta" data-geo="-24.78334,-65.41667,-03,AR,-3">America/Argentina/Salta</option><option value="America/Argentina/San_Juan" data-geo="-31.53334,-68.51667,-03,AR,-3">America/Argentina/San_Juan</option><option value="America/Argentina/San_Luis" data-geo="-33.31667,-66.35,-03,AR,-3">America/Argentina/San_Luis</option><option value="America/Argentina/Tucuman" data-geo="-26.81667,-65.21667,-03,AR,-3">America/Argentina/Tucuman</option><option value="America/Argentina/Ushuaia" data-geo="-54.8,-68.3,-03,AR,-3">America/Argentina/Ushuaia</option><option value="America/Aruba" data-geo="12.5,-69.96667,AST,AW,-4">America/Aruba</option><option value="America/Asuncion" data-geo="-25.26667,-57.66667,-04,PY,-3">America/Asuncion</option><option value="America/Atikokan" data-geo="48.75861,-91.62167,EST,CA,-5">America/Atikokan</option><option value="America/Bahia" data-geo="-12.98334,-38.51667,-03,BR,-3">America/Bahia</option><option value="America/Bahia_Banderas" data-geo="20.8,-105.25,CDT,MX,-6">America/Bahia_Banderas</option><option value="America/Barbados" data-geo="13.1,-59.61667,AST,BB,-4">America/Barbados</option><option value="America/Belem" data-geo="-1.45,-48.48334,-03,BR,-3">America/Belem</option><option value="America/Belize" data-geo="17.5,-88.2,CST,BZ,-6">America/Belize</option><option value="America/Blanc-Sablon" data-geo="51.41666,-57.11667,AST,CA,-4">America/Blanc-Sablon</option><option value="America/Boa_Vista" data-geo="2.81666,-60.66667,-04,BR,-4">America/Boa_Vista</option><option value="America/Bogota" data-geo="4.6,-74.08334,-05,CO,-5">America/Bogota</option><option value="America/Boise" data-geo="43.61361,-116.2025,MDT,US,-7">America/Boise</option><option value="America/Cambridge_Bay" data-geo="69.11388,-105.05278,MDT,CA,-7">America/Cambridge_Bay</option><option value="America/Campo_Grande" data-geo="-20.45,-54.61667,-04,BR,-3">America/Campo_Grande</option><option value="America/Cancun" data-geo="21.08333,-86.76667,EST,MX,-5">America/Cancun</option><option value="America/Caracas" data-geo="10.5,-66.93334,-04,VE,-4.5">America/Caracas</option><option value="America/Cayenne" data-geo="4.93333,-52.33334,-03,GF,-3">America/Cayenne</option><option value="America/Cayman" data-geo="19.3,-81.38334,EST,KY,-5">America/Cayman</option><option value="America/Chicago" data-geo="41.85,-87.65,CDT,US,-6">America/Chicago</option><option value="America/Chihuahua" data-geo="28.63333,-106.08334,MDT,MX,-7">America/Chihuahua</option><option value="America/Costa_Rica" data-geo="9.93333,-84.08334,CST,CR,-6">America/Costa_Rica</option><option value="America/Creston" data-geo="49.1,-116.51667,MST,CA,-7">America/Creston</option><option value="America/Cuiaba" data-geo="-15.58334,-56.08334,-04,BR,-3">America/Cuiaba</option><option value="America/Curacao" data-geo="12.18333,-69,AST,CW,-4">America/Curacao</option><option value="America/Danmarkshavn" data-geo="76.76666,-18.66667,GMT,GL,+0">America/Danmarkshavn</option><option value="America/Dawson" data-geo="64.06666,-139.41667,PDT,CA,-8">America/Dawson</option><option value="America/Dawson_Creek" data-geo="59.76666,-120.23334,MST,CA,-7">America/Dawson_Creek</option><option value="America/Denver" data-geo="39.73916,-104.98417,MDT,US,-7">America/Denver</option><option value="America/Detroit" data-geo="42.33138,-83.04584,EDT,US,-5">America/Detroit</option><option value="America/Dominica" data-geo="15.3,-61.4,AST,DM,-4">America/Dominica</option><option value="America/Edmonton" data-geo="53.55,-113.46667,MDT,CA,-7">America/Edmonton</option><option value="America/Eirunepe" data-geo="-6.66667,-69.86667,-05,BR,-5">America/Eirunepe</option><option value="America/El_Salvador" data-geo="13.7,-89.2,CST,SV,-6">America/El_Salvador</option><option value="America/Fortaleza" data-geo="-3.71667,-38.5,-03,BR,-3">America/Fortaleza</option><option value="America/Glace_Bay" data-geo="46.19999,-59.95,ADT,CA,-4">America/Glace_Bay</option><option value="America/Godthab" data-geo="64.18333,-51.73334,-02,GL,-3">America/Godthab</option><option value="America/Goose_Bay" data-geo="53.33333,-60.41667,ADT,CA,-4">America/Goose_Bay</option><option value="America/Grand_Turk" data-geo="21.46666,-71.13334,EDT,TC,-4">America/Grand_Turk</option><option value="America/Grenada" data-geo="12.05,-61.75,AST,GD,-4">America/Grenada</option><option value="America/Guadeloupe" data-geo="16.23333,-61.53334,AST,GP,-4">America/Guadeloupe</option><option value="America/Guatemala" data-geo="14.63333,-90.51667,CST,GT,-6">America/Guatemala</option><option value="America/Guayaquil" data-geo="-2.16667,-79.83334,-05,EC,-5">America/Guayaquil</option><option value="America/Guyana" data-geo="6.8,-58.16667,-04,GY,-4">America/Guyana</option><option value="America/Halifax" data-geo="44.65,-63.6,ADT,CA,-4">America/Halifax</option><option value="America/Havana" data-geo="23.13333,-82.36667,CDT,CU,-5">America/Havana</option><option value="America/Hermosillo" data-geo="29.06666,-110.96667,MST,MX,-7">America/Hermosillo</option><option value="America/Indiana/Indianapolis" data-geo="39.76833,-86.15806,EDT,US,-5">America/Indiana/Indianapolis</option><option value="America/Indiana/Knox" data-geo="41.29583,-86.625,CDT,US,-6">America/Indiana/Knox</option><option value="America/Indiana/Marengo" data-geo="38.37555,-86.34473,EDT,US,-5">America/Indiana/Marengo</option><option value="America/Indiana/Petersburg" data-geo="38.49194,-87.27862,EDT,US,-5">America/Indiana/Petersburg</option><option value="America/Indiana/Tell_City" data-geo="37.95305,-86.76139,CDT,US,-6">America/Indiana/Tell_City</option><option value="America/Indiana/Vevay" data-geo="38.74777,-85.06723,EDT,US,-5">America/Indiana/Vevay</option><option value="America/Indiana/Vincennes" data-geo="38.67722,-87.52862,EDT,US,-5">America/Indiana/Vincennes</option><option value="America/Indiana/Winamac" data-geo="41.05138,-86.60306,EDT,US,-5">America/Indiana/Winamac</option><option value="America/Inuvik" data-geo="68.34972,-133.71667,MDT,CA,-7">America/Inuvik</option><option value="America/Iqaluit" data-geo="63.73333,-68.46667,EDT,CA,-5">America/Iqaluit</option><option value="America/Jamaica" data-geo="18,-76.8,EST,JM,-5">America/Jamaica</option><option value="America/Juneau" data-geo="58.30194,-134.41973,AKDT,US,-9">America/Juneau</option><option value="America/Kentucky/Louisville" data-geo="38.25416,-85.75945,EDT,US,-5">America/Kentucky/Louisville</option><option value="America/Kentucky/Monticello" data-geo="36.82972,-84.84917,EDT,US,-5">America/Kentucky/Monticello</option><option value="America/Kralendijk" data-geo="12.15083,-68.27667,AST,BQ,-4">America/Kralendijk</option><option value="America/La_Paz" data-geo="-16.5,-68.15,-04,BO,-4">America/La_Paz</option><option value="America/Lima" data-geo="-12.05,-77.05,-05,PE,-5">America/Lima</option><option value="America/Los_Angeles" data-geo="34.05222,-118.24278,PDT,US,-8">America/Los_Angeles</option><option value="America/Lower_Princes" data-geo="18.05138,-63.04723,AST,SX,-4">America/Lower_Princes</option><option value="America/Maceio" data-geo="-9.66667,-35.71667,-03,BR,-3">America/Maceio</option><option value="America/Managua" data-geo="12.15,-86.28334,CST,NI,-6">America/Managua</option><option value="America/Manaus" data-geo="-3.13334,-60.01667,-04,BR,-4">America/Manaus</option><option value="America/Marigot" data-geo="18.06666,-63.08334,AST,MF,-4">America/Marigot</option><option value="America/Martinique" data-geo="14.6,-61.08334,AST,MQ,-4">America/Martinique</option><option value="America/Matamoros" data-geo="25.83333,-97.5,CDT,MX,-6">America/Matamoros</option><option value="America/Mazatlan" data-geo="23.21666,-106.41667,MDT,MX,-7">America/Mazatlan</option><option value="America/Menominee" data-geo="45.10777,-87.61417,CDT,US,-6">America/Menominee</option><option value="America/Merida" data-geo="20.96666,-89.61667,CDT,MX,-6">America/Merida</option><option value="America/Metlakatla" data-geo="55.12694,-131.57639,AKDT,US,-8">America/Metlakatla</option><option value="America/Mexico_City" data-geo="19.4,-99.15001,CDT,MX,-6">America/Mexico_City</option><option value="America/Miquelon" data-geo="47.05,-56.33334,-02,PM,-3">America/Miquelon</option><option value="America/Moncton" data-geo="46.1,-64.78334,ADT,CA,-4">America/Moncton</option><option value="America/Monterrey" data-geo="25.66666,-100.31667,CDT,MX,-6">America/Monterrey</option><option value="America/Montevideo" data-geo="-34.88334,-56.18334,-03,UY,-2">America/Montevideo</option><option value="America/Montreal" data-geo="45.51666,-73.56667,UTC,CA,-5">America/Montreal</option><option value="America/Montserrat" data-geo="16.71666,-62.21667,AST,MS,-4">America/Montserrat</option><option value="America/Nassau" data-geo="25.08333,-77.35,EDT,BS,-5">America/Nassau</option><option value="America/New_York" data-geo="40.71416,-74.00639,EDT,US,-5">America/New_York</option><option value="America/Nipigon" data-geo="49.01666,-88.26667,EDT,CA,-5">America/Nipigon</option><option value="America/Nome" data-geo="64.50111,-165.40639,AKDT,US,-9">America/Nome</option><option value="America/Noronha" data-geo="-3.85,-32.41667,-02,BR,-2">America/Noronha</option><option value="America/North_Dakota/Beulah" data-geo="47.26416,-101.77778,CDT,US,-6">America/North_Dakota/Beulah</option><option value="America/North_Dakota/Center" data-geo="47.11638,-101.29917,CDT,US,-6">America/North_Dakota/Center</option><option value="America/North_Dakota/New_Salem" data-geo="46.845,-101.41084,CDT,US,-6">America/North_Dakota/New_Salem</option><option value="America/Ojinaga" data-geo="29.56666,-104.41667,MDT,MX,-7">America/Ojinaga</option><option value="America/Panama" data-geo="8.96666,-79.53334,EST,PA,-5">America/Panama</option><option value="America/Pangnirtung" data-geo="66.13333,-65.73334,EDT,CA,-5">America/Pangnirtung</option><option value="America/Paramaribo" data-geo="5.83333,-55.16667,-03,SR,-3">America/Paramaribo</option><option value="America/Phoenix" data-geo="33.44833,-112.07334,MST,US,-7">America/Phoenix</option><option value="America/Port-au-Prince" data-geo="18.53333,-72.33334,EDT,HT,-5">America/Port-au-Prince</option><option value="America/Port_of_Spain" data-geo="10.65,-61.51667,AST,TT,-4">America/Port_of_Spain</option><option value="America/Porto_Velho" data-geo="-8.76667,-63.9,-04,BR,-4">America/Porto_Velho</option><option value="America/Puerto_Rico" data-geo="18.46833,-66.10612,AST,PR,-4">America/Puerto_Rico</option><option value="America/Rainy_River" data-geo="48.71666,-94.56667,CDT,CA,-6">America/Rainy_River</option><option value="America/Rankin_Inlet" data-geo="62.81666,-92.08306,CDT,CA,-6">America/Rankin_Inlet</option><option value="America/Recife" data-geo="-8.05,-34.9,-03,BR,-3">America/Recife</option><option value="America/Regina" data-geo="50.4,-104.65001,CST,CA,-6">America/Regina</option><option value="America/Resolute" data-geo="74.69555,-94.82917,CDT,CA,-6">America/Resolute</option><option value="America/Rio_Branco" data-geo="-9.96667,-67.8,-05,BR,-5">America/Rio_Branco</option><option value="America/Santa_Isabel" data-geo="30.3,-114.86667,UTC,MX,-8">America/Santa_Isabel</option><option value="America/Santarem" data-geo="-2.43334,-54.86667,-03,BR,-3">America/Santarem</option><option value="America/Santiago" data-geo="-33.45,-70.66667,-03,CL,-3">America/Santiago</option><option value="America/Santo_Domingo" data-geo="18.46666,-69.9,AST,DO,-4">America/Santo_Domingo</option><option value="America/Sao_Paulo" data-geo="-23.53334,-46.61667,-03,BR,-2">America/Sao_Paulo</option><option value="America/Scoresbysund" data-geo="70.48333,-21.96667,+00,GL,-1">America/Scoresbysund</option><option value="America/Shiprock" data-geo="36.78555,-108.68639,UTC,US,-7">America/Shiprock</option><option value="America/Sitka" data-geo="57.17638,-135.30195,AKDT,US,-9">America/Sitka</option><option value="America/St_Barthelemy" data-geo="17.88333,-62.85,AST,BL,-4">America/St_Barthelemy</option><option value="America/St_Johns" data-geo="47.56666,-52.71667,NDT,CA,-3.5">America/St_Johns</option><option value="America/St_Kitts" data-geo="17.3,-62.71667,AST,KN,-4">America/St_Kitts</option><option value="America/St_Lucia" data-geo="14.01666,-61,AST,LC,-4">America/St_Lucia</option><option value="America/St_Thomas" data-geo="18.35,-64.93334,AST,VI,-4">America/St_Thomas</option><option value="America/St_Vincent" data-geo="13.15,-61.23334,AST,VC,-4">America/St_Vincent</option><option value="America/Swift_Current" data-geo="50.28333,-107.83334,CST,CA,-6">America/Swift_Current</option><option value="America/Tegucigalpa" data-geo="14.1,-87.21667,CST,HN,-6">America/Tegucigalpa</option><option value="America/Thule" data-geo="76.56666,-68.78334,ADT,GL,-4">America/Thule</option><option value="America/Thunder_Bay" data-geo="48.38333,-89.25,EDT,CA,-5">America/Thunder_Bay</option><option value="America/Tijuana" data-geo="32.53333,-117.01667,PDT,MX,-8">America/Tijuana</option><option value="America/Toronto" data-geo="43.65,-79.38334,EDT,CA,-5">America/Toronto</option><option value="America/Tortola" data-geo="18.45,-64.61667,AST,VG,-4">America/Tortola</option><option value="America/Vancouver" data-geo="49.26666,-123.11667,PDT,CA,-8">America/Vancouver</option><option value="America/Whitehorse" data-geo="60.71666,-135.05001,PDT,CA,-8">America/Whitehorse</option><option value="America/Winnipeg" data-geo="49.88333,-97.15001,CDT,CA,-6">America/Winnipeg</option><option value="America/Yakutat" data-geo="59.54694,-139.72723,AKDT,US,-9">America/Yakutat</option><option value="America/Yellowknife" data-geo="62.44999,-114.35,MDT,CA,-7">America/Yellowknife</option><option value="Asia/Aden" data-geo="12.75,45.2,+03,YE,+3">Asia/Aden</option><option value="Asia/Almaty" data-geo="43.25,76.95,+06,KZ,+6">Asia/Almaty</option><option value="Asia/Amman" data-geo="31.95,35.93333,EEST,JO,+2">Asia/Amman</option><option value="Asia/Anadyr" data-geo="64.75,177.48333,+12,RU,+12">Asia/Anadyr</option><option value="Asia/Aqtau" data-geo="44.51666,50.26666,+05,KZ,+5">Asia/Aqtau</option><option value="Asia/Aqtobe" data-geo="50.28333,57.16666,+05,KZ,+5">Asia/Aqtobe</option><option value="Asia/Ashgabat" data-geo="37.95,58.38333,+05,TM,+5">Asia/Ashgabat</option><option value="Asia/Baghdad" data-geo="33.35,44.41666,+03,IQ,+3">Asia/Baghdad</option><option value="Asia/Bahrain" data-geo="26.38333,50.58333,+03,BH,+3">Asia/Bahrain</option><option value="Asia/Baku" data-geo="40.38333,49.85,+04,AZ,+4">Asia/Baku</option><option value="Asia/Bangkok" data-geo="13.75,100.51666,+07,TH,+7">Asia/Bangkok</option><option value="Asia/Beirut" data-geo="33.88333,35.5,EEST,LB,+2">Asia/Beirut</option><option value="Asia/Bishkek" data-geo="42.9,74.6,+06,KG,+6">Asia/Bishkek</option><option value="Asia/Brunei" data-geo="4.93333,114.91666,+08,BN,+8">Asia/Brunei</option><option value="Asia/Choibalsan" data-geo="48.06666,114.5,+08,MN,+8">Asia/Choibalsan</option><option value="Asia/Chongqing" data-geo="29.56666,106.58333,UTC,CN,+8">Asia/Chongqing</option><option value="Asia/Colombo" data-geo="6.93333,79.85,+0530,LK,+5.5">Asia/Colombo</option><option value="Asia/Damascus" data-geo="33.5,36.3,EEST,SY,+2">Asia/Damascus</option><option value="Asia/Dhaka" data-geo="23.71666,90.41666,+06,BD,+6">Asia/Dhaka</option><option value="Asia/Dili" data-geo="-8.55,125.58333,+09,TL,+9">Asia/Dili</option><option value="Asia/Dubai" data-geo="25.3,55.3,+04,AE,+4">Asia/Dubai</option><option value="Asia/Dushanbe" data-geo="38.58333,68.8,+05,TJ,+5">Asia/Dushanbe</option><option value="Asia/Gaza" data-geo="31.5,34.46666,EEST,PS,+2">Asia/Gaza</option><option value="Asia/Ha