Will things ever be the same again?
[freeside.git] / httemplate / elements / progress-popup.html
index 20bb5fc..8f2ff19 100644 (file)
@@ -1,52 +1,71 @@
-<%
-  my $jobnum = $cgi->param('jobnum');
-  my $url = $cgi->param('url');
-  my $message = $cgi->param('message');
-  my $formname = scalar($cgi->param('formname'));
-%>
+%
+%  my $jobnum = $cgi->param('jobnum');
+%  my $url = $cgi->param('url');
+%  my $message = $cgi->param('message');
+%  my $formname = scalar($cgi->param('formname'));
+%
+
 <HTML>
   <HEAD>
     <TITLE></TITLE>
   </HEAD>
   <BODY BGCOLOR="#ccccff" onLoad="refreshStatus()">
 
-<SCRIPT TYPE="text/javascript" SRC="../elements/jsrsClient.js"></SCRIPT>
+<% include('/elements/xmlhttp.html',
+              'url'  => $p.'elements/jsrsServer.html',
+              'subs' => [ 'job_status' ],
+           )
+%>
 <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 %>' );
+  //jsrsExecute( '<%$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<% $jobnum %>' );
+
+  job_status( '<% $jobnum %>', updateStatus );
 }
 function updateStatus( status_statustext ) {
-  var Array = status_statustext.split("\n");
-  var status = Array[0];
-  var statustext = Array[1];
+
+  //var Array = status_statustext.split("\n");
+  var statusArray = eval('(' + status_statustext + ')');
+  var status = statusArray[0];
+  var statustext = statusArray[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 %>' );
+    //jsrsExecute( '<%$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<% $jobnum %>' );
+    job_status( '<% $jobnum %>', updateStatus );
   } else if ( status.indexOf('complete') > -1 ) {
-<% if ( $message ) { %>
-    document.getElementById("progress_message").innerHTML = "<%= $message %>";
+% if ( $message ) { 
+
+    document.getElementById("progress_message").innerHTML = "<% $message %>";
     document.getElementById("progress_bar").innerHTML = '';
     document.getElementById("progress_percent").innerHTML = '<INPUT TYPE="button" VALUE="OK" onClick="parent.nd(1);">';
     document.getElementById("progress_jobnum").innerHTML = '';
-    parent.document.<%=$formname%>.submit.disabled=false;
-<% } elsif ( $url ) { %>
-    window.top.location.href = '<%= $url %>';
-<% } else { %>
+    if ( parent.document.<%$formname%>.submit.disabled == true ) {
+      parent.document.<%$formname%>.submit.disabled=false;
+    }
+% } elsif ( $url ) { 
+
+    window.top.location.href = '<% $url %>';
+% } else { 
+
     alert('job done but no url or message specified');
-<% } %>
+% } 
+
   } else if ( status.indexOf('error') > -1 ) {
     document.getElementById("progress_message").innerHTML = '<FONT SIZE="+1" COLOR="#FF0000">Error: ' + statustext + '</FONT>';
     document.getElementById("progress_bar").innerHTML = '';
     document.getElementById("progress_percent").innerHTML = '<INPUT TYPE="button" VALUE="OK" onClick="parent.nd(1);">';
     document.getElementById("progress_jobnum").innerHTML = '';
-    parent.document.<%=$formname%>.submit.disabled=false;
+    if ( parent.document.<%$formname%>.submit.disabled == true ) {
+      parent.document.<%$formname%>.submit.disabled=false;
+    }
   } else {
     alert('XXX unknown status returned from server: ' + status);
   }
@@ -54,7 +73,7 @@ function updateStatus( status_statustext ) {
 }
 </SCRIPT>
 
-    <TABLE>
+    <TABLE WIDTH="100%">
       <TR>
         <TD ALIGN="center" ID="progress_message">
           Server processing job...
@@ -76,7 +95,7 @@ function updateStatus( status_statustext ) {
         </TD>
       </TR><TR>
         <TD ALIGN="center" ID="progress_jobnum">
-          (progress of job #<%= $jobnum %>)
+          (progress of job #<% $jobnum %>)
         </TD>
       </TR>
     </TABLE>