5 #my $action = exists $opt{'action'} ? $opt{'action'} : 'GET';
6 #my @subs = @{ $opt{'subs'};
8 $url .= ( ($url =~ /\?/) ? '&' : '?' ).
13 <SCRIPT TYPE="text/javascript">
15 function rs_init_object() {
18 A=new ActiveXObject("Msxml2.XMLHTTP");
21 A=new ActiveXObject("Microsoft.XMLHTTP");
26 if(!A && typeof XMLHttpRequest != "undefined")
27 A = new XMLHttpRequest();
29 alert("Can't create XMLHttpRequest object");
34 <% foreach my $func ( @{$opt{'subs'}} ) {
36 my $furl = $url . uri_escape($func);
37 $furl =~ s/\"/\\\\\"/; #javascript escape
41 function <%=$func%>() {
42 // count args; build URL
43 var url = "<%=$furl%>";
44 var a = <%=$func%>.arguments;
47 if ( a && typeof a == 'object' && a[0].constructor == Array ) {
52 len = args.length - 1;
54 for (var i = 0; i < len; i++)
55 url = url + "&arg=" + escape(args[i]);
56 url = url.replace( /[+]/g, '%2B'); // fix the unescaped plus signs
57 var xmlhttp = rs_init_object();
58 xmlhttp.open("GET", url, true);
59 xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
60 xmlhttp.onreadystatechange = function() {
61 if (xmlhttp.readyState != 4)
63 //rs_debug("received " + x.responseText);
65 if (xmlhttp.status != 200) {
66 alert(xmlhttp.status + " status connecting to " + url);
68 var data = xmlhttp.responseText;
73 //rs_debug("x_$func_name url = " + url);
74 //rs_debug("x_$func_name waiting..");