{"id":16500,"date":"2015-08-09T05:01:00","date_gmt":"2015-08-08T19:01:00","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=16500"},"modified":"2015-08-08T22:17:24","modified_gmt":"2015-08-08T12:17:24","slug":"wordpress-blog-search-within-search-overlay-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-overlay-tutorial\/","title":{"rendered":"WordPress Blog Search Within Search Overlay Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearchOverlay.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"WordPress Blog Search Within Search Overlay Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearchOverlay.jpg\" title=\"WordPress Blog Search Within Search Overlay Tutorial\"   \/><\/a><p class=\"wp-caption-text\">WordPress Blog Search Within Search Overlay Tutorial<\/p><\/div>\n<p>Thought we were finished with &#8220;filter a search&#8221; (or &#8220;search within a search&#8221;) ideas yesterday &#8230; but how wrong were we?  That wasn&#8217;t rhetorical.<\/p>\n<p>Okay &#8230; be like that.  Anyway, we realised with today&#8217;s work continuing on from yesterday&#8217;s <a target=_blank title='WordPress Blog Search Within Search Ajax Tutorial' href='#wbswsat'>WordPress Blog Search Within Search Ajax Tutorial<\/a>, as shown below, that there is another &#8220;overlay&#8221; scenario we&#8217;d like to discuss (in our series of <a target=_blank title='Overlay blog postings' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=overlay'>&#8220;overlay&#8221; blog postings<\/a>).  It is the way that, even ignoring any &#8220;absolute&#8221; positioning of HTML elements you can still &#8220;overlay&#8221; elements merely by lining them up <a target=_blank title='CSS inline property' href='http:\/\/www.w3schools.com\/cssref\/pr_class_display.asp'>&#8220;inline&#8221;<\/a> but only turning on the visibility of any one of them at a time.  So today&#8217;s scenario sees &#8230;<\/p>\n<ol>\n<li>textbox (ie. HTML <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_input.asp' title='HTML input tag information from w3schools'><i>input<\/i><\/a> type=&#8221;text&#8221; element) for Search string &#8230; initially visible<\/li>\n<li>dropdown (ie. HTML <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_select.asp' title='HTML select tag information from w3schools'><i>select<\/i><\/a> element) for list of Tags &#8230; initially invisible<\/li>\n<li>dropdown (ie. HTML <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_select.asp' title='HTML select tag information from w3schools'><i>select<\/i><\/a> element) for list of Categories &#8230; initially invisible<\/li>\n<\/ol>\n<p> &#8230; all lined up <a target=_blank title='CSS position property information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_class_position.asp'>&#8220;relative&#8221;<\/a> to each other, with the invisibility, or not, controlled by the clicking of newly created <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_a.asp' title='HTML a tag information from w3schools'><i>a<\/i><\/a> tags where once there were only radio button labels &#8230; cutish huh?<\/p>\n<p>Today&#8217;s &#8220;overlay&#8221; idea also illustrates another user experience (ux) ideal &#8230; an &#8220;ideal&#8221; in our books anyway &#8230; it goes like this, for us &#8230;<\/p>\n<blockquote><p>\nWhen there is an action that once involved definite use of both keyboard and mouse, if it can be arranged, even for just some user setting scenarios, that one or other of the keyboard or mouse is not needed, then this becomes an improved user experience.\n<\/p><\/blockquote>\n<p> &#8230; and so, with the added dropdowns, it can become the case that you can do some sophisticated search operations involving the new Tag and Category scenarios, that don&#8217;t require any keyboard involvement &#8230; even if it is for less than half the scenarios, it is still worth doing, we feel.<\/p>\n<p>We hope you find this &#8220;overlay&#8221; idea of some help, and will leave you with changes to the WordPress blog&#8217;s TwentyTen theme&#8217;s header.php in <b><i><font color='blue'>blue bold itallic<\/font><\/i><\/b> for today&#8217;s &#8220;overlay&#8221; changes and <b><i><font color='green'>green bold itallic<\/font><\/i><\/b> for yesterday&#8217;s Ajax changes and <b><i><font color='red'>red bold itallic<\/font><\/i><\/b> for the day before yesterday&#8217;s Preview changes and <b><i>bold itallic<\/i><\/b> for the two days before yesterday&#8217;s Implementation changes and <b>bold<\/b> for the three days before yesterday&#8217;s Primer (<a target=_blank title='WordPress Blog Search Within a Search Primer Tutorial' href='#wbswaspt'>WordPress Blog Search Within a Search Primer Tutorial<\/a>) changes below &#8230;<\/p>\n<p><code><br \/>\n<b><br \/>\nvar spc=' ', cminus='-', fmtname='w411tform', fmcname='w411cform', edelim='\/'<i>, radis=\"\", formihis=\"\";<\/i><\/b><br \/>\n<b><i><font color='red'>var precwopen='', cwopen='', scmdis='', tcdelay=0, ourtcdelay=0, ourtcprefix='', tcprefix='', tcsuffix=' ... prefixes: @!@ just dropdown, @+@ additional dropdown, @|@ just open dropdown, @*@ additional open dropdown, @[secsDelay]@';<br \/>\nvar iurlcnt=0, jurlcnt=0, urllist = new Array(), whenlist = new Array(), nextis=-1, optcol='yellow';<\/font><br \/>\n<font color='blue'><br \/>\nvar catselis=\"\", tagselis=\"\";<br \/>\nfunction ovput(wois) {<br \/>\n  document.getElementById('s').style.display='none';<br \/>\n  if (wois.indexOf(\"ag\") != -1) {<br \/>\n    document.getElementById('tagselis').style.display='inline';<br \/>\n  } else {<br \/>\n    document.getElementById('catselis').style.display='inline';<br \/>\n  }<br \/>\n}<br \/>\nfunction ovsel(iov, iovval) {<br \/>\n  if (iovval.replace(' ') == '') {<br \/>\n   iov.style.display='none';<br \/>\n   document.getElementById('s').style.display='inline';<br \/>\n  } else {<br \/>\n   document.getElementById('s').value=iovval;<br \/>\n   iov.style.display='none';<br \/>\n   document.getElementById('s').style.display='inline';<br \/>\n   if (iov.id.indexOf(\"ag\") != -1) {<br \/>\n    radiocc('Tag');<br \/>\n   } else {<br \/>\n    radiocc('Category');<br \/>\n   }<br \/>\n  }<br \/>\n}<br \/>\n<\/font><font color='red'><br \/>\nfunction checkseltc() {<br \/>\n  var wqe=document.getElementById('seltc').innerHTML.split('value=');<br \/>\n  var zdelim=' ', zurllist;<br \/>\n  jurlcnt=eval(-1 + wqe.length);<br \/>\n  if (jurlcnt &gt; 0) {<br \/>\n    for (var iyt=2; iyt&lt;wqe.length; iyt++) {<br \/>\n      zdelim = wqe[iyt].substring(0,1);<br \/>\n      zurllist = wqe[iyt].substring(1).split(zdelim);<br \/>\n      urllist[eval(-2 + iyt)] = zurllist[0];<br \/>\n      if (iyt == 2) {<br \/>\n        whenlist[eval(-2 + iyt)] = tcdelay;<br \/>\n      } else {<br \/>\n        whenlist[eval(-2 + iyt)] = eval(tcdelay + eval(whenlist[eval(-3 + iyt)]));<br \/>\n      }<br \/>\n      if (nextis &lt; 0) nextis = 0;<br \/>\n    }<br \/>\n  }<br \/>\n  document.getElementById('seltc').size = eval(-1 + wqe.length);<br \/>\n  iurlcnt++;<br \/>\n  if (nextis &gt;= 0) {<br \/>\n   if (eval(nextis) &lt; eval(whenlist.length)) {<br \/>\n    if (eval(iurlcnt) == whenlist[nextis]) {<br \/>\n      if (urllist[nextis] != \"\") tcwindowopen(urllist[nextis]);<br \/>\n      nextis++;<br \/>\n      if (eval(nextis) == eval(whenlist.length)) top.document.getElementById('seltc').style.display='block';<br \/>\n    }<br \/>\n   }<br \/>\n  }<br \/>\n}<br \/>\nfunction reprompt(insg) {<br \/>\n tcprefix=\"\";<br \/>\n if ((insg + \" \").substring(0,1) == \"@\") {<br \/>\n   var tcst=insg.substring(1).split(\"@\");<br \/>\n   if (tcst.length &gt; 1) {<br \/>\n     tcprefix = tcst[0];<br \/>\n     insg=insg.replace(\"@\" + tcprefix + \"@\", \"\");<br \/>\n     if (tcprefix == \"!\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"|\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"+\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"*\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix != \"\") {<br \/>\n       var tcd=tcprefix.split(\".\");<br \/>\n       tcdelay=eval(tcd[0]);<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n       tcprefix='';<br \/>\n       optcol='lightgreen';<br \/>\n     }<br \/>\n   }<br \/>\n }<br \/>\n return insg;<br \/>\n}<br \/>\nfunction reurl(inu) {<br \/>\n var newinu;<br \/>\n if (tcprefix != \"\") {<br \/>\n  if (tcprefix.substring(0,1) == '!' || tcprefix.substring(0,1) == '+' || tcprefix.substring(0,1) == '|' || tcprefix.substring(0,1) == '*') {<br \/>\n   newinu=inu.replace('window.open(', '').replace('location.href=', '').replace(';', '').replace(';', '').split(', \"_blank');<br \/>\n   document.getElementById('tciframe').src=eval(newinu[0]) + \"&tcprefix=\" + tcprefix;<br \/>\n   if (tcprefix.substring(0,1) == '|' || tcprefix.substring(0,1) == '*') setInterval(checkseltc, 1000);<br \/>\n   if (tcprefix.substring(0,1) == '!' || tcprefix.substring(0,1) == '|') {<br \/>\n     return \"\";<br \/>\n   }<br \/>\n  }<br \/>\n  inu = inu; \/\/.replace(\"wopenall\", \"tcprefix=\" + tcprefix + \"&wopenall\");<br \/>\n }<br \/>\n if (tcdelay != 0) {<br \/>\n  inu = inu; \/\/.replace(\"wopenall\", \"&tcdelay=\" + tcdelay + \"&wopenall\");<br \/>\n  newinu=inu.replace('window.open(', '').replace('location.href=', '').replace(';', '').replace(';', '').split(', \"_blank');<br \/>\n  document.getElementById('tciframe').src=eval(newinu[0]) + \"&tcdelay=\" + tcdelay;<br \/>\n  setInterval(checkseltc, 1000);<br \/>\n  return \"\";<br \/>\n }<br \/>\n return eval(inu);<br \/>\n}<\/font><\/i><\/b><br \/>\n<font color='black'><b><i>function preradiocc() {<br \/>\n  if (document.getElementById('s').value != \"\" && radis != \"\") {<br \/>\n   radiocc(radis);<br \/>\n  }<br \/>\n}<br \/>\nfunction radiocc(tvis) {<br \/>\n  var cok=1;<br \/>\n  cwopen=\"\";<br \/>\n  radis=tvis;<br \/>\n  <\/font><font color='blue'><br \/>\n  document.getElementById('tagselis').style.display='none';<br \/>\n  document.getElementById('catselis').style.display='none';<br \/>\n  document.getElementById('s').style.display='inline';<br \/>\n  <\/font><br \/>\n  if (document.getElementById('s').value != \"\") {<br \/>\n   if (tvis == \"Search\") {<br \/>\n    document.getElementById('searchsubmit').click();<br \/>\n   } else if (tvis == \"Tag\") {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Tag findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    cwopen=reprompt(cwopen);<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"?tag=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"?tag=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    } else {<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"tag\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"tag\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   } else if (tvis == \"Category\") {<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (document.getElementById('s').value.substring(0,1) &gt;= '0' && document.getElementById('s').value.substring(0,1) &lt;= '9') {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (number) findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", \"Tutorial\");<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    cwopen=reprompt(cwopen);<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"?cat=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"?cat=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    } else {<br \/>\n     cok=0;<br \/>\n     alert(\"Please enter the category as a number\");<br \/>\n     document.getElementById('s').value = '';<br \/>\n    }<br \/>\n    } else {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (alphabetic) findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"category\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"category\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   }<br \/>\n   if (cok == 1) {<br \/>\n     document.getElementById('s').value = '';<br \/>\n     radis=\"\";<br \/>\n     document.getElementById('searchform').innerHTML = formihis;<br \/>\n     document.getElementById('s').onblur = preradiocc;<br \/>\n   }<br \/>\n  }<br \/>\n}<\/i><br \/>\nfunction preprecc(inidea) { \/\/ wopenallwas= form<br \/>\n&lt;?php<br \/>\n $tblurbwas=\"\";<br \/>\n if (isset($_GET['wopenallwas']) || isset($_GET['wopenall'])) {<br \/>\n     $tblurbwas = \"  var ourwovwas=location.search.split(inidea + '=')[1] ? location.search.split(inidea + '=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurbwas .= \"  if (ourwovwas != ' ') { \\n\";<br \/>\n     $tblurbwas .= \"   document.body.innerHTML = '&lt;div id=\\\"verytop\\\" align=\\\"center\\\" style=\\\"background-color: yellow;\\\"&gt;&lt;table cellpadding=25 cellspacing=25&gt;&lt;tr&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 3.0.3&lt;br&gt;&lt;br&gt;&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" name=\\\"tag\\\" id=\\\"tag\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (numerical): &lt;input type=\\\"number\\\" name=\\\"cat\\\" id=\\\"cat\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 4.1.1&lt;br&gt;&lt;br&gt;&lt;form id=\\\"w411tform\\\" action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" onblur=\\\" document.getElementById(fmtname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form id=\\\"w411cform\\\"  action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/category\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (alpha): &lt;input onblur=\\\" document.getElementById(fmcname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" type=\\\"text\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;' + document.body.innerHTML;  \\n\";<br \/>\n     $tblurbwas .= \"  } \\n\";<br \/>\n }<br \/>\n echo $tblurbwas;<br \/>\n?&gt;<br \/>\n}<\/i><\/b><br \/>\n<b><i><font color='red'>function tcwindowopen(inuis) {<br \/>\n  window.open(inuis, '_blank');<br \/>\n}<\/i><\/b><\/font><br \/>\n<b>function precc() { \/\/ wopenall= functionality<br \/>\n preprecc('wopenallwas');<br \/>\n document.getElementById('searchsubmit').style.display='none';<br \/>\n <i><font color='blue'>var wbis=document.getElementById('searchform').action.indexOf(\"\/wordpress\");<br \/>\n var taglist, catlist;<br \/>\n var tagvar, tagvar2, catvar, catvar2;<br \/>\n if (wbis != -1) {<br \/>\n   catvar=document.getElementById('categories-2').innerHTML.split(\"href=\");<br \/>\n   catvar2=document.getElementById('categories-2').innerHTML.split(\"title=\");<br \/>\n } else {<br \/>\n   catvar=document.getElementById('categories-2').innerHTML.split(\"href=\");<br \/>\n   catvar2=document.getElementById('categories-2').innerHTML.split(\"href=\");<br \/>\n }<br \/>\n if (wbis != -1) {<br \/>\n   tagvar=document.getElementById('tag_cloud-3').innerHTML.split(\"href=\");<br \/>\n   tagvar2=document.getElementById('tag_cloud-3').innerHTML.split(\"title=\");<br \/>\n } else {<br \/>\n   tagvar=document.getElementById('tag_cloud-2').innerHTML.split(\"href=\");<br \/>\n   tagvar2=document.getElementById('tag_cloud-2').innerHTML.split(\"title=\");<br \/>\n }<br \/>\n var sparea, thedelim=\"\", itc, tcval, tctitle;<br \/>\n catselis=\"&lt;select onchange='ovsel(this, this.value);' id='catselis' style='display:none;'&gt;&lt;option value=' '&gt;Categories below ...&lt;\/option&gt;&lt;option value=''&gt;Not shown below ...&lt;\/option&gt;&lt;\/select&gt;\";<br \/>\n tagselis=\"&lt;select onchange='ovsel(this, this.value);' id='tagselis' style='display:none;'&gt;&lt;option value=' '&gt;Popular Tags below ...&lt;\/option&gt;&lt;option value=''&gt;Not shown below ...&lt;\/option&gt;&lt;\/select&gt;\";<br \/>\n for (itc=1; itc&lt;catvar.length; itc++) {<br \/>\n   thedelim=catvar[itc].substring(0,1);<br \/>\n   tctitle=catvar2[itc].substring(1).replace(\"&gt;\",\"&lt;\").split(\"&lt;\");<br \/>\n   if (wbis != -1) {<br \/>\n     sparea=catvar[itc].substring(1).split(\"?cat=\");<br \/>\n     tcval=sparea[1].split(thedelim);<br \/>\n   } else {<br \/>\n     sparea=catvar[itc].substring(1).split(\"\/category\/\");<br \/>\n     tcval=sparea[1].split(\"\/\");<br \/>\n   }<br \/>\n   catselis=catselis.replace(\"&lt;\/select&gt;\", \"&lt;option value='\" + tcval[0] + \"'&gt;\" + tctitle[1] + \"&lt;\/option&gt;&lt;\/select&gt;\");<br \/>\n }<br \/>\n for (itc=1; itc&lt;tagvar.length; itc++) {<br \/>\n   thedelim=tagvar[itc].substring(0,1);<br \/>\n   tctitle=tagvar[itc].substring(1).replace(\"&gt;\",\"&lt;\").split(\"&lt;\");<br \/>\n   if (wbis != -1) {<br \/>\n     sparea=tagvar[itc].substring(1).split(\"?tag=\");<br \/>\n     tcval=sparea[1].split(thedelim);<br \/>\n   } else {<br \/>\n     sparea=tagvar[itc].substring(1).split(\"\/tag\/\");<br \/>\n     tcval=sparea[1].split(\"\/\");<br \/>\n   }<br \/>\n   tagselis=tagselis.replace(\"&lt;\/select&gt;\", \"&lt;option value='\" + tcval[0] + \"'&gt;\" + tctitle[1] + \"&lt;\/option&gt;&lt;\/select&gt;\");<br \/>\n }<\/font><\/i><br \/>\n formihis = document.getElementById('searchform').innerHTML.replace(\"&lt;\/div&gt;\", <i><font color='blue'>tagselis + catselis + <\/font><\/i>\"&lt;input style='display:none;' type='radio' name='stype' value=''&gt;&lt;input onclick=\\\"radiocc('Search');\\\" type='radio' name='stype' value='Search'&gt;Search&lt;input onclick=\\\"radiocc('Tag');\\\" type='radio' name='stype' value='Tag'&gt;<i><font color='blue'>&lt;a onclick=\\\"ovput('Tag');\\\" title=\\\"Overlay Tag dropdown ...\\\" href=\\\"#tagselis\\\"&gt;Tag&lt;\/a&gt;<\/font><\/i>&lt;input onclick=\\\"radiocc('Category');\\\" type='radio' name='stype' value='Category'&gt;<i><font color='blue'>&lt;a onclick=\\\"ovput('Category');\\\" title=\\\"Overlay Category dropdown ...\\\" href=\\\"#catselis\\\"&gt;Category&lt;\/a&gt;<\/font><\/i>&lt;select id='seltc' style='display:none;' onchange=\\\"window.open(this.value,'_blank');\\\" size='1'&gt;&lt;option value=''&gt;Blog Postings below ...&lt;\/option&gt;&lt;\/select&gt;&lt;\/div&gt;\");<br \/>\n formihis = formihis.replace(\"input id\", \"input onblur='preradiocc();' id\");<br \/>\n document.getElementById('searchform').innerHTML = formihis;<br \/>\n document.getElementById('s').onblur = preradiocc;<br \/>\n&lt;?php<br \/>\n $tblurb=\"\";<br \/>\n if (isset($_GET['wopenall'])) {<br \/>\n    $tpage=1;<br \/>\n    $furl=\"\";<br \/>\n    $sru=explode(\"?\", $_SERVER['REQUEST_URI']);<br \/>\n    if (isset($_GET['paged'])) {<br \/>\n      $tpage=$_GET['paged'];<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=\" . ($tpage + 1), $_SERVER['QUERY_STRING']);<br \/>\n      $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=1\", $_SERVER['QUERY_STRING']);<br \/>\n    } else if (isset($_GET['tag']) || isset($_GET['cat']) || isset($_GET['s'])) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=2\";<br \/>\n      if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=1\";<br \/>\n    } else if (strpos(\"\/wordpress\/\", $_SERVER['REQUEST_URI']) !== false) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"wopenall=\", \"s=\", $_SERVER['QUERY_STRING']);<br \/>\n      $tblurb = \"      location.href='\" . $nurl . \"'; \\n\";<br \/>\n    } else {<br \/>\n      $tstuff=explode(\"page\/\", $sru[0]);<br \/>\n      if (sizeof($tstuff) &gt; 1) {<br \/>\n       $tstu=explode(\"\/\", $tstuff[1]);<br \/>\n       $tpage=$tstu[0];<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/\" . ($tpage + 1), $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/1\", $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      } else {<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/2\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/1\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      }<br \/>\n    }<br \/>\n    if ($tblurb == \"\") {<br \/>\n     $tblurb = <i><font color='red'>\"  ourtcprefix=location.search.split('tcprefix=')[1] ? location.search.split('tcprefix=')[1].split('&')[0] : ''; \\n\";<br \/>\n     $tblurb .= \"  ourtcdelay=location.search.split('tcdelay=')[1] ? location.search.split('tcdelay=')[1].split('&')[0] : 0; \\n\";<br \/>\n     $tblurb .= <\/i><\/font>\"  var ourwov=location.search.split('wopenall=')[1] ? location.search.split('wopenall=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurb .= \"  var ows, owstwo, iot, hl=1; \\n\";<br \/>\n     $tblurb .= \"   if (ourwov != ' ') { \\n\";<br \/>\n     $tblurb .= \"    var hones=docgetclass('entry-title', 'h1'); \\n\";<br \/>\n     $tblurb .= \"    hl=hones.length; \\n\";<br \/>\n     $tblurb .= \"    if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"     for (iot=0; iot&lt;hones.length; iot++) { \\n\";<br \/>\n     $tblurb .= \"      if (hones[iot].innerHTML.indexOf('Not Found') != -1) hl=eval(-1 + hl); \\n\";<br \/>\n     $tblurb .= \"      if (ourwov == '' || hones[iot].innerHTML.toLowerCase().indexOf(decodeURIComponent(ourwov.replace('+', '%20').replace('+', '%20').replace('+', '%20').replace('+', '%20').toLowerCase())) != -1) { \\n\";<br \/>\n     $tblurb .= \"        ows=hones[iot].innerHTML.split('href='); \\n\";<br \/>\n     $tblurb .= \"        if (ows.length &gt; 1) { \\n\";<br \/>\n     $tblurb .= \"         owstwo=ows[1].substring(1).split(ows[1].substring(0,1)); \\n\";<br \/>\n<b><i><font color='red'>     $tblurb .= \"         if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*') || (ourtcprefix != '' || tcprefix != '') || (ourtcdelay != 0 || tcdelay != 0)) { if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*')) { top.document.getElementById('seltc').style.display='block'; } else { optcol='lightgreen'; } top.document.getElementById('seltc').innerHTML += '&lt;option <\/font><\/i><\/b><b><i><font color='green'>id=\\\"tco' + iot + '\\\" onmouseover=\\\"getSws(event);\\\" onmouseout=\\\"yehbut();\\\"  ontouchstart=\\\"getSws(event);\\\" ontouchend=\\\"yehbut();\\\" title=\\\"... you can wait for the long hover functionality for a Blog Post Preview\\\" <\/font><\/i><\/b><b><i><font color='red'>style=\\\"background-color:' + optcol + ';\\\" value=\\\"' + owstwo[0] + '\\\"&gt;' + hones[iot].innerHTML + '&lt;\/option&gt;';   } else { window.open(owstwo[0], '_blank');  } \\n\";<\/font><\/i><\/b><br \/>\n     $tblurb .= \"        } \\n\";<br \/>\n     $tblurb .= \"      } \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"     hones=docgetclass('nav-previous', 'div'); \\n\";<br \/>\n     <i><font color='red'>$tblurb .= \"     if (hones.length &gt; 0 && ((tcprefix == '!' || tcprefix == '+' || tcprefix == '|' || tcprefix == '*'))) { \\n\";<br \/>\n     if (strpos($nurl, \"\/page\/2\/\") !== false || strpos($nurl, \"paged=2\") !== false) {<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     } else {<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     }<br \/>\n     $tblurb .= \"     } else <\/i><\/font>if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     $tblurb .= \"     } else { \\n\";<br \/>\n     $tblurb .= \"      preprecc('wopenall');  \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"    } \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     if (hl == 0) { \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"      location.href = '\" . str_replace(\"wopenall=\", \"wopenallwas=\", $furl) . \"'; \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     }  \\n\";<br \/>\n     $tblurb .= \"   } \\n\";<br \/>\n    }<br \/>\n    echo $tblurb;<br \/>\n }<br \/>\n?&gt;<br \/>\n}<br \/>\n<\/b><br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body onload=\"<b>precc();<\/b> courseCookies();\" &lt;?php body_class(); ?&gt;&gt;<br \/>\n<\/code><\/p>\n<p><\/i><\/b><\/font><\/p>\n<hr>\n<p id='wbswsat'>Previous relevant <a target=_blank title='WordPress Blog Search Within Search Ajax Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-ajax-tutorial\/'>WordPress Blog Search Within Search Ajax Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.jpeg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"WordPress Blog Search Within Search Ajax Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.jpeg\" title=\"WordPress Blog Search Within Search Ajax Tutorial\"   \/><\/a><p class=\"wp-caption-text\">WordPress Blog Search Within Search Ajax Tutorial<\/p><\/div>\n<p>The last aspect to &#8220;filter a search&#8221; (or &#8220;search within a search&#8221;) ideas is to do with <a target=_blank title='Ajax information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Ajax_(programming)'>Ajax<\/a> functionality, because we discovered that, at least for non-mobile users, the <a target=_blank title='Javascript onmouseover event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onmouseover.asp'><i>onmouseover<\/i><\/a> and <a target=_blank title='Javascript onmouseout event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onmouseout.asp'><i>onmouseout<\/i><\/a> events work for the HTML <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_option.asp' title='HTML option tag information from w3schools'><i>option<\/i><\/a> tag within a <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_select.asp' title='HTML select tag information from w3schools'><i>select<\/i><\/a> (dropdown) tag, so that allows for the contextual help we last talked about with <a target=_blank title='WordPress Blog Context Help Mode Toggler Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-context-help-mode-toggler-primer-tutorial\/'>WordPress Blog Context Help Mode Toggler Primer Tutorial<\/a> to be included in the functionality here, and with the WordPress 4.1.1 <a target=_blank title='WordPress Blog Search Within Search Ajax Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-ajax-tutorial\/'>WordPress Blog Search Within Search Ajax Tutorial<\/a>.<\/p>\n<p>As we&#8217;ve mentioned before at this blog, Ajax techniques are useful to be able to perform more functionality without navigating to a new webpage, even, though, often, you are effectively accessing that new webpage.  Today, we use Ajax for Preview purposes with that dropdown (HTML <i>select<\/i>) element of yesterday&#8217;s <a target=_blank title='WordPress Blog Search Within Search Preview Tutorial' href='#wbswspt'>WordPress Blog Search Within Search Preview Tutorial<\/a> as shown below.<\/p>\n<p>Not everybody likes Ajax, and so we offer those users an &#8220;out&#8221;, in that you have to &#8220;hover&#8221; a long time to enact the Ajax functionality, so if you are hovering just to see the &#8220;title&#8221; wording of HTML elements, if you are fairly quick about it, the Ajax functionality will not happen.<\/p>\n<p>So it pans out the WordPress blog&#8217;s TwentyTen theme&#8217;s header.php does not need to change much to do its bit as per the <b><i><font color='green'>green bold itallic<\/font><\/i><\/b> below, modifying yesterday&#8217;s <b><i><font color='red'>red bold itallic<\/font><\/i><\/b> &#8230;<\/p>\n<p><code><br \/>\n...<br \/>\n<b><i><font color='red'>     $tblurb .= \"         if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*') || (ourtcprefix != '' || tcprefix != '') || (ourtcdelay != 0 || tcdelay != 0)) { if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*')) { top.document.getElementById('seltc').style.display='block'; } else { optcol='lightgreen'; } top.document.getElementById('seltc').innerHTML += '&lt;option <\/font><\/i><\/b><b><i><font color='green'>id=\\\"tco' + iot + '\\\" onmouseover=\\\"getSws(event);\\\" onmouseout=\\\"yehbut();\\\"  ontouchstart=\\\"getSws(event);\\\" ontouchend=\\\"yehbut();\\\" title=\\\"... you can wait for the long hover functionality for a Blog Post Preview\\\" <\/font><\/i><\/b><b><i><font color='red'>style=\\\"background-color:' + optcol + ';\\\" value=\\\"' + owstwo[0] + '\\\"&gt;' + hones[iot].innerHTML + '&lt;\/option&gt;';   } else { window.open(owstwo[0], '_blank');  } \\n\";<\/font><\/i><\/b><br \/>\n...<br \/>\n<\/code><\/p>\n<p>Maybe you remember our contextual help blog postings (last one being <a target=_blank title='WordPress Blog Context Help Mode Toggler Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-context-help-mode-toggler-primer-tutorial\/'>WordPress Blog Context Help Mode Toggler Primer Tutorial<\/a>), and how we have an external Javascript <a target=_blank title='wajax.js' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/wajax.js----------------GETME'>wajax.js<\/a> arrangement for Ajax related functionality.  Well, it changed to accomodate this last idea in <a target=_blank title='wajax.js' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/wordpress\/wajax.js----------------GETME'>this way<\/a>.  The mode of use of ignoring contextual help meant that <a target=_blank title='nothing.js' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/wordpress\/nothing.js---GETME'>nothing.js<\/a> changed in exactly the same manner.<\/p>\n<hr>\n<p id='wbswspt'>Previous relevant <a target=_blank title='WordPress Blog Search Within Search Preview Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-preview-tutorial\/'>WordPress Blog Search Within Search Preview Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.png\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"WordPress Blog Search Within Search Preview Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.png\" title=\"WordPress Blog Search Within Search Preview Tutorial\"   \/><\/a><p class=\"wp-caption-text\">WordPress Blog Search Within Search Preview Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s &#8220;filter a search&#8221; (or &#8220;search within a search&#8221;) ideas of <a target=_blank title='WordPress Blog Search Within Search Implementation Tutorial' href='#wbsswsit'>WordPress Blog Search Within Search Implementation Tutorial<\/a> as shown below, were improvements on the day before, but we feel as though the user lacks some controls that would be good on the functionality.<\/p>\n<p>By that we mean that many windows may open without the chance for the user to review their findings.  We think the user would feel more in control of things if it were possible for them to have a dropdown (HTML <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_select.asp' title='HTML select tag information from w3schools'>select<\/a>) element that can review the findings, and then they can pick or choose what is interesting &#8230; after all, with yesterday&#8217;s scenario, they are not told what the resultant blog posting titles are ahead of having them come up in a new web browser tab already displayed, so, today, as an optionally available extra piece of functionality we allow in the Javascript <a target=_blank href='http:\/\/www.w3schools.com\/jsref\/met_win_prompt.asp' title='Javascript prompt window information from w3schools'>Prompt window<\/a> the additional prefixes of &#8230;<\/p>\n<ul>\n<li>@!@ &#8230; just dropdown<\/li>\n<li>@+@ &#8230; additional dropdown<\/li>\n<li>@|@ &#8230; just open dropdown (ie. all the options are available to see, on a non-mobile platform)<\/li>\n<li>@*@ &#8230; additional open dropdown<\/li>\n<li>@[secsDelay]@ &#8230; stage the finding openings with a [secsDelay] seconds delay between new browser tabs opening<\/li>\n<\/ul>\n<p>To make this happen, and not involve server files, and be able to handle the changes in the Javascript (written out by the PHP), we use an <a target=_blank href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp' title='HTML iframe tag information from w3schools'><i>iframe<\/i><\/a> element which can &#8220;look back&#8221; to <a target=_blank title='HTML top.document information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/prop_win_top.asp'><i>top.document<\/i><\/a> to alter the parent web page&#8217;s content &#8230; in this case, the parent webpage&#8217;s relevant dropdown (HTML select) element containing Blog Posting findings of interest picked up from our &#8220;filtered search&#8221; (or &#8220;search within a search&#8221;) functionality.<\/p>\n<p>We hope you find this useful and will leave you with changes to the WordPress blog&#8217;s TwentyTen theme&#8217;s header.php in <b><i><font color='red'>red bold itallic<\/font><\/i><\/b> for the latest changes and in <b><i>bold itallic<\/i><\/b> for yesterday&#8217;s changes and just in <b>bold<\/b> for day before yesterday&#8217;s (<a target=_blank title='WordPress Blog Search Within a Search Primer Tutorial' href='#wbswaspt'>WordPress Blog Search Within a Search Primer Tutorial<\/a>) changes below &#8230;<\/p>\n<p><code><br \/>\n<b><br \/>\nvar spc=' ', cminus='-', fmtname='w411tform', fmcname='w411cform', edelim='\/'<i>, radis=\"\", formihis=\"\";<\/i><\/b><br \/>\n<b><i><font color='red'>var precwopen='', cwopen='', scmdis='', tcdelay=0, ourtcdelay=0, ourtcprefix='', tcprefix='', tcsuffix=' ... prefixes: @!@ just dropdown, @+@ additional dropdown, @|@ just open dropdown, @*@ additional open dropdown, @[secsDelay]@';<br \/>\nvar iurlcnt=0, jurlcnt=0, urllist = new Array(), whenlist = new Array(), nextis=-1, optcol='yellow';<br \/>\nfunction checkseltc() {<br \/>\n  var wqe=document.getElementById('seltc').innerHTML.split('value=');<br \/>\n  var zdelim=' ', zurllist;<br \/>\n  jurlcnt=eval(-1 + wqe.length);<br \/>\n  if (jurlcnt &gt; 0) {<br \/>\n    for (var iyt=2; iyt&lt;wqe.length; iyt++) {<br \/>\n      zdelim = wqe[iyt].substring(0,1);<br \/>\n      zurllist = wqe[iyt].substring(1).split(zdelim);<br \/>\n      urllist[eval(-2 + iyt)] = zurllist[0];<br \/>\n      if (iyt == 2) {<br \/>\n        whenlist[eval(-2 + iyt)] = tcdelay;<br \/>\n      } else {<br \/>\n        whenlist[eval(-2 + iyt)] = eval(tcdelay + eval(whenlist[eval(-3 + iyt)]));<br \/>\n      }<br \/>\n      if (nextis &lt; 0) nextis = 0;<br \/>\n    }<br \/>\n  }<br \/>\n  document.getElementById('seltc').size = eval(-1 + wqe.length);<br \/>\n  iurlcnt++;<br \/>\n  if (nextis &gt;= 0) {<br \/>\n   if (eval(nextis) &lt; eval(whenlist.length)) {<br \/>\n    if (eval(iurlcnt) == whenlist[nextis]) {<br \/>\n      if (urllist[nextis] != \"\") tcwindowopen(urllist[nextis]);<br \/>\n      nextis++;<br \/>\n      if (eval(nextis) == eval(whenlist.length)) top.document.getElementById('seltc').style.display='block';<br \/>\n    }<br \/>\n   }<br \/>\n  }<br \/>\n}<br \/>\nfunction reprompt(insg) {<br \/>\n tcprefix=\"\";<br \/>\n if ((insg + \" \").substring(0,1) == \"@\") {<br \/>\n   var tcst=insg.substring(1).split(\"@\");<br \/>\n   if (tcst.length &gt; 1) {<br \/>\n     tcprefix = tcst[0];<br \/>\n     insg=insg.replace(\"@\" + tcprefix + \"@\", \"\");<br \/>\n     if (tcprefix == \"!\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"|\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"+\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix == \"*\") {<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n     } else if (tcprefix != \"\") {<br \/>\n       var tcd=tcprefix.split(\".\");<br \/>\n       tcdelay=eval(tcd[0]);<br \/>\n       document.getElementById(\"wrapper\").innerHTML = \"&lt;iframe id='tciframe' width=1 height=1 style='width:1; height:1;' src='http:\/\/www.rjmprogramming.com.au\/About_Us.html'&gt;&lt;\/iframe&gt;\" + document.getElementById(\"wrapper\").innerHTML;<br \/>\n       tcprefix='';<br \/>\n       optcol='lightgreen';<br \/>\n     }<br \/>\n   }<br \/>\n }<br \/>\n return insg;<br \/>\n}<br \/>\nfunction reurl(inu) {<br \/>\n var newinu;<br \/>\n if (tcprefix != \"\") {<br \/>\n  if (tcprefix.substring(0,1) == '!' || tcprefix.substring(0,1) == '+' || tcprefix.substring(0,1) == '|' || tcprefix.substring(0,1) == '*') {<br \/>\n   newinu=inu.replace('window.open(', '').replace('location.href=', '').replace(';', '').replace(';', '').split(', \"_blank');<br \/>\n   document.getElementById('tciframe').src=eval(newinu[0]) + \"&tcprefix=\" + tcprefix;<br \/>\n   if (tcprefix.substring(0,1) == '|' || tcprefix.substring(0,1) == '*') setInterval(checkseltc, 1000);<br \/>\n   if (tcprefix.substring(0,1) == '!' || tcprefix.substring(0,1) == '|') {<br \/>\n     return \"\";<br \/>\n   }<br \/>\n  }<br \/>\n  inu = inu; \/\/.replace(\"wopenall\", \"tcprefix=\" + tcprefix + \"&wopenall\");<br \/>\n }<br \/>\n if (tcdelay != 0) {<br \/>\n  inu = inu; \/\/.replace(\"wopenall\", \"&tcdelay=\" + tcdelay + \"&wopenall\");<br \/>\n  newinu=inu.replace('window.open(', '').replace('location.href=', '').replace(';', '').replace(';', '').split(', \"_blank');<br \/>\n  document.getElementById('tciframe').src=eval(newinu[0]) + \"&tcdelay=\" + tcdelay;<br \/>\n  setInterval(checkseltc, 1000);<br \/>\n  return \"\";<br \/>\n }<br \/>\n return eval(inu);<br \/>\n}<\/font><\/i><\/b><br \/>\n<b><i>function preradiocc() {<br \/>\n  if (document.getElementById('s').value != \"\" && radis != \"\") {<br \/>\n   radiocc(radis);<br \/>\n  }<br \/>\n}<br \/>\nfunction radiocc(tvis) {<br \/>\n  var cok=1;<br \/>\n  cwopen=\"\";<br \/>\n  radis=tvis;<br \/>\n  if (document.getElementById('s').value != \"\") {<br \/>\n   if (tvis == \"Search\") {<br \/>\n    document.getElementById('searchsubmit').click();<br \/>\n   } else if (tvis == \"Tag\") {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Tag findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    cwopen=reprompt(cwopen);<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"?tag=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"?tag=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    } else {<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"tag\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"tag\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   } else if (tvis == \"Category\") {<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (document.getElementById('s').value.substring(0,1) &gt;= '0' && document.getElementById('s').value.substring(0,1) &lt;= '9') {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (number) findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", \"Tutorial\");<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    cwopen=reprompt(cwopen);<br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"?cat=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"?cat=\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    } else {<br \/>\n     cok=0;<br \/>\n     alert(\"Please enter the category as a number\");<br \/>\n     document.getElementById('s').value = '';<br \/>\n    }<br \/>\n    } else {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (alphabetic) findings Blog Posting Title search filter (blank causes no filtering\" + tcsuffix + \")\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    <font color='red'>precwopen = document.getElementById(\"s\").value;<\/font><br \/>\n    if (1 == 1) {<br \/>\n     <font color='red'>reurl('window.open(document.getElementById(\"searchform\").action + \"category\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");');<\/font><br \/>\n    } else {<br \/>\n     <font color='red'>reurl('location.href=document.getElementById(\"searchform\").action + \"category\/\" + precwopen.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;');<\/font><br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   }<br \/>\n   if (cok == 1) {<br \/>\n     document.getElementById('s').value = '';<br \/>\n     radis=\"\";<br \/>\n     document.getElementById('searchform').innerHTML = formihis;<br \/>\n     document.getElementById('s').onblur = preradiocc;<br \/>\n   }<br \/>\n  }<br \/>\n}<\/i><br \/>\nfunction preprecc(inidea) { \/\/ wopenallwas= form<br \/>\n&lt;?php<br \/>\n $tblurbwas=\"\";<br \/>\n if (isset($_GET['wopenallwas']) || isset($_GET['wopenall'])) {<br \/>\n     $tblurbwas = \"  var ourwovwas=location.search.split(inidea + '=')[1] ? location.search.split(inidea + '=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurbwas .= \"  if (ourwovwas != ' ') { \\n\";<br \/>\n     $tblurbwas .= \"   document.body.innerHTML = '&lt;div id=\\\"verytop\\\" align=\\\"center\\\" style=\\\"background-color: yellow;\\\"&gt;&lt;table cellpadding=25 cellspacing=25&gt;&lt;tr&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 3.0.3&lt;br&gt;&lt;br&gt;&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" name=\\\"tag\\\" id=\\\"tag\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (numerical): &lt;input type=\\\"number\\\" name=\\\"cat\\\" id=\\\"cat\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 4.1.1&lt;br&gt;&lt;br&gt;&lt;form id=\\\"w411tform\\\" action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" onblur=\\\" document.getElementById(fmtname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form id=\\\"w411cform\\\"  action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/category\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (alpha): &lt;input onblur=\\\" document.getElementById(fmcname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" type=\\\"text\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;' + document.body.innerHTML;  \\n\";<br \/>\n     $tblurbwas .= \"  } \\n\";<br \/>\n }<br \/>\n echo $tblurbwas;<br \/>\n?&gt;<br \/>\n}<\/i><\/b><br \/>\n<b><i><font color='red'>function tcwindowopen(inuis) {<br \/>\n  window.open(inuis, '_blank');<br \/>\n}<\/i><\/b><\/font><br \/>\n<b>function precc() { \/\/ wopenall= functionality<br \/>\n preprecc('wopenallwas');<br \/>\n document.getElementById('searchsubmit').style.display='none';<br \/>\n formihis = document.getElementById('searchform').innerHTML.replace(\"&lt;\/div&gt;\", \"&lt;input style='display:none;' type='radio' name='stype' value=''&gt;&lt;input onclick=\\\"radiocc('Search');\\\" type='radio' name='stype' value='Search'&gt;Search&lt;input onclick=\\\"radiocc('Tag');\\\" type='radio' name='stype' value='Tag'&gt;Tag&lt;input onclick=\\\"radiocc('Category');\\\" type='radio' name='stype' value='Category'&gt;Category&lt;select id='seltc' style='display:none;' onchange=\\\"<font color='red'><i>tcwindowopen(this.value);<\/i><\/font>\\\" size='1'&gt;&lt;option value=''&gt;Blog Postings below ...&lt;\/option&gt;&lt;\/select&gt;&lt;\/div&gt;\");<br \/>\n formihis = formihis.replace(\"input id\", \"input onblur='preradiocc();' id\");<br \/>\n document.getElementById('searchform').innerHTML = formihis;<br \/>\n document.getElementById('s').onblur = preradiocc;<br \/>\n&lt;?php<br \/>\n $tblurb=\"\";<br \/>\n if (isset($_GET['wopenall'])) {<br \/>\n    $tpage=1;<br \/>\n    $furl=\"\";<br \/>\n    $sru=explode(\"?\", $_SERVER['REQUEST_URI']);<br \/>\n    if (isset($_GET['paged'])) {<br \/>\n      $tpage=$_GET['paged'];<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=\" . ($tpage + 1), $_SERVER['QUERY_STRING']);<br \/>\n      $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=1\", $_SERVER['QUERY_STRING']);<br \/>\n    } else if (isset($_GET['tag']) || isset($_GET['cat']) || isset($_GET['s'])) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=2\";<br \/>\n      if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=1\";<br \/>\n    } else if (strpos(\"\/wordpress\/\", $_SERVER['REQUEST_URI']) !== false) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"wopenall=\", \"s=\", $_SERVER['QUERY_STRING']);<br \/>\n      $tblurb = \"      location.href='\" . $nurl . \"'; \\n\";<br \/>\n    } else {<br \/>\n      $tstuff=explode(\"page\/\", $sru[0]);<br \/>\n      if (sizeof($tstuff) &gt; 1) {<br \/>\n       $tstu=explode(\"\/\", $tstuff[1]);<br \/>\n       $tpage=$tstu[0];<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/\" . ($tpage + 1), $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/1\", $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      } else {<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/2\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/1\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      }<br \/>\n    }<br \/>\n    if ($tblurb == \"\") {<br \/>\n     $tblurb = <i><font color='red'>\"  ourtcprefix=location.search.split('tcprefix=')[1] ? location.search.split('tcprefix=')[1].split('&')[0] : ''; \\n\";<br \/>\n     $tblurb .= \"  ourtcdelay=location.search.split('tcdelay=')[1] ? location.search.split('tcdelay=')[1].split('&')[0] : 0; \\n\";<br \/>\n     $tblurb .= <\/i><\/font>\"  var ourwov=location.search.split('wopenall=')[1] ? location.search.split('wopenall=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurb .= \"  var ows, owstwo, iot, hl=1; \\n\";<br \/>\n     $tblurb .= \"   if (ourwov != ' ') { \\n\";<br \/>\n     $tblurb .= \"    var hones=docgetclass('entry-title', 'h1'); \\n\";<br \/>\n     $tblurb .= \"    hl=hones.length; \\n\";<br \/>\n     $tblurb .= \"    if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"     for (iot=0; iot&lt;hones.length; iot++) { \\n\";<br \/>\n     $tblurb .= \"      if (hones[iot].innerHTML.indexOf('Not Found') != -1) hl=eval(-1 + hl); \\n\";<br \/>\n     $tblurb .= \"      if (ourwov == '' || hones[iot].innerHTML.toLowerCase().indexOf(decodeURIComponent(ourwov.replace('+', '%20').replace('+', '%20').replace('+', '%20').replace('+', '%20').toLowerCase())) != -1) { \\n\";<br \/>\n     $tblurb .= \"        ows=hones[iot].innerHTML.split('href='); \\n\";<br \/>\n     $tblurb .= \"        if (ows.length &gt; 1) { \\n\";<br \/>\n     $tblurb .= \"         owstwo=ows[1].substring(1).split(ows[1].substring(0,1)); \\n\";<br \/>\n     <i><font color='red'>$tblurb .= \"         if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*') || (ourtcprefix != '' || tcprefix != '') || (ourtcdelay != 0 || tcdelay != 0)) { if ((ourtcprefix == '!' || tcprefix == '!') || (ourtcprefix == '|' || tcprefix == '|') || (ourtcprefix == '+' || tcprefix == '+') || (ourtcprefix == '*' || tcprefix == '*')) { top.document.getElementById('seltc').style.display='block'; } else { optcol='lightgreen'; } top.document.getElementById('seltc').innerHTML += '&lt;option style=\\\"background-color:' + optcol + ';\\\" value=\\\"' + owstwo[0] + '\\\"&gt;' + hones[iot].innerHTML + '&lt;\/option&gt;';   } else { window.open(owstwo[0], '_blank');  } \\n\";<\/i><\/font><br \/>\n     $tblurb .= \"        } \\n\";<br \/>\n     $tblurb .= \"      } \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"     hones=docgetclass('nav-previous', 'div'); \\n\";<br \/>\n     <i><font color='red'>$tblurb .= \"     if (hones.length &gt; 0 && ((tcprefix == '!' || tcprefix == '+' || tcprefix == '|' || tcprefix == '*'))) { \\n\";<br \/>\n     if (strpos($nurl, \"\/page\/2\/\") !== false || strpos($nurl, \"paged=2\") !== false) {<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     } else {<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     }<br \/>\n     $tblurb .= \"     } else <\/i><\/font>if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     $tblurb .= \"     } else { \\n\";<br \/>\n     $tblurb .= \"      preprecc('wopenall');  \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"    } \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     if (hl == 0) { \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"      location.href = '\" . str_replace(\"wopenall=\", \"wopenallwas=\", $furl) . \"'; \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     }  \\n\";<br \/>\n     $tblurb .= \"   } \\n\";<br \/>\n    }<br \/>\n    echo $tblurb;<br \/>\n }<br \/>\n?&gt;<br \/>\n}<br \/>\n<\/b><br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body onload=\"<b>precc();<\/b> courseCookies();\" &lt;?php body_class(); ?&gt;&gt;<br \/>\n<\/code><\/p>\n<p>Please feel free to try it out here, where you are.<\/p>\n<hr>\n<p id='wbsswsit'>Previous relevant <a target=_blank title='WordPress Blog Search Within Search Implementation Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-implementation-tutorial\/'>WordPress Blog Search Within Search Implementation Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.gif\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"WordPress Blog Search Within Search Implementation Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.gif\" title=\"WordPress Blog Search Within Search Implementation Tutorial\"   \/><\/a><p class=\"wp-caption-text\">WordPress Blog Search Within Search Implementation Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s &#8220;filter a search&#8221; (or &#8220;search within a search&#8221;) ideas of <a target=_blank title='WordPress Blog Search Within a Search Primer Tutorial' href='#wbswaspt'>WordPress Blog Search Within a Search Primer Tutorial<\/a>, as shown below, were good in terms of a method to achieve something, but they only suit for regular readers of this blog, because there is nothing sitting there on the screen for the usual URLs you would navigate to, to remind you that that functionality can happen, let alone how to achieve that functionality.<\/p>\n<p>So where should such functionality be placed and implemented?  Luckily, that is an easy question.  We are going to change the look of the website Search <a target=_blank title='HTML input tag information from w3schools' href='http:\/\/www.w3schools.com\/html\/html_form_input_types.asp'>TextBox and Button<\/a>.  The Button used to be a &#8230; button &#8230; but now we are going to turn that ordinary (form &#8220;submit&#8221;) button into <a target=_blank title='HTML input type=radio radio button information from w3schools' href='http:\/\/www.w3schools.com\/html\/tryit.asp?filename=tryhtml_radio'>radio buttons<\/a> with the options &#8230;<\/p>\n<ul>\n<li>Search &#8230; performs as it used to, for ordinary searches, when this radio button is clicked &#8230; yes, we are using the <a target=_blank title='Javascript onclick event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onclick.asp'><i>onclick<\/i><\/a> event &#8230; maybe the <a target=_blank title='Javascript onchange event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onchange.asp'><i>onchange<\/i><\/a> event may have worked too &#8230; but we prefer the clarity of thought behind the <i>onclick<\/i> event &#8230;<\/li>\n<li>Tag &#8230; allow the TextBox be a Tag to find and then use a Javascript <a target=_blank title='Javascript prompt window information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/met_win_prompt.asp'>Prompt window<\/a> answer to further filter the Blog Posting Titles found &#8230;<\/li>\n<li>Category &#8230; allow the TextBox be a Category to find and then use a Javascript Prompt window answer to further filter the Blog Posting Titles found<\/li>\n<\/ul>\n<p>So, why radio buttons and not <a target=_blank title='HTML input type=checkbox checkbox information from w3schools' href='http:\/\/www.w3schools.com\/html\/tryit.asp?filename=tryhtml_checkbox'>checkboxes<\/a>?  We only want to perform one action at a time, so radio buttons suit here.<\/p>\n<p>So, are the radio buttons acting like three ordinary buttons?  That&#8217;s the go here, and we do that by having a hidden fourth radio button with value=&#8221; that is actually selected at the start and at completion, so that you are encouraged to reclick the option you want to perform, and get that <i>onclick<\/i> event to be triggered.<\/p>\n<p>So, can you tune into <span style='background-color:yellow;><input style='display:none;' type='radio' name='radt' value=''>&nbsp;&nbsp;<input onclick=\"window.open('http:\/\/www.abc.net.au\/sydney\/programs\/listenlive.htm','_blank','top=50,left=50,width=300,height=300');\" type='radio' name='radt' value='702ABC Sydney'>702ABC Sydney&nbsp;<\/span> with the Category radio button?  Very droll, but we&#8217;ll get right onto it.<\/p>\n<p>The test is, then, is what you come up with an improvement regarding user friendliness to the methods you use &#8220;when you are in the know&#8221;, like for yesterday&#8217;s?  We think so, and hope you do too.  See how it is done today with our changes to the WordPress blog&#8217;s TwentyTen theme&#8217;s header.php in <b><i>bold itallic<\/i><\/b> for the latest changes and just in <b>bold<\/b> for yesterday&#8217;s (<a target=_blank title='WordPress Blog Search Within a Search Primer Tutorial' href='#wbswaspt'>WordPress Blog Search Within a Search Primer Tutorial<\/a>) changes below &#8230;<\/p>\n<p><code><br \/>\n<b><br \/>\nvar spc=' ', cminus='-', fmtname='w411tform', fmcname='w411cform', edelim='\/'<i>, radis=\"\", formihis=\"\"<\/i>;<br \/>\n<i>function preradiocc() {<br \/>\n  if (document.getElementById('s').value != \"\" && radis != \"\") {<br \/>\n   radiocc(radis);<br \/>\n  }<br \/>\n}<br \/>\nfunction radiocc(tvis) {<br \/>\n  var cwopen=\"\", cok=1;<br \/>\n  radis=tvis;<br \/>\n  if (document.getElementById('s').value != \"\") {<br \/>\n   if (tvis == \"Search\") {<br \/>\n    document.getElementById('searchsubmit').click();<br \/>\n   } else if (tvis == \"Tag\") {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Tag findings Blog Posting Title search filter (blank causes no filtering)\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (1 == 1) {<br \/>\n     window.open(document.getElementById('searchform').action + \"?tag=\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");<br \/>\n    } else {<br \/>\n     location.href=document.getElementById('searchform').action + \"?tag=\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;<br \/>\n    }<br \/>\n    } else {<br \/>\n    if (1 == 1) {<br \/>\n     window.open(document.getElementById('searchform').action + \"tag\/\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");<br \/>\n    } else {<br \/>\n     location.href=document.getElementById('searchform').action + \"tag\/\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;<br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   } else if (tvis == \"Category\") {<br \/>\n    if (document.getElementById('searchform').action.indexOf(\"\/wordpress\") != -1) {<br \/>\n    if (document.getElementById('s').value.substring(0,1) &gt;= '0' && document.getElementById('s').value.substring(0,1) &lt;= '9') {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (number) findings Blog Posting Title search filter (blank causes no filtering)\", \"Tutorial\");<br \/>\n    if (cwopen != null) {<br \/>\n    if (1 == 1) {<br \/>\n     window.open(document.getElementById('searchform').action + \"?cat=\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen, \"_blank\");<br \/>\n    } else {<br \/>\n     location.href=document.getElementById('searchform').action + \"?cat=\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"&wopenall=\" + cwopen;<br \/>\n    }<br \/>\n    }<br \/>\n    } else {<br \/>\n     cok=0;<br \/>\n     alert(\"Please enter the category as a number\");<br \/>\n     document.getElementById('s').value = '';<br \/>\n    }<br \/>\n    } else {<br \/>\n    cwopen=prompt(\"Please enter \" + document.getElementById('s').value + \" Category (alphabetic) findings Blog Posting Title search filter (blank causes no filtering)\", document.getElementById('s').value);<br \/>\n    if (cwopen != null) {<br \/>\n    if (1 == 1) {<br \/>\n     window.open(document.getElementById('searchform').action + \"category\/\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen, \"_blank\");<br \/>\n    } else {<br \/>\n     location.href=document.getElementById('searchform').action + \"category\/\" + document.getElementById('s').value.toLowerCase().replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\") + \"\/?wopenall=\" + cwopen;<br \/>\n    }<br \/>\n    }<br \/>\n    }<br \/>\n   }<br \/>\n   if (cok == 1) {<br \/>\n     document.getElementById('s').value = '';<br \/>\n     radis=\"\";<br \/>\n     document.getElementById('searchform').innerHTML = formihis;<br \/>\n     document.getElementById('s').onblur = preradiocc;<br \/>\n   }<br \/>\n  }<br \/>\n}<\/i><br \/>\nfunction preprecc(inidea) { \/\/ wopenallwas= form<br \/>\n&lt;?php<br \/>\n $tblurbwas=\"\";<br \/>\n if (isset($_GET['wopenallwas']) || isset($_GET['wopenall'])) {<br \/>\n     $tblurbwas = \"  var ourwovwas=location.search.split(inidea + '=')[1] ? location.search.split(inidea + '=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurbwas .= \"  if (ourwovwas != ' ') { \\n\";<br \/>\n     $tblurbwas .= \"   document.body.innerHTML = '&lt;div <i>id=\\\"verytop\\\"<\/i> align=\\\"center\\\" style=\\\"background-color: yellow;\\\"&gt;&lt;table cellpadding=25 cellspacing=25&gt;&lt;tr&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 3.0.3&lt;br&gt;&lt;br&gt;&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" name=\\\"tag\\\" id=\\\"tag\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (numerical): &lt;input type=\\\"number\\\" name=\\\"cat\\\" id=\\\"cat\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 4.1.1&lt;br&gt;&lt;br&gt;&lt;form id=\\\"w411tform\\\" action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" onblur=\\\" document.getElementById(fmtname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form id=\\\"w411cform\\\"  action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/category\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (alpha): &lt;input onblur=\\\" document.getElementById(fmcname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" type=\\\"text\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;' + document.body.innerHTML;  \\n\";<br \/>\n     $tblurbwas .= \"  } \\n\";<br \/>\n }<br \/>\n echo $tblurbwas;<br \/>\n?&gt;<br \/>\n}<br \/>\nfunction precc() { \/\/ wopenall= functionality<br \/>\n preprecc('wopenallwas');<br \/>\n <i>document.getElementById('searchsubmit').style.display='none';<br \/>\n formihis = document.getElementById('searchform').innerHTML.replace(\"&lt;\/div&gt;\", \"&lt;input style='display:none;' type='radio' name='stype' value=''&gt;&lt;input onclick=\\\"radiocc('Search');\\\" type='radio' name='stype' value='Search'&gt;Search&lt;input onclick=\\\"radiocc('Tag');\\\" type='radio' name='stype' value='Tag'&gt;Tag&lt;input onclick=\\\"radiocc('Category');\\\" type='radio' name='stype' value='Category'&gt;Category&lt;\/div&gt;\");<br \/>\n formihis = formihis.replace(\"input id\", \"input onblur='preradiocc();' id\");<br \/>\n document.getElementById('searchform').innerHTML = formihis;<br \/>\n document.getElementById('s').onblur = preradiocc;<\/i><br \/>\n&lt;?php<br \/>\n $tblurb=\"\";<br \/>\n if (isset($_GET['wopenall'])) {<br \/>\n    $tpage=1;<br \/>\n    $furl=\"\";<br \/>\n    $sru=explode(\"?\", $_SERVER['REQUEST_URI']);<br \/>\n    if (isset($_GET['paged'])) {<br \/>\n      $tpage=$_GET['paged'];<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=\" . ($tpage + 1), $_SERVER['QUERY_STRING']);<br \/>\n      $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=1\", $_SERVER['QUERY_STRING']);<br \/>\n    } else if (isset($_GET['tag']) || isset($_GET['cat']) || isset($_GET['s'])) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=2\";<br \/>\n      if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=1\";<br \/>\n    } else if (strpos(\"\/wordpress\/\", $_SERVER['REQUEST_URI']) !== false) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"wopenall=\", \"s=\", $_SERVER['QUERY_STRING']);<br \/>\n      $tblurb = \"      location.href='\" . $nurl . \"'; \\n\";<br \/>\n    } else {<br \/>\n      $tstuff=explode(\"page\/\", $sru[0]);<br \/>\n      if (sizeof($tstuff) &gt; 1) {<br \/>\n       $tstu=explode(\"\/\", $tstuff[1]);<br \/>\n       $tpage=$tstu[0];<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/\" . ($tpage + 1), $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/1\", $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      } else {<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/2\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/1\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      }<br \/>\n    }<br \/>\n    if ($tblurb == \"\") {<br \/>\n     $tblurb = \"  var ourwov=location.search.split('wopenall=')[1] ? location.search.split('wopenall=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurb .= \"  var ows, owstwo, iot, hl=1; \\n\";<br \/>\n     $tblurb .= \"   if (ourwov != ' ') { \\n\";<br \/>\n     $tblurb .= \"    var hones=docgetclass('entry-title', 'h1'); \\n\";<br \/>\n     $tblurb .= \"    hl=hones.length; \\n\";<br \/>\n     $tblurb .= \"    if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"     for (iot=0; iot&lt;hones.length; iot++) { \\n\";<br \/>\n     $tblurb .= \"      if (hones[iot].innerHTML.indexOf('Not Found') != -1) hl=eval(-1 + hl); \\n\";<br \/>\n     $tblurb .= \"      if (ourwov == '' || hones[iot].innerHTML.toLowerCase().indexOf(decodeURIComponent(ourwov.replace('+', '%20').replace('+', '%20').replace('+', '%20').replace('+', '%20').toLowerCase())) != -1) { \\n\";<br \/>\n     $tblurb .= \"        ows=hones[iot].innerHTML.split('href='); \\n\";<br \/>\n     $tblurb .= \"        if (ows.length &gt; 1) { \\n\";<br \/>\n     $tblurb .= \"         owstwo=ows[1].substring(1).split(ows[1].substring(0,1)); \\n\";<br \/>\n     $tblurb .= \"         window.open(owstwo[0], '_blank'); \\n\";<br \/>\n     $tblurb .= \"        } \\n\";<br \/>\n     $tblurb .= \"      } \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"     hones=docgetclass('nav-previous', 'div'); \\n\";<br \/>\n     $tblurb .= \"     if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     $tblurb .= \"     } else { \\n\";<br \/>\n     $tblurb .= \"      preprecc('wopenall');  \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"    } \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     if (hl == 0) { \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"      location.href = '\" . str_replace(\"wopenall=\", \"wopenallwas=\", $furl) . \"'; \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     }  \\n\";<br \/>\n     $tblurb .= \"   } \\n\";<br \/>\n    }<br \/>\n    echo $tblurb;<br \/>\n }<br \/>\n?&gt;<br \/>\n}<br \/>\n<\/b><br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body onload=\"<b>precc(); <\/b>courseCookies();\" &lt;?php body_class(); ?&gt;&gt;<br \/>\n<\/code><\/p>\n<hr>\n<p id='wbswaspt'>Previous relevant <a target=_blank title='WordPress Blog Search Within a Search Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-a-search-primer-tutorial\/'>WordPress Blog Search Within a Search Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"WordPress Blog Search Within a Search Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/SearchWithinSearch.jpg\" title=\"WordPress Blog Search Within a Search Primer Tutorial\"   \/><\/a><p class=\"wp-caption-text\">WordPress Blog Search Within a Search Primer Tutorial<\/p><\/div>\n<p>You know how you often find yourself, while surfing the web, wanting to &#8220;filter a search&#8221; within that web page&#8217;s search functionality (or maybe you think of it as &#8220;search within a search&#8221;) which you do.  Well, yesterday&#8217;s (WordPress Blog amendment) work at <a target=_blank title='AppleScript Surfing Primer Tutorial' href='#aspt'>AppleScript Surfing Primer Tutorial<\/a> as shown below, set me to thinking of how it could be done at this WordPress Blog, and yes, yesterday&#8217;s work was a start in the same direction.<\/p>\n<p>The thinking has some resemblances to the <a target=_blank title='WordPress Blog Oldest Link Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-oldest-link-primer-tutorial\/'>Oldest Post<\/a> work we did some time back, but is different enough that we did this job differently.<\/p>\n<p>Perhaps we&#8217;d best explain what we mean with an example.  We end up arriving at what we want (which is the <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=8952' title='HTML\/Javascript Probability Game Tutorial'>&#8220;Probability Game&#8221;<\/a> we wrote) by &#8230;<\/p>\n<ol>\n<li>tag by &#8220;mathematics&#8221; &#8230;<\/li>\n<li>filter (the blog title) by &#8221; probability&#8221; &#8230; which you can try with <a target=_blank title=\"tag=mathematics then search for ' probability'\" href=\"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=mathematics&#038;wopenall=%20probability\">this link<\/a><\/li>\n<\/ol>\n<p> &#8230; and hone in exactly on what we want, much better than with the traditional search box method resulting in ( at the time of writing was 8 ) &#8230; <a target=_blank title=\"Traditional search of ' probability'\" href=\"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=%20probability\">here<\/a>.<\/p>\n<p>And so, can you see the power of that first instinctive feeling you might have had, like, &#8220;I wish we could filter the search&#8221;.  Often that &#8220;first instinctive feeling&#8221; is both the correct one to go by, and the best one to implement.<\/p>\n<p>This type of improvement is often arrived at by opening up your software for user acceptance, because it is amazing how many ideas come out of testing the software with lots of users, if this is possible.  This is often called &#8220;user acceptance testing&#8221;.<\/p>\n<p>So, it behoves us to show the <b>bold<\/b> changes to the WordPress header.php (our usual &#8220;suspect&#8221;) below, suiting both permalink URL (WordPress 4.1.1) scenarios and non-permalink URL (WordPress 3.0.3) scenarios &#8230;<\/p>\n<p><code><br \/>\n<b><br \/>\nvar spc=' ', cminus='-', fmtname='w411tform', fmcname='w411cform', edelim='\/';<br \/>\nfunction preprecc(inidea) { \/\/ wopenallwas= form<br \/>\n&lt;?php<br \/>\n $tblurbwas=\"\";<br \/>\n if (isset($_GET['wopenallwas']) || isset($_GET['wopenall'])) {<br \/>\n     $tblurbwas = \"  var ourwovwas=location.search.split(inidea + '=')[1] ? location.search.split(inidea + '=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurbwas .= \"  if (ourwovwas != ' ') { \\n\";<br \/>\n     $tblurbwas .= \"   document.body.innerHTML = '&lt;div align=\\\"center\\\" style=\\\"background-color: yellow;\\\"&gt;&lt;table cellpadding=25 cellspacing=25&gt;&lt;tr&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 3.0.3&lt;br&gt;&lt;br&gt;&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" name=\\\"tag\\\" id=\\\"tag\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form action=\\\"http:\/\/www.rjmprogramming.com.au\/wordpress\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (numerical): &lt;input type=\\\"number\\\" name=\\\"cat\\\" id=\\\"cat\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;td style=\\\"border: 5px green solid; margin: 6 6 6 6;\\\"&gt;&nbsp;WordPress 4.1.1&lt;br&gt;&lt;br&gt;&lt;form id=\\\"w411tform\\\" action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/\\\" method=\\\"GET\\\"&gt;&nbsp;Tag (alpha): &lt;input type=\\\"text\\\" onblur=\\\" document.getElementById(fmtname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Tag Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;' + '&lt;form id=\\\"w411cform\\\"  action=\\\"https:\/\/www.rjmprogramming.com.au\/ITblog\/category\/\\\" method=\\\"GET\\\"&gt;&nbsp;Category (alpha): &lt;input onblur=\\\" document.getElementById(fmcname).action+=this.value.toLowerCase().replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus).replace(spc,cminus) + edelim; \\\" type=\\\"text\\\" \/&gt;&lt;br&gt;&lt;br&gt;&nbsp;Optional Search Blog Title for: &lt;input type=\\\"text\\\" name=\\\"wopenall\\\" id=\\\"wopenall\\\" \/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&nbsp;&lt;input type=\\\"submit\\\" value=\\\"Find Category Blog Postings\\\" \/&gt;&lt;\/form&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;' + document.body.innerHTML;  \\n\";<br \/>\n     $tblurbwas .= \"  } \\n\";<br \/>\n }<br \/>\n echo $tblurbwas;<br \/>\n?&gt;<br \/>\n}<br \/>\nfunction precc() { \/\/ wopenall= functionality<br \/>\n preprecc('wopenallwas');<br \/>\n&lt;?php<br \/>\n $tblurb=\"\";<br \/>\n if (isset($_GET['wopenall'])) {<br \/>\n    $tpage=1;<br \/>\n    $furl=\"\";<br \/>\n    $sru=explode(\"?\", $_SERVER['REQUEST_URI']);<br \/>\n    if (isset($_GET['paged'])) {<br \/>\n      $tpage=$_GET['paged'];<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=\" . ($tpage + 1), $_SERVER['QUERY_STRING']);<br \/>\n      $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"paged=\" . $tpage, \"paged=1\", $_SERVER['QUERY_STRING']);<br \/>\n    } else if (isset($_GET['tag']) || isset($_GET['cat']) || isset($_GET['s'])) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=2\";<br \/>\n      if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . $_SERVER['QUERY_STRING'] . \"&paged=1\";<br \/>\n    } else if (strpos(\"\/wordpress\/\", $_SERVER['REQUEST_URI']) !== false) {<br \/>\n      $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"?\" . str_replace(\"wopenall=\", \"s=\", $_SERVER['QUERY_STRING']);<br \/>\n      $tblurb = \"      location.href='\" . $nurl . \"'; \\n\";<br \/>\n    } else {<br \/>\n      $tstuff=explode(\"page\/\", $sru[0]);<br \/>\n      if (sizeof($tstuff) &gt; 1) {<br \/>\n       $tstu=explode(\"\/\", $tstuff[1]);<br \/>\n       $tpage=$tstu[0];<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/\" . ($tpage + 1), $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . str_replace(\"\/\" . $tpage, \"\/1\", $sru[0]) . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      } else {<br \/>\n       $nurl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/2\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n       if (1 == 2) $furl = \"http:\/\/\" . $_SERVER['SERVER_NAME'] . \":\" . $_SERVER['SERVER_PORT'] . $sru[0] . \"\/page\/1\/\" . \"?\" . $_SERVER['QUERY_STRING'];<br \/>\n      }<br \/>\n    }<br \/>\n    if ($tblurb == \"\") {<br \/>\n     $tblurb = \"  var ourwov=location.search.split('wopenall=')[1] ? location.search.split('wopenall=')[1].split('&')[0] : ' '; \\n\";<br \/>\n     $tblurb .= \"  var ows, owstwo, iot, hl=1; \\n\";<br \/>\n     $tblurb .= \"   if (ourwov != ' ') { \\n\";<br \/>\n     $tblurb .= \"    var hones=docgetclass('entry-title', 'h1'); \\n\";<br \/>\n     $tblurb .= \"    hl=hones.length; \\n\";<br \/>\n     $tblurb .= \"    if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"     for (iot=0; iot&lt;hones.length; iot++) { \\n\";<br \/>\n     $tblurb .= \"      if (hones[iot].innerHTML.indexOf('Not Found') != -1) hl=eval(-1 + hl); \\n\";<br \/>\n     $tblurb .= \"      if (ourwov == '' || hones[iot].innerHTML.toLowerCase().indexOf(decodeURIComponent(ourwov.replace('+', '%20').replace('+', '%20').replace('+', '%20').replace('+', '%20').toLowerCase())) != -1) { \\n\";<br \/>\n     $tblurb .= \"        ows=hones[iot].innerHTML.split('href='); \\n\";<br \/>\n     $tblurb .= \"        if (ows.length &gt; 1) { \\n\";<br \/>\n     $tblurb .= \"         owstwo=ows[1].substring(1).split(ows[1].substring(0,1)); \\n\";<br \/>\n     $tblurb .= \"         window.open(owstwo[0], '_blank'); \\n\";<br \/>\n     $tblurb .= \"        } \\n\";<br \/>\n     $tblurb .= \"      } \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"     hones=docgetclass('nav-previous', 'div'); \\n\";<br \/>\n     $tblurb .= \"     if (hones.length &gt; 0) { \\n\";<br \/>\n     $tblurb .= \"      location.href = '\" . $nurl . \"'; \\n\";<br \/>\n     $tblurb .= \"     } else { \\n\";<br \/>\n     $tblurb .= \"      preprecc('wopenall');  \\n\";<br \/>\n     $tblurb .= \"     } \\n\";<br \/>\n     $tblurb .= \"    } \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     if (hl == 0) { \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"      location.href = '\" . str_replace(\"wopenall=\", \"wopenallwas=\", $furl) . \"'; \\n\";<br \/>\n     if ($furl != \"\") $tblurb .= \"     }  \\n\";<br \/>\n     $tblurb .= \"   } \\n\";<br \/>\n    }<br \/>\n    echo $tblurb;<br \/>\n }<br \/>\n?&gt;<br \/>\n}<br \/>\n<\/b><br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body onload=\"<b>precc(); <\/b>courseCookies();\" &lt;?php body_class(); ?&gt;&gt;<br \/>\n<\/code><\/p>\n<p>You&#8217;ll see that PHP and Javascript are great to use together, to the point, often, you forget that PHP is not with you there when the messaging reaches the client &#8230; but the pre-emptive <i>&#8220;if&#8221;<\/i>ing you can do, can make it appear that it is wiser than it is.<\/p>\n<p>So, if you get what is required URL-wise, go for it, else try a &#8220;tag&#8221; or &#8220;category&#8221; search on this blog and add to the address bar &#8220;?wopenall=[OptionalSearchOfBlogPostingTitleFilterString]&#8221; to try all this out, if you like, for our &#8220;filtered search&#8221; (or &#8220;search within a search&#8221;) functionality today.<\/p>\n<hr>\n<p id='aspt'>Previous relevant <a target=_blank title='AppleScript Surfing Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/applescript-surfing-primer-tutorial\/'>AppleScript Surfing Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/AppleScriptEditor\/AppleScript_Surfing.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"AppleScript Surfing Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/AppleScriptEditor\/AppleScript_Surfing.jpg\" title=\"AppleScript Surfing Primer Tutorial\"   \/><\/a><p class=\"wp-caption-text\">AppleScript Surfing Primer Tutorial<\/p><\/div>\n<p>What AutoHotKey is as a recording piece of functionality for Windows is, AppleScript is Mac OS X&#8217;s recording functionality equivalent.<\/p>\n<p>Today we shaped to want to show you the equivalent functionality AutoHotKey achieved surfing the net with Internet Explorer as shown below with <a target=_blank title='AutoHotKey Surfing ASP.Net Primer Tutorial' href='#asapt'>AutoHotKey Surfing ASP.Net Primer Tutorial<\/a> on a Mac (using Mac OS X Mavericks) and using Firefox, and ran into a roadblock that is either that AppleScript is not as featureful as AutoHotKey, or we&#8217;re not up to the AppleScript smarts required.  So we compromised and changed the WordPress blog code&#8217;s header.php to help out, some of the way, to helping via the <b>bold<\/b> changes below &#8230;<\/p>\n<p><code><br \/>\n<b><br \/>\nfunction precc() {<br \/>\n var ourwov=location.search.split('wopenall=')[1] ? location.search.split('wopenall=')[1].split('&')[0] : ' ';<br \/>\n var ows, owstwo, iot;<br \/>\n if (ourwov != ' ') {<br \/>\n  var hones=docgetclass(\"entry-title\", \"h1\");<br \/>\n  if (hones.length &gt; 0) {<br \/>\n   for (iot=0; iot&lt;hones.length; iot++) {<br \/>\n    if (ourwov == \"\" || hones[iot].innerHTML.toLowerCase().indexOf(ourwov.toLowerCase()) != -1) {<br \/>\n      ows=hones[iot].innerHTML.split(\"href=\");<br \/>\n      if (ows.length &gt; 1) {<br \/>\n       owstwo=ows[1].substring(1).split(ows[1].substring(0,1));<br \/>\n       window.open(owstwo[0], \"_blank\");<br \/>\n      }<br \/>\n    }<br \/>\n   }<br \/>\n  }<br \/>\n }<br \/>\n}<br \/>\n<\/b><br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body onload=\"<b>precc(); <\/b>courseCookies();\" &lt;?php body_class(); ?&gt;&gt;<br \/>\n<\/code><\/p>\n<p> &#8230; which make the <i>open location &#8230;<\/i> statement of our AppleScript script as below &#8230;<\/p>\n<p><code><br \/>\ntell application \"Finder\"<br \/>\n\tactivate<br \/>\n\tset target of Finder window 1 to folder \"Applications\" of startup disk<br \/>\n\tset name of application file \"Firefox.app\" of folder \"Applications\" of startup disk to \"Firefox.app\"<br \/>\n\topen application file \"Firefox.app\" of folder \"Applications\" of startup disk<br \/>\n\tdelay 4<br \/>\n\topen location \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/applescript?wopenall=applescript\"<br \/>\nend tell<br \/>\n<\/code><\/p>\n<p> &#8230; be more meaningful with the <i>?wopenall=applescript<\/i> being used to open the first page worth of blog posting links be opened as new tab web pages in Firefox &#8230; semi-cute, huh?!<\/p>\n<p>So if you have a Mac and Mac OS X and have the Firefox web browser installed and you look in Applications-&gt;Utilities and find the AppleScript Editor why not try <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/AppleScriptEditor\/FirefoxBrowser.txt_GETME\" title='FirefoxBrowser.scpt'>FirefoxBrowser.scpt<\/a> or see what happens with <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/AppleScriptEditor\/AppleScript_Surfing.jpg\">today&#8217;s tutorial picture<\/a> or just see the use, in isolation, of the WordPress changes with <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/applescript?wopenall=applescript\" title='WordPress changes'>this link<\/a>.<\/p>\n<hr>\n<p id='asapt'>Previous relevant <a target=_blank title='AutoHotKey Surfing ASP.Net Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/autohotkey-surfing-asp-net-primer-tutorial\/'>AutoHotKey Surfing ASP.Net Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/ASPNet\/AutoHotKeySurf\/\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"AutoHotKey Surfing ASP.Net Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/ASPNet\/AutoHotKeySurf\/aspnet_autohotkey-32of.jpg\" title=\"AutoHotKey Surfing ASP.Net Primer Tutorial\" id='xocsa' onmouseover=\" this.src=this.src.replace('-11of.j', '-12of.xj').replace('-12of.j', '-13of.xj').replace('-13of.j', '-14of.xj').replace('-14of.j', '-21of.xj').replace('-21of.j', '-22of.xj').replace('-22of.j', '-31of.xj').replace('-31of.j', '-32of.xj').replace('-32of.j', '-11of.xj').replace('.x', '.');   \"  \/><\/a><p class=\"wp-caption-text\">AutoHotKey Surfing ASP.Net Primer Tutorial<\/p><\/div>\n<p>When, some time back, we talked about the &#8220;sisterly&#8221; (to today&#8217;s ASP.Net) PHP way of approaching the AutoHotKey Surfing &#8220;interface&#8221; to a web application with <a target=_blank title='AutoHotKey Surfing PHP exec Tutorial' href='#aspet'>AutoHotKey Surfing PHP exec Tutorial<\/a> as shown below, it was inferred that we might approach this, in ASP.Net (using Microsoft&#8217;s <a target=_blank title='Microsoft Visual Studio' href='https:\/\/www.visualstudio.com\/en-us\/visual-studio-homepage-vs.aspx'>Visual Studio<\/a> <a target=_blank title='Integrated Development Environment information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment'>IDE<\/a> under Windows), by using a &#8220;new Process()&#8221; technique &#8230; well, please scratch that idea &#8230; Windows security has come down pretty hard on such thoughts &#8230; so what we did today was compartmentalize more and allow the &#8220;AutoHotKey Surfing&#8221; be handled by Windows desktop techniques and has as the &#8220;interface method&#8221; the existance, or not, of files &#8230; a favourite technique for us, as much as anything because &#8220;methodologies&#8221; containing &#8220;file_exists&#8221; (or its like) are common in so many &#8220;server&#8221; programming languages &#8230; &#8220;server&#8221; not &#8220;client&#8221; &#8230; so not Javascript.<\/p>\n<p>So we have &#8230;<\/p>\n<ol>\n<li>ASP.Net (VB.Net codebehind) code you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/ASPNet\/AutoHotKeySurf\/AutoHotKey_Test.aspx_GETME\" title='AutoHotKey_Test.aspx'>AutoHotKey_Test.aspx<\/a> (or call it something better?!) &#8230; and its helper Windows (DOS) Command Line &#8230;<\/li>\n<li>Windows (DOS) Command Line batch file you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/ASPNet\/AutoHotKeySurf\/autohk.bat_GETME\" title='ask.bnat'>autohk.bat<\/a> (which is designed to keep running, and we show with today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/ASPNet\/AutoHotKeySurf\/\" title='click picture'>slideshow<\/a> which, today, doesn&#8217;t show the Task Schedular idea you might like that we showed with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/c-sorting-asp-net-primer-tutorial\/' title='C Sorting ASP.Net Primer Tutorial'>C Sorting ASP.Net Primer Tutorial<\/a>) <\/li>\n<\/ol>\n<p>As far as the code goes it assumes either the ASP.Net project will be located where the AutoHotKey compiler Ahk2Exe.exe is located or you could make the code better or it can work with the AutoHotKey compiler Ahk2Exe.exe on the computer&#8217;s PATH.  Anyway, try for yourself and if you settle on something there is the ASP.Net VB.Net <o>Dim prefix as String = &#8220;&#8221;<\/i> that would need amendment.<\/p>\n<p>Of <font size=5>more<\/font> <font size=2>than<\/font> <font size=4>somewhat<\/font> help today was <i>ASP.NET 3.5 Unleashed<\/i> by Stephen Walther &#8230; thanks.<\/p>\n<p>So please compare and contrast the server <font size=5>giants<\/font> and their software integration with some Windows operating system C.<\/p>\n<hr>\n<p id='aspet'>Previous relevant <a target=_blank title='AutoHotKey Surfing PHP exec Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/autohotkey-surfing-php-exec-tutorial\/'>AutoHotKey Surfing PHP exec Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/php_autohotkey-72of.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"C Sorting PHP exec Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/php_autohotkey-72of.jpg\" title=\"AutoHotKey Surfing PHP exec Tutorial\" id='oahk' onmouseover=\" this.src=this.src.replace('-72of.jpg', '-73of.xJPG').replace('-73of.JPG', '-51of.xjpg').replace('-51of.j', '-61of.xj').replace('-61of.jpg', '-62of.xJPG').replace('-62of.JPG', '-63of.xJPG').replace('-63of.JPG', '-72of.xjpg').replace('.x', '.');    \"  \/><\/a><p class=\"wp-caption-text\">AutoHotKey Surfing PHP exec Tutorial<\/p><\/div>\n<p>There&#8217;s another companion piece to our C &#8220;sorting&#8221; program tutorials finishing with <a target=_blank title='C Sorting PHP exec Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/c-sorting-php-exec-tutorial'>C Sorting PHP exec Tutorial<\/a> as of a couple of days ago.  And it&#8217;s a pretty important chapter if you are interested in software integration, and &#8220;meeting points&#8221;.   We talk about the &#8220;meeting point&#8221; of web and desktop applications through the use of mechanisms with the web application server language&#8217;s world &#8230; our web server language today is PHP and its <a target=_blank title='PHP exec() method information' href='http:\/\/php.net\/manual\/en\/function.exec.php'>exec<\/a> method, but it could be ASP.Net and a new Process() scenario if that&#8217;s how you roll &#8230; but it has to be Windows web hosting &#8230; as we do with some local web serving utilizing the brilliant <a target=_blank title='EasyPHP local Windows WAMP Apache\/PHP\/MySql web server landing page' href='http:\/\/www.easyphp.org'>EasyPHP<\/a> local web server &#8230; we can&#8217;t show you live on rjmprogramming.com.au domain because it is a Linux web server.   The difference today is that instead of using some C code compiled using the Digital Mars C compiler, we dynamically create a Windows executable, on the fly, using the brilliant <a target=_blank title='AutoHotKey landing page' href='http:\/\/www.autohotkey.org'>AutoHotKey<\/a> (last talked about at this blog with <a target=_blank href='#ast'>AutoHotKey StayAwake Tutorial<\/a> as shown below) and its *.ahk scripting language that can compile Windows executables for the Windows environment you find yourself in.<\/p>\n<p>The AutoHotKey script created  on the fly has behind its logic the brilliance of the code suggested at this very <a target=_blank title='Great AutoHotKey ideas link' href='http:\/\/www.autohotkey.com\/board\/topic\/92337-find-link-and-select\/'>useful link<\/a> &#8230; so, thanks.<\/p>\n<p>What happens on EasyPHP local (WAMP) Apache\/PHP\/MySql web server, under Windows, is that &#8230;<\/p>\n<ol>\n<li>we have our <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/idea.txt_GETME\" title='idea.php'>idea.php<\/a> (and you are welcome to make a better name) &#8230; in the Document Root of EasyPHP (in our case at c:\\progra~1\\EasyPHP-12.1\\www\\idea.php &#8230; or http:\/\/127.0.0.1:8887\/idea.php) &#8230; and in the same place have &#8230;<\/li>\n<li>a subdirectory called AutoHotKey containing the AutoHotKey scripting software &#8230; so that on typing http:\/\/127.0.0.1:8887\/idea.php into the Internet Explorer address bar &#8230; <\/li>\n<li>an HTML form asks about a good Tag to look for at the blog <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\" title=\"This blog\">here<\/a> and, optionally, within the blog posting titles that result, a search string to narrow down the scope &#8230; and then &#8230;<\/li>\n<li>we have the information for PHP to write out an AutoHotKey script for the purpose which PHP exec() arranges to dynamically create a Windows executable that &#8230;<\/li>\n<li>runs to open an Internet Explorer webpage for the Tag search and any accompanying offshoot webpages for matching title search blog postings of interest &#8230; cute, huh?<\/li>\n<\/ol>\n<p>&#8220;Who&#8221; (but they&#8217;re on &#8220;second&#8221;) says desktop work is irrelevant to web applications?  After all, the server side languages interface to what the desktop world looks like &#8230; a web server operating system.  It is worth remembering that no matter how &#8220;cloudy&#8221; things get there are still web servers at the end of all these trails.<\/p>\n<hr>\n<p id='cslpt'>Previous relevant <a target=_blank title='' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/c-sorting-command-line-piping-tutorial\/'>AutoHotKey Record and Compile Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Record\/TaskMgr_MsgBox.m4v\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"AutoHotKey Record and Compile Primer Tutorial ... http:\/\/www.autohotkey.com\" src=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Record\/TaskMgr_MsgBox.jpg\" title=\"AutoHotKey Record and Compile Primer Tutorial ... http:\/\/www.autohotkey.com\"  \/><\/a><p class=\"wp-caption-text\">AutoHotKey Record and Compile Primer Tutorial ... http:\/\/www.autohotkey.com<\/p><\/div>\n<p>Have you heard of AutoHotKey?<br \/>\nIt is a Windows (desktop) application (that is quite brilliant) which can record and replay mouse and keystrokes, or assign a group of actions to a HotKey.    Anybody into procedures and the operations side of I.T. will want to know about it, am sure.  <\/p>\n<p>Our unusual* video of a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Record\/TaskMgr_MsgBox.m4v\" title=\"Click picture\">tutorial<\/a>  (which aims to start up the Windows Task Manager process and place an AutoHotKey MsgBox along with it, to allow the user to possibly close the <a target=_blank href='http:\/\/en.wikipedia.org\/wiki\/Windows_Task_Manager' title='Windows Task Manager information from Wikipedia'>Windows Task Manager<\/a> process using the AutoHotKey executable) today uses the Mac application PhotoBooth with the (video) effect called &#8220;Rollercoaster&#8221; (and set Edit->Auto Flip New Items to on (otherwise it will all be back to front!)) &#8230; am not sure of its relevance and whether you can see enough &#8230; so, if that is the case, we basically (on a Windows laptop) (* dedicated to Sydney Royal Easter Show):<\/p>\n<ol>\n<li>As a side issue, opened up a previous script (you can use Notepad) from the <i>Compiler<\/i> folder off the root <i>AutoHotKey<\/i> folder and copied some <i>MsgBox<\/i> code of interest.<\/li>\n<li>Used Windows Explorer to double click the <i>AutoScriptWriter<\/i> folder off the root <i>AutoHotKey<\/i> folder.<\/li>\n<li>Double clicked <i>AutoScriptWriter.exe<\/i>.<\/li>\n<li>At the &#8220;Initiate the following &#8216;Run&#8217; line upon Record&#8221; put <i>taskmgr<\/i><\/li>\n<li>Within the main body went Ctrl-V to paste in that code regarding <i>MsgBox<\/i><\/li>\n<li>Clicked <i>Record<\/i> button.<\/li>\n<li>Clicked anywhere in space on the Desktop.<\/li>\n<li>Clicked <i>Stop<\/i> button.<\/li>\n<li>Rearranged the lines of code such that <i>Run, taskmgr<\/i> sat up the top.<\/li>\n<li>Hit the <i>Save<\/i> button.<\/li>\n<li>Saved to the <i>Compiler<\/i> folder off the root <i>AutoHotKey<\/i> folder with the name TaskMgr_MsgBox (and it will give the default AutoHotKey extension of .ahk (for a script)).<\/li>\n<li>Used Windows Explorer to double click the <i>Compiler<\/i> folder off the root <i>AutoHotKey<\/i> folder.<\/li>\n<li>Right-clicked <i>TaskMgr_MsgBox.ahk<\/i> and chose <i>Run Script<\/i> &#8230; it worked .. great.<\/li>\n<li>Right-clicked <i>TaskMgr_MsgBox.ahk<\/i> and chose <i>Compile Script<\/i>.<\/li>\n<li>Double clicked resultant <i>TaskMgr_MsgBox.exe<\/i> (with the AutoHotKey &#8220;H&#8221; icon &#8230; cute, huh?) &#8230; it worked .. great.<\/li>\n<li>That resultant <i>TaskMgr_MsgBox.exe<\/i> is like any other Windows (desktop) executable that can be mapped to a shortcut or added to a taskbar or menu or be mapped to a keyboard shortcut, or be called by a .bat script, or be placed in a user Startup Programs directory, or be the activated program of a <a target=_blank href='http:\/\/en.wikipedia.org\/wiki\/Windows_Task_Scheduler' title='Windows Task Schedular information from Wikipedia'>Windows Task Schedular<\/a> task, or be forked by another Windows executable, for any future use.<\/li>\n<\/ol>\n<p>Here is a link for some downloadable programming AutoHotKey script source code you could rename to <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Record\/TaskMgr_MsgBox.ahk_GETME\" title=\"TaskMgr_MsgBox.ahk\">TaskMgr_MsgBox.ahk<\/a><\/p>\n<p>Here is a <a target=_blank title='AutoHotKey MsgBox' href='http:\/\/www.autohotkey.com\/docs\/commands\/MsgBox.htm'>link<\/a> for more information regarding AutoHotKey&#8217;s MsgBox functionality &#8230; and a lead in for a lot of other AutoHotKey functionality documentation &#8230; a feast of brilliant Windows application information.<\/p>\n<p>Here is a link to the home of <a target=_blank title='AutoHotKey' href='http:\/\/www.autohotkey.com'>AutoHotKey<\/a>.<\/p>\n<hr>\n<p id='ast'>Previous relevant <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4296'>AutoHotKey StayAwake Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/StayAwake\/\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"AutoHotKey StayAwake Tutorial ... http:\/\/www.autohotkey.com\" src=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/StayAwake\/AutoHotKey_StayAwake-36of.jpg\" title=\"AutoHotKey StayAwake Tutorial ... http:\/\/www.autohotkey.com\"  \/><\/a><p class=\"wp-caption-text\">AutoHotKey StayAwake Tutorial ... http:\/\/www.autohotkey.com<\/p><\/div>\n<p>Have you heard of AutoHotKey?<br \/>\nIt is a Windows application (that is quite brilliant) which can record and replay mouse and keystrokes, or assign a group of actions to a HotKey.    Anybody into procedures and the operations side of I.T. will want to know about it, am sure.  <\/p>\n<p>We have introduced you to AutoHotKey with this previous AutoHotKey Primer Tutorial <a href=\"#pahkpt\">here<\/a>.<\/p>\n<p>Then we went a bit further with AutoHotKey with this previous More AutoHotKey Primer Tutorial <a href=\"#mat\">here<\/a>.<\/p>\n<p>We talked about <a target=_blank title='Terminate and Stay Resident concept explained by Wikipedia ... thanks' href='http:\/\/en.wikipedia.org\/wiki\/Terminate_and_Stay_Resident'>stay-resident<\/a> programs earlier with <a target=_blank title='Menu for Windows Command Prompt Via Batch File Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4196'>Menu for Windows Command Prompt Via Batch File Tutorial<\/a>.   Our tutorial today uses AutoHotKey to create one.   It uses the ToolTip functionality of Windows to keep the cursor busy.   In the tutorial we show it being run:<\/p>\n<ul>\n<li>right-click on AutoHotKey script file<\/li>\n<li>compile script into StayAwake.exe and Run As Administrator (but you could also run it as a mere mortal!)<\/li>\n<li>copy StayAwake.exe into All Users startup programs directory, logout and login for it to stay resident<\/li>\n<\/ul>\n<p>Please enjoy our tutorial with some stay-resident approaches shown <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/StayAwake\/' title='AutoHotKey StayAwake Tutorial'>here<\/a>.  <\/p>\n<p>Link to downloadable AutoHotKey programming script file <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/StayAwake\/StayAwake.ahk_GETME' title='StayAwake.ahk'>StayAwake.ahk<\/a><\/p>\n<hr \/>\n<p id=\"mat\">Previous <a target=_blank title='More AutoHotKey Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=3606'>More AutoHotKey Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/More\/\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"More AutoHotKey Tutorial ... http:\/\/www.autohotkey.com\" src=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/More\/AutoHotKey_More-14of.jpg\" title=\"AutoHotKey Primer Tutorial ... http:\/\/www.autohotkey.com\"  \/><\/a><p class=\"wp-caption-text\">More AutoHotKey Tutorial ... http:\/\/www.autohotkey.com<\/p><\/div>\n<p>Have you heard of AutoHotKey?<br \/>\nIt is a Windows application (that is quite brilliant) which can record and replay mouse and keystrokes, or assign a group of actions to a HotKey.    Anybody into procedures and the operations side of I.T. will want to know about it, am sure.  <\/p>\n<p>We have introduced you to AutoHotKey with this previous AutoHotKey Primer Tutorial <a href=\"#pahkpt\">here<\/a>.<\/p>\n<p>On a previous tutorial Windows Command Prompt Via Batch File we introduced you to some Windows Command Prompt commands and you can see that tutorial <a target=_blank href='#pwcpvbf' title='Windows Command Prompt Via Batch File'>here<\/a>.   Our tutorial here builds on this in that the Windows Command Prompt batch file used for making that tutorial and downloadable here with rename to <a target=_blank title='Rename to xxx.bat and put into directory c:\\Users\\user\\ please' href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/More\/xxx.bat_GETME'>xxx.bat<\/a> created\/copied into c:\\Users\\user\\ please (if no good you will have to dive in and adjust redo351.ahk yourself now, and learn about the wonders of AutoHotKey!), was deliberately made so that it can be stepped through slowly by entering {ENTER} key a lot (in xxx.bat this is done by set \/p commands), and we have here the pressing of those {ENTER}s (ie. simulating answer to set \/p sleeping for 2 seconds between each one &#8230; here is your homework &#8230; make it wait for 3 seconds between each {ENTER} then compile it then rerun it) with an AutoHotKey script largely created by hand (or via leads from recordings (do you remember <a target=_blank title='Microsoft Excel VBA for CSV Primer Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=2557'>Microsoft Excel VBA for CSV Primer Tutorial<\/a> where similar thoughts were discussed as ideas for how to &#8220;get into programming&#8221;?)) and you can also download this here and rename to <a target=_blank title='Rename to xxx.bat and put into directory c:\\Users\\user\\ please ... if no good you will have to dive in and adjust redo351.ahk yourself now, and learn about the wonders of AutoHotKey!' href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/More\/redo351.ahk_GETME'>redo351.ahk<\/a> and compile to redo351.exe using AutoHotKey&#8217;s compiler.   If, when you do all that you run it and it stands there looking at you like a dead mullet it will be because your Command Prompt window for such a scenario does not end up being called &#8220;C:\\Windows\\system32\\cmd.exe&#8221; and you will need to change this throughout redo351.ahk and then recompile (after stopping previous go (with <a target=_blank title='Windows Task Manader and Command Prompt Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=1352'>Windows Task Manager<\/a> maybe)) and test again.   An AutoHotKey program called AU3_Spy.exe can help identify the names (or titles) of Windows, as required.<\/p>\n<p>Please enjoy our tutorial with some recording functionality shown as well as the little &#8220;subplot&#8221; above (where the butler actually &#8220;did it&#8221;) <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/More' title='More AutoHotKey Tutorial'>here<\/a>.   The subplot is represented by the last 6 slides of the tutorial.<\/p>\n<hr \/>\n<p id=\"pahkpt\">Previous tutorial <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=616' title='AutoHotKey Primer Tutorial'>AutoHotKey Primer Tutorial<\/a> below &#8230;<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Example\/\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"AutoHotKey Primer Tutorial ... http:\/\/www.autohotkey.com\" src=\"http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Example\/ahk_0of.png\" title=\"AutoHotKey Primer Tutorial ... http:\/\/www.autohotkey.com\"  \/><\/a><p class=\"wp-caption-text\">AutoHotKey Primer Tutorial ... http:\/\/www.autohotkey.com<\/p><\/div>\n<p>Have you heard of AutoHotKey?<\/p>\n<p>It is a Windows application (that is quite brilliant) which can record and replay mouse and keystrokes, or assign a group of actions to a HotKey.    Anybody into procedures and the operations side of I.T. will want to know about it, am sure.  <\/p>\n<p>Don&#8217;t want to show my age, but first got keen about AutoHotKey because I couldn&#8217;t believe the day  (was it when Windows 5 came out?) that Microsoft abandoned the cute program called Recorder, that came with Windows.  For myself, this was a moment of deep mourning, like when <a target=_blank title='Second half is not worth watching!' href='https:\/\/www.youtube.com\/watch?v=T52404rbsa0'>Collingwood lost to Carlton in the 1970 Grand Final<\/a>.<\/p>\n<p>In this primer  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey\/Example\/'>tutorial<\/a> see a brief install then a record-compile-replay cycle.<br \/>\nIn this link you can look at some of the <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/AutoHotKey' title='AutoHotKey usage'>personal usage<\/a> of AutoHotKey.\n<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d616' onclick='var dv=document.getElementById(\"d616\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=AutoHotKey\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d616' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d3606' onclick='var dv=document.getElementById(\"d3606\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=AutoHotKey\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d3606' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d4296' onclick='var dv=document.getElementById(\"d4296\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=AutoHotKey\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d4296' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d7239' onclick='var dv=document.getElementById(\"d7239\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=AutoHotKey\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d7239' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16184' onclick='var dv=document.getElementById(\"d16184\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=PHP\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16184' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16251' onclick='var dv=document.getElementById(\"d16251\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=ASP.NET\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16251' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16251' onclick='var dv=document.getElementById(\"d16251\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=applescript\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16251' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16382' onclick='var dv=document.getElementById(\"d16382\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=wordpress\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16382' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16418' onclick='var dv=document.getElementById(\"d16418\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=radio-button\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16418' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16440' onclick='var dv=document.getElementById(\"d16440\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=ux\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16440' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16477' onclick='var dv=document.getElementById(\"d16477\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=ajax\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16477' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d16500' onclick='var dv=document.getElementById(\"d16500\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=javascript\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d16500' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Thought we were finished with &#8220;filter a search&#8221; (or &#8220;search within a search&#8221;) ideas yesterday &#8230; but how wrong were we? That wasn&#8217;t rhetorical. Okay &#8230; be like that. Anyway, we realised with today&#8217;s work continuing on from yesterday&#8217;s WordPress &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-search-within-search-overlay-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[69,151,281,367,400,431,576,1659,652,1631,861,1660,1661,894,917,932,983,997,1024,1110,1268,1319,1324,1345,1348,1350,1356,1456],"class_list":["post-16500","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-ajax","tag-blog","tag-css","tag-dropdown","tag-event","tag-filter","tag-html","tag-implementation","tag-javascript","tag-onchange","tag-onclick","tag-onmoueover","tag-onmouseout","tag-overlay","tag-permalink","tag-php","tag-preview","tag-programming","tag-radio-button","tag-search","tag-theme","tag-tutorial","tag-twentyten","tag-url","tag-user-acceptance","tag-user-experience","tag-ux","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/16500"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=16500"}],"version-history":[{"count":7,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/16500\/revisions"}],"predecessor-version":[{"id":16507,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/16500\/revisions\/16507"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=16500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=16500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=16500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}