%args>
$thingstring
$qa => $m->caller_args(1)->{'qa'}
%args>
Enter route (islands, or archipelagoes, separated by |s or commas;
abbreviations are OK):
<&| script &>
ts_uri= "check_<% $thingstring %>?format=json&type=text/xml"
+ "&ocean=<% uri_escape($qa->{Ocean}) %>";
ts_timeout=false;
ts_request=false;
ts_done='';
ts_needed='';
function ts_Later(){
window.clearTimeout(ts_timeout);
ts_timeout = window.setTimeout(ts_Needed, 500);
}
function ts_Needed(){
window.clearTimeout(ts_timeout);
ts_element= document.getElementById('<% $thingstring %>');
ts_needed= ts_element.value;
ts_Request();
}
function ts_Request(){
if (ts_request || ts_needed==ts_done) return;
ts_done= ts_needed;
ts_request= new XMLHttpRequest();
uri= ts_uri+'&string='+encodeURIComponent(ts_needed);
ts_request.open('GET', uri);
ts_request.onreadystatechange= ts_Ready;
ts_request.send(null);
}
function ts_Ready() {
if (ts_request.readyState != 4) return;
if (ts_request.status == 200) {
response= ts_request.responseText;
eval('results='+response);
toedit= document.getElementById('ts_results');
toedit.innerHTML= results.show;
}
ts_request= false;
ts_Request();
}
window.onload= ts_Needed;
&script>
content %>
id="<% $thingstring %>" name="<% $thingstring %>"
onchange="ts_Needed();" onkeyup="ts_Later();"
value="<% $qa->{$thingstring} |h %>"
>