diff options
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/jsrsServer.html | 5 | ||||
-rw-r--r-- | httemplate/elements/overlibmws_draggable.js | 78 | ||||
-rw-r--r-- | httemplate/elements/overlibmws_iframe.js | 93 | ||||
-rw-r--r-- | httemplate/elements/progress-init.html | 20 | ||||
-rw-r--r-- | httemplate/elements/progress-popup.html | 22 | ||||
-rw-r--r-- | httemplate/elements/select-agent.html | 24 | ||||
-rw-r--r-- | httemplate/elements/select-month_year.html | 50 | ||||
-rw-r--r-- | httemplate/elements/select-taxclass.html | 42 | ||||
-rw-r--r-- | httemplate/elements/small_custview.html | 2 | ||||
-rw-r--r-- | httemplate/elements/table-grid.html | 8 | ||||
-rw-r--r-- | httemplate/elements/tr-input-beginning_ending.html | 39 | ||||
-rw-r--r-- | httemplate/elements/tr-select-agent.html | 29 | ||||
-rw-r--r-- | httemplate/elements/xmlhttp.html | 109 |
13 files changed, 13 insertions, 508 deletions
diff --git a/httemplate/elements/jsrsServer.html b/httemplate/elements/jsrsServer.html index fd6dc5465..d6d537070 100644 --- a/httemplate/elements/jsrsServer.html +++ b/httemplate/elements/jsrsServer.html @@ -1,3 +1,4 @@ <% - my $server = new FS::UI::Web::JSRPC '', $cgi; -%><%= $server->process %> +my $server = new FS::UI::Web::JSRPC; +$server->process; +%> diff --git a/httemplate/elements/overlibmws_draggable.js b/httemplate/elements/overlibmws_draggable.js deleted file mode 100644 index 14e4a6062..000000000 --- a/httemplate/elements/overlibmws_draggable.js +++ /dev/null @@ -1,78 +0,0 @@ -/*
- overlibmws_draggable.js plug-in module - Copyright Foteos Macrides 2002=2005
- For support of the DRAGGABLE feature.
- Initial: August 24, 2002 - Last Revised: January 12, 2005
- See the Change History and Command Reference for overlibmws via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
-*/
-
-OLloaded=0;
-OLregCmds('draggable');
-
-// DEFAULT CONFIGURATION
-if(OLud('draggable'))var ol_draggable=0;
-// END CONFIGURATION
-
-var o3_draggable=0,o3_dragging=0,OLmMv,OLcX,OLcY,OLcbX,OLcbY;
-function OLloadDraggable(){OLload('draggable');}
-function OLparseDraggable(pf,i,ar){
-var k=i;
-if(k<ar.length){if(Math.abs(ar[k])==DRAGGABLE){OLtoggle(ar[k],pf+'draggable');return k;}}
-return -1;
-}
-
-function OLcheckDrag(){
-if(o3_draggable){if(o3_sticky&&(o3_frame==self))initDrag();else o3_draggable=0;}
-}
-function initDrag(){
-OLmMv=OLdw.onmousemove;o3_dragging=0;
-if(OLns4){document.captureEvents(Event.MOUSEDOWN|Event.CLICK);
-document.onmousedown=OLgrabEl;;document.onclick=function(e){return routeEvent(e);}}
-else{over.onmousedown=OLgrabEl;OLsetDrgCur(1);}
-}
-function OLsetDrgCur(d){if(!OLns4)over.style.cursor=(d?'move':'auto');}
-
-function OLgrabEl(e){
-var e=(e||event);
-var cKy=(OLns4?e.modifiers&Event.ALT_MASK:(!OLop7?e.altKey:e.ctrlKey));o3_dragging=1;
-if(cKy){OLsetDrgCur(0);document.onmouseup=function(){OLsetDrgCur(1);o3_dragging=0;}
-return(OLns4?routeEvent(e):true);}
-OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
-if(OLie4)over.onselectstart=function(){return false;}
-if(OLns4){OLcX=OLx;OLcY=OLy;document.captureEvents(Event.MOUSEUP)}else{
-OLcX=OLx-(OLns4?over.left:parseInt(over.style.left));
-OLcY=OLy-(OLns4?over.top:parseInt(over.style.top));
-if((OLshadowPI)&&bkdrop&&o3_shadow){OLcbX=OLx-(parseInt(bkdrop.style.left));
-OLcbY=OLy-(parseInt(bkdrop.style.top));}}OLdw.onmousemove=OLmoveEl;
-document.onmouseup=function(){
-if(OLie4)over.onselectstart=null;o3_dragging=0;OLdw.onmousemove=OLmMv;}
-return(OLns4?routeEvent(e):false);
-}
-
-function OLmoveEl(e){
-var e=(e||event);
-OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
-if(o3_dragging){if(OLns4){over.moveBy(OLx-OLcX,OLy-OLcY);
-if(OLshadowPI&&bkdrop&&o3_shadow)bkdrop.moveBy(OLx-OLcX,OLy-OLcY);}
-else{OLrepositionTo(over,OLx-OLcX,OLy-OLcY);
-if((OLiframePI)&&OLie55&&OLifsP1)OLrepositionTo(OLifsP1,OLx-OLcX,OLy-OLcY);
-if((OLshadowPI)&&bkdrop&&o3_shadow){OLrepositionTo(bkdrop,OLx-OLcbX,OLy-OLcbY);
-if((OLiframePI)&&OLie55&&OLifsSh)OLrepositionTo(OLifsSh,OLx-OLcbX,OLy-OLcbY);}}
-if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}if(OLns4){OLcX=OLx;OLcY=OLy;}
-return false;
-}
-
-function OLclearDrag(){
-if(OLns4){document.releaseEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.CLICK);
-document.onmousedown=document.onclick=null;}else{over.onmousedown=null;OLsetDrgCur(0);}
-document.onmouseup=null;o3_dragging=0;
-}
-
-OLregRunTimeFunc(OLloadDraggable);
-OLregCmdLineFunc(OLparseDraggable);
-
-OLdraggablePI=1;
-OLloaded=1;
diff --git a/httemplate/elements/overlibmws_iframe.js b/httemplate/elements/overlibmws_iframe.js deleted file mode 100644 index e3032f2ee..000000000 --- a/httemplate/elements/overlibmws_iframe.js +++ /dev/null @@ -1,93 +0,0 @@ -/*
- overlibmws_iframe.js plug-in module - Copyright Foteos Macrides 2003-2005
- Masks system controls to prevent obscuring of popops for IE v5.5 or higher.
- Initial: October 19, 2003 - Last Revised: May 15, 2005
- See the Change History and Command Reference for overlibmws via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
-*/
-
-OLloaded=0;
-
-var OLifsP1=null,OLifsSh=null,OLifsP2=null;
-
-// IFRAME SHIM SUPPORT FUNCTIONS
-function OLinitIfs(){
-if(!OLie55)return;
-if((OLovertwoPI)&&over2&&over==over2){
-var o=o3_frame.document.all['overIframeOvertwo'];
-if(!o||OLifsP2!=o){OLifsP2=null;OLgetIfsP2Ref();}return;}
-o=o3_frame.document.all['overIframe'];
-if(!o||OLifsP1!=o){OLifsP1=null;OLgetIfsRef();}
-if((OLshadowPI)&&o3_shadow){o=o3_frame.document.all['overIframeShadow'];
-if(!o||OLifsSh!=o){OLifsSh=null;OLgetIfsShRef();}}
-}
-
-function OLsetIfsRef(o,i,z){
-o.id=i;o.src='javascript:false;';o.scrolling='no';var os=o.style;
-os.position='absolute';os.top=0;os.left=0;os.width=1;os.height=1;os.visibility='hidden';
-os.zIndex=over.style.zIndex-z;os.filter='Alpha(style=0,opacity=0)';
-}
-
-function OLgetIfsRef(){
-if(OLifsP1||!OLie55)return;
-OLifsP1=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsP1,'overIframe',2);
-o3_frame.document.body.appendChild(OLifsP1);
-}
-
-function OLgetIfsShRef(){
-if(OLifsSh||!OLie55)return;
-OLifsSh=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsSh,'overIframeShadow',3);
-o3_frame.document.body.appendChild(OLifsSh);
-}
-
-function OLgetIfsP2Ref(){
-if(OLifsP2||!OLie55)return;
-OLifsP2=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsP2,'overIframeOvertwo',1);
-o3_frame.document.body.appendChild(OLifsP2);
-}
-
-function OLsetDispIfs(o,w,h){
-var os=o.style;
-os.width=w+'px';os.height=h+'px';os.clip='rect(0px '+w+'px '+h+'px 0px)';
-o.filters.alpha.enabled=true;
-}
-
-function OLdispIfs(){
-if(!OLie55)return;
-var wd=over.offsetWidth,ht=over.offsetHeight;
-if(OLfilterPI&&o3_filter&&o3_filtershadow){wd+=5;ht+=5;}
-if((OLovertwoPI)&&over2&&over==over2){
-if(!OLifsP2)return;
-OLsetDispIfs(OLifsP2,wd,ht);return;}
-if(!OLifsP1)return;
-OLsetDispIfs(OLifsP1,wd,ht);
-if((!OLshadowPI)||!o3_shadow||!OLifsSh)return;
-OLsetDispIfs(OLifsSh,wd,ht);
-}
-
-function OLshowIfs(){
-if(OLifsP1){OLifsP1.style.visibility="visible";
-if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="visible";}
-}
-
-function OLhideIfs(o){
-if(!OLie55||o!=over)return;
-if(OLifsP1)OLifsP1.style.visibility="hidden";
-if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="hidden";
-}
-
-function OLrepositionIfs(X,Y){
-if(OLie55){if((OLovertwoPI)&&over2&&over==over2){
-if(OLifsP2)OLrepositionTo(OLifsP2,X,Y);}
-else{if(OLifsP1){OLrepositionTo(OLifsP1,X,Y);if((OLshadowPI)&&o3_shadow&&OLifsSh)
-OLrepositionTo(OLifsSh,X+o3_shadowx,Y+o3_shadowy);}}}
-}
-
-OLiframePI=1;
-OLloaded=1;
diff --git a/httemplate/elements/progress-init.html b/httemplate/elements/progress-init.html index 7844f5678..a8268c12c 100644 --- a/httemplate/elements/progress-init.html +++ b/httemplate/elements/progress-init.html @@ -11,14 +11,8 @@ } %> -<%= include('/elements/xmlhttp.html', - 'method' => 'POST', - 'url' => $action, - 'subs' => [ 'start_job' ], - ) -%> +<SCRIPT TYPE="text/javascript" SRC="../elements/jsrsClient.js"></SCRIPT> <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_iframe.js"></SCRIPT> <SCRIPT TYPE="text/javascript"> function OLiframeContent(src, width, height, name) { return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"' @@ -28,8 +22,6 @@ function OLiframeContent(src, width, height, name) { function <%=$key%>process () { - //alert('<%=$key%>process for form <%=$formname%>'); - document.<%=$formname%>.submit.disabled=true; overlib( 'Submitting job to server...', WIDTH, 432, HEIGHT, 136, CAPTION, 'Please wait...', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', CLOSECLICK, MIDX, 0, MIDY, 0 ); @@ -43,10 +35,8 @@ function <%=$key%>process () { ) { if ( field.type == 'select-multiple' ) { - //alert('select-multiple ' + field.name); for (var j=0; j < field.options.length; j++) { if ( field.options[j].selected ) { - //alert(field.name + ' => ' + field.options[j].value); Hash[x++] = field.name; Hash[x++] = field.options[j].value; } @@ -63,12 +53,8 @@ function <%=$key%>process () { } } - // jsrsPOST = true; - // jsrsExecute( '<%= $action %>', <%=$key%>myCallback, 'start_job', Hash ); - - //alert('start_job( ' + Hash + ', <%=$key%>myCallback )' ); - //alert('start_job()' ); - start_job( Hash, <%=$key%>myCallback ); + jsrsPOST = true; + jsrsExecute( '<%= $action %>', <%=$key%>myCallback, 'start_job', Hash ); } diff --git a/httemplate/elements/progress-popup.html b/httemplate/elements/progress-popup.html index 200f97d9b..20bb5fc5a 100644 --- a/httemplate/elements/progress-popup.html +++ b/httemplate/elements/progress-popup.html @@ -10,35 +10,25 @@ </HEAD> <BODY BGCOLOR="#ccccff" onLoad="refreshStatus()"> -<%= include('/elements/xmlhttp.html', - 'url' => $p.'elements/jsrsServer.html', - 'subs' => [ 'job_status' ], - ) -%> +<SCRIPT TYPE="text/javascript" SRC="../elements/jsrsClient.js"></SCRIPT> <SCRIPT TYPE="text/javascript" src="../elements/qlib/control.js"></SCRIPT> <SCRIPT TYPE="text/javascript" src="../elements/qlib/imagelist.js"></SCRIPT> <SCRIPT TYPE="text/javascript" src="../elements/qlib/progress.js"></SCRIPT> <SCRIPT TYPE="text/javascript"> function refreshStatus () { - //jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' ); - - job_status( '<%= $jobnum %>', updateStatus ); + jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' ); } function updateStatus( status_statustext ) { - - //var Array = status_statustext.split("\n"); - var statusArray = eval('(' + status_statustext + ')'); - var status = statusArray[0]; - var statustext = statusArray[1]; - + var Array = status_statustext.split("\n"); + var status = Array[0]; + var statustext = Array[1]; //if ( status == 'progress' ) { //IE workaround, no i have no idea why if ( status.indexOf('progress') > -1 ) { document.getElementById("progress_percent").innerHTML = statustext + '%'; bar1.set(statustext); bar1.update; - //jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' ); - job_status( '<%= $jobnum %>', updateStatus ); + jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' ); } else if ( status.indexOf('complete') > -1 ) { <% if ( $message ) { %> document.getElementById("progress_message").innerHTML = "<%= $message %>"; diff --git a/httemplate/elements/select-agent.html b/httemplate/elements/select-agent.html deleted file mode 100644 index c2a5e4bde..000000000 --- a/httemplate/elements/select-agent.html +++ /dev/null @@ -1,24 +0,0 @@ -<% - my( $agentnum, %opt ) = @_; - - my @agents; - if ( $opt{'agents'} ) { - @agents = @{ $opt{'agents'} }; - } else { - @agents = qsearch( 'agent', { disabled=>'' } ); - } - -%> - -<SELECT NAME="agentnum"> - - <OPTION VALUE="">all</OPTION> - - <% foreach my $agent ( sort { $a->agent cmp $b->agent } @agents ) { %> - - <OPTION VALUE="<%= $agent->agentnum %>"<%= $agentnum == $agent->agentnum ? ' SELECTED' : '' %>><%= $agent->agent %> - - <% } %> - -</SELECT> - diff --git a/httemplate/elements/select-month_year.html b/httemplate/elements/select-month_year.html deleted file mode 100644 index a0ea74ddd..000000000 --- a/httemplate/elements/select-month_year.html +++ /dev/null @@ -1,50 +0,0 @@ -<% - - my %opt = @_; - - my $prefix = $opt{'prefix'} || ''; - my $disabled = $opt{'disabled'} || ''; - my $empty = $opt{'empty_option'} || ''; - my $date = $opt{'selected_date'} || ''; - $date = '' if $date eq '-'; - #$date ||= '01-2000' unless $empty; - my $start_year = $opt{'start_year'}; - my $end_year = $opt{'end_year'} || '2037'; - - my( $mon, $year ) = (0, 0); - if ( $date ) { - if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format - ( $mon, $year ) = ( $2, $1 ); - } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) { - ( $mon, $year ) = ( $1, $3 ); - } else { - die "unrecognized expiration date format: $date"; - } - } - - unless ( $start_year ) { - my @t = localtime; - $start_year = $t[5] + 1900; - } - $start_year = $year if $start_year > $year && $year > 0; - -%> - -<SELECT NAME="<%= $prefix %>_month" SIZE="1" <%= $disabled%>> - -<%= $empty ? '<OPTION VALUE="">' : '' %> - -<% for ( 1 .. 12 ) { %> - <OPTION<%= $_ == $mon ? ' SELECTED' : '' %> VALUE="<%= $_ %>"><%= $_ %> -<% } %> - -</SELECT>/<SELECT NAME="<%= $prefix %>_year" SIZE="1" <%= $disabled%>> - -<%= $empty ? '<OPTION VALUE="">' : '' %> - -<% for ( $start_year .. $end_year ) { %> - <OPTION<%= $_ == $year ? ' SELECTED' : '' %> VALUE="<%= $_ %>"><%= $_ %> -<% } %> - -</SELECT> - diff --git a/httemplate/elements/select-taxclass.html b/httemplate/elements/select-taxclass.html deleted file mode 100644 index e5a1abba1..000000000 --- a/httemplate/elements/select-taxclass.html +++ /dev/null @@ -1,42 +0,0 @@ -<% - my $conf = new FS::Conf; - my $selected_taxclass = scalar(@_) ? shift : ''; -%> - -<% if ( $conf->exists('enable_taxclasses') ) { %> - - <SELECT NAME="taxclass"> - - <% if ( $conf->exists('require_taxclasses') ) { %> - - <OPTION VALUE="(select)">Select tax class - - <% } else { %> - - <OPTION VALUE=""> - - <% } %> - - <% - my $sth = dbh->prepare('SELECT DISTINCT taxclass FROM cust_main_county') - or die dbh->errstr; - $sth->execute or die $sth->errstr; - my %taxclasses = map { $_->[0] => 1 } @{$sth->fetchall_arrayref}; - my @taxclasses = grep $_, keys %taxclasses; - %> - - <% foreach my $taxclass ( @taxclasses ) { %> - - <OPTION VALUE="<%= $taxclass %>"<%= $taxclass eq $selected_taxclass ? ' SELECTED' : '' %>><%= $taxclass %> - - <% } %> - - </SELECT> - -<% } else { %> - - <INPUT TYPE="hidden" NAME="taxclass" VALUE="<%= $selected_taxclass %>"> - -<% } %> - - diff --git a/httemplate/elements/small_custview.html b/httemplate/elements/small_custview.html index e0c22e0c4..1e8ae739a 100644 --- a/httemplate/elements/small_custview.html +++ b/httemplate/elements/small_custview.html @@ -1,2 +1,2 @@ <% my $conf = new FS::Conf; %> -<%= small_custview( shift, shift || scalar($conf->config('countrydefault')), @_ ) %> +<%= small_custview( shift, shift || $conf->config('countrydefault') ) %> diff --git a/httemplate/elements/table-grid.html b/httemplate/elements/table-grid.html deleted file mode 100644 index 80611f511..000000000 --- a/httemplate/elements/table-grid.html +++ /dev/null @@ -1,8 +0,0 @@ -<STYLE TYPE="text/css"> -.grid table { border: solid; empty-cells: show } -.grid TH { padding-left: 3px; padding-right: 3px; border: 1px solid #dddddd; border-bottom: dashed 1px black; border-right: none } -.grid TD { padding-left: 3px; padding-right: 3px; empty-cells: show; border: 1px solid #cccccc; border-bottom: none; border-right: none } -</STYLE> - -<TABLE CLASS="grid" CELLSPACING=0 CELLPADDING=0 BORDER=1 BORDERCOLOR="#000000" STYLE="border: solid 1px black; empty-cells: show"> - diff --git a/httemplate/elements/tr-input-beginning_ending.html b/httemplate/elements/tr-input-beginning_ending.html deleted file mode 100644 index 9fa936bca..000000000 --- a/httemplate/elements/tr-input-beginning_ending.html +++ /dev/null @@ -1,39 +0,0 @@ -<LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2"> -<SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT> - - -<TR> - <TD ALIGN="right">From: </TD> - <TD><INPUT TYPE="text" NAME="beginning" ID="beginning_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="beginning_button" STYLE="cursor: pointer" TITLE="Select date"><BR><i>m/d/y</i></TD> -<SCRIPT TYPE="text/javascript"> - Calendar.setup({ - inputField: "beginning_text", - ifFormat: "%m/%d/%Y", - button: "beginning_button", - align: "BR" - }); -</SCRIPT> -</TR> - -<TR> - <TD ALIGN="right">To: </TD> - <TD><INPUT TYPE="text" NAME="ending" ID="ending_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="ending_button" STYLE="cursor: pointer" TITLE="Select date"><BR><i>m/d/y</i></TD> -<SCRIPT TYPE="text/javascript"> - Calendar.setup({ - inputField: "ending_text", - ifFormat: "%m/%d/%Y", - button: "ending_button", - align: "BR" - }); -</SCRIPT> -</TR> - -<TR> - <TD></TD> - <TD> - <FONT SIZE="-1">(leave one or both dates blank for an open-ended search)</FONT> - </TD> -</TR> - diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html deleted file mode 100644 index 2227262b6..000000000 --- a/httemplate/elements/tr-select-agent.html +++ /dev/null @@ -1,29 +0,0 @@ -<% - my( $agentnum, %opt ) = @_; - - my @agents; - if ( $opt{'agents'} ) { - @agents = @{ $opt{'agents'} }; - } else { - @agents = qsearch( 'agent', { disabled=>'' } ); - } - -%> - -<% if ( scalar(@agents) == 1 ) { %> - - <INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $agents[0]->agentnum %>"> - -<% } else { %> - - <TR> - <TD ALIGN="right"><%= $opt{'label'} || 'Agent: ' %></TD> - <TD> - <%= include( '/elements/select-agent.html', $agentnum, - 'agents' => \@agents, - ) - %> - </TD> - </TR> - -<% } %> diff --git a/httemplate/elements/xmlhttp.html b/httemplate/elements/xmlhttp.html deleted file mode 100644 index 28130e501..000000000 --- a/httemplate/elements/xmlhttp.html +++ /dev/null @@ -1,109 +0,0 @@ -<% - my ( %opt ) = @_; - - my $url = $opt{'url'}; - my $method = exists($opt{'method'}) ? $opt{'method'} : 'GET'; - #my @subs = @{ $opt{'subs'}; - - $url .= ( ($url =~ /\?/) ? '&' : '?' ) - if $method eq 'GET'; - -%> - -<SCRIPT TYPE="text/javascript"> - - function rs_init_object() { - var A; - try { - A=new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - A=new ActiveXObject("Microsoft.XMLHTTP"); - } catch (oc) { - A=null; - } - } - if(!A && typeof XMLHttpRequest != "undefined") - A = new XMLHttpRequest(); - if (!A) - alert("Can't create XMLHttpRequest object"); - return A; - - } - - <% foreach my $func ( @{$opt{'subs'}} ) { - - my $furl = $url; - $furl =~ s/\"/\\\\\"/; #javascript escape - - %> - - function <%=$func%>() { - // count args; build URL - var url = "<%=$furl%>"; - var a = <%=$func%>.arguments; - - var args; - var len; - var content = 'sub=<%= uri_escape($func) %>'; - if ( a && typeof a == 'object' && a[0].constructor == Array ) { - args = a[0]; - len = args.length - } else { - args = a; - len = args.length - 1; - } - for (var i = 0; i < len; i++) - content = content + "&arg=" + escape(args[i]); - content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs - - if ( '<%=$method%>' == 'GET' ) { - url = url + content; - } - - //alert('<%=$method%> ' + url); - - var xmlhttp = rs_init_object(); - xmlhttp.open("<%=$method%>", url, true); - - xmlhttp.onreadystatechange = function() { - if (xmlhttp.readyState != 4) - return; - - if (xmlhttp.status != 200) { - alert(xmlhttp.status + " status connecting to " + url); - } else { - var data = xmlhttp.responseText; - //alert('received response: ' + data); - a[a.length-1](data); - if ( data.indexOf("<b>System error</b>") > -1 ) { - var w; - if ( w = window.open("about:blank") ) { - w.document.write(data); - } else { - // popup blocking? should use an overlib popup instead - alert("Error popup disabled; try disabling popup blocking to see"); - } - } - } - } - - if ( '<%=$method%>' == 'POST' ) { - - xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - xmlhttp.send(content); - - } else { - - xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); - xmlhttp.send(null); - - } - - //rs_debug("x_$func_name url = " + url); - //rs_debug("x_$func_name waiting.."); - } - - <% } %> - -</SCRIPT> |