src/org/openbravo/erpCommon/ad_process/ApplyModules.html
author David Baz Fayos <david.baz@openbravo.com>
Mon, 14 May 2012 04:06:09 +0200
changeset 16507 4914bc66fa28
parent 16494 f789211d10bf
child 16546 529a0dde59cc
permissions -rw-r--r--
Related to issue 20207: 'Loading' popups works ok again in IE9 + HTML5
- Improved version
asier@1929
     1
<!--
asier@1929
     2
 *************************************************************************
asier@1929
     3
 * The contents of this file are subject to the Openbravo  Public  License
priya@9072
     4
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
asier@1929
     5
 * Version 1.1  with a permitted attribution clause; you may not  use this
asier@1929
     6
 * file except in compliance with the License. You  may  obtain  a copy of
asier@1929
     7
 * the License at http://www.openbravo.com/legal/license.html 
asier@1929
     8
 * Software distributed under the License  is  distributed  on  an "AS IS"
asier@1929
     9
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
asier@1929
    10
 * License for the specific  language  governing  rights  and  limitations
asier@1929
    11
 * under the License. 
asier@1929
    12
 * The Original Code is Openbravo ERP. 
ggi@6701
    13
 * The Initial Developer of the Original Code is Openbravo SLU 
david@16507
    14
 * All portions are Copyright (C) 2008-2012 Openbravo SLU 
asier@1929
    15
 * All Rights Reserved. 
asier@1929
    16
 * Contributor(s):  ______________________________________.
asier@1929
    17
 ************************************************************************
asier@1929
    18
-->
asier@1929
    19
<html>
asier@1929
    20
<head>
david@3131
    21
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
anthony@2424
    22
  <title>Rebuild the System</title>
david@3113
    23
  <link rel="shortcut icon" href="../../../../../web/images/favicon.ico" type="image/x-icon" />
antonio@5613
    24
  <link rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Openbravo_ERP_250.css" id="paramCSS"/>
stefan@4740
    25
  <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
stefan@4740
    26
  <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
asier@1929
    27
  <script language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></script>
asier@1929
    28
  <script language="JavaScript" src="../../../../../web/js/messages.js" type="text/javascript"></script>
asier@1929
    29
  <script language="JavaScript" src="../../../../../web/js/default/MessageBox.js" type="text/javascript"></script>
antonio@5603
    30
  <script language="JavaScript" type="text/javascript" id="paramLanguage"></script>
david@3105
    31
  <script language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></script>
david@1989
    32
  <script language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></script>
antonio@5603
    33
  <script language="JavaScript" type="text/javascript" id="paramDirectory"></script>
antonio@7516
    34
  <script language="JavaScript" type="text/javascript" id="jsparam">
antonio@7516
    35
antonio@7516
    36
  </script>
antonio@5603
    37
  <script language="JavaScript" type="text/javascript">
antonio@5616
    38
    var lc_isTimerEnabled = true;
antonio@5603
    39
    var current_state=0;
antonio@5603
    40
    var start=false;
antonio@5616
    41
    var processing = false;
antonio@5732
    42
    var stopAddingWarns=false;
antonio@5749
    43
    var restarting=false;
antonio@5774
    44
    var pending_states=0;
antonio@7518
    45
    var andmore=false;
antonio@7679
    46
    var process_finished=false;
asier@1929
    47
antonio@7518
    48
antonio@7518
    49
    function contains(a, obj){
antonio@7518
    50
      for(var i = 0; i < a.length; i++) {
antonio@7544
    51
        if(a[i] === obj){
antonio@7544
    52
          return true;
antonio@7544
    53
        }
antonio@7518
    54
      }
antonio@7518
    55
      return false;
antonio@7518
    56
    }
antonio@7544
    57
   
antonio@5616
    58
    //Changes the status of one node (corresponding icon, ...)
antonio@5772
    59
    function progList_changeNode(node, newStatus, text) {
david@5984
    60
      try {
david@5984
    61
        node=node.toString();
david@5984
    62
        if (newStatus == "Success") {
david@5984
    63
          document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    64
          document.getElementById("processing_" + node).style.display = "none";
david@5984
    65
          document.getElementById("error_" + node).style.display = "none";
david@5984
    66
          document.getElementById("exception_" + node).style.display = "none";
david@5984
    67
          document.getElementById("warning_" + node).style.display = "none";
david@5984
    68
        } else if (newStatus == "Error") {
david@5984
    69
          document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    70
          document.getElementById("processing_" + node).style.display = "none";
david@5984
    71
          document.getElementById("error_" + node).style.display = "";
david@5984
    72
          document.getElementById("exception_" + node).style.display = "none";
david@5984
    73
          document.getElementById("warning_" + node).style.display = "none";
david@5984
    74
        } else if (newStatus == "Exception") {
david@5984
    75
          document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    76
          document.getElementById("processing_" + node).style.display = "none";
david@5984
    77
          document.getElementById("error_" + node).style.display = "none";
david@5984
    78
          document.getElementById("exception_" + node).style.display = "";
david@5984
    79
          document.getElementById("warning_" + node).style.display = "none";
david@5984
    80
        } else if (newStatus == "Warning") {
david@5984
    81
          document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    82
          document.getElementById("processing_" + node).style.display = "none";
david@5984
    83
          document.getElementById("error_" + node).style.display = "none";
david@5984
    84
          document.getElementById("exception_" + node).style.display = "none";
david@5984
    85
          document.getElementById("warning_" + node).style.display = "";
david@5984
    86
        } else if (newStatus == "Pending") {
david@5984
    87
          document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    88
          document.getElementById("processing_" + node).style.display = "none";
david@5984
    89
          document.getElementById("error_" + node).style.display = "none";
david@5984
    90
          document.getElementById("exception_" + node).style.display = "none";
david@5984
    91
          document.getElementById("warning_" + node).style.display = "none";
david@5984
    92
        } else if (newStatus == "Processing") {
david@5984
    93
          if (text) {
david@5984
    94
            document.getElementById("processing_" + node).innerHTML = text;
david@5984
    95
          } else {
david@5984
    96
            document.getElementById("processing_" + node).innerHTML = " ";
david@5984
    97
          }
david@5984
    98
          document.getElementById("processing_" + node).style.display = "";
david@5984
    99
          document.getElementById("error_" + node).style.display = "none";
david@5984
   100
          document.getElementById("exception_" + node).style.display = "none";
david@5984
   101
          document.getElementById("warning_" + node).style.display = "none";
antonio@5614
   102
        }
david@5984
   103
      } catch(e) {}
antonio@5603
   104
    }
antonio@5772
   105
    function progList_changeIcon(node, newStatus, text) {
david@5984
   106
      try {
antonio@5772
   107
        node=node.toString();
antonio@5772
   108
        if (newStatus == "Success") {
antonio@5772
   109
          document.getElementById("icon_" + node).className = "CheckList_Icon_Success";
antonio@5772
   110
        } else if (newStatus == "Error") {
antonio@5772
   111
          document.getElementById("icon_" + node).className = "CheckList_Icon_Error";
antonio@5772
   112
        } else if (newStatus == "Exception") {
antonio@5772
   113
          document.getElementById("icon_" + node).className = "CheckList_Icon_Exception";
antonio@5772
   114
        } else if (newStatus == "Warning") {
antonio@5772
   115
          document.getElementById("icon_" + node).className = "CheckList_Icon_Warning";
antonio@5772
   116
        } else if (newStatus == "Pending") {
antonio@5772
   117
          document.getElementById("icon_" + node).className = "CheckList_Icon_Pending";
antonio@5772
   118
        } else if (newStatus == "Processing") {
antonio@5772
   119
          document.getElementById("icon_" + node).className = "CheckList_Icon_Processing";
antonio@5772
   120
        }
david@5984
   121
      } catch(e) {}
david@5984
   122
    }
antonio@5603
   123
antonio@5616
   124
    //Sets text of textarea
antonio@5603
   125
    function progList_setTextToTextArea(text) {
david@5984
   126
      try {
david@5984
   127
        document.getElementById('warningsAndErrors').innerHTML = text;
david@5984
   128
      } catch(e) {}
antonio@5603
   129
    }
antonio@5603
   130
antonio@5616
   131
    //Adds text to the textarea
antonio@5603
   132
    function progList_addTextToTextArea(text) {
antonio@5732
   133
      if(stopAddingWarns){
antonio@5732
   134
          return;
antonio@5732
   135
      }
antonio@5732
   136
      var charn= document.getElementById('warningsAndErrors').innerHTML.length;
antonio@5732
   137
      if(charn>2000){
antonio@7518
   138
          if(!andmore){
antonio@7518
   139
             andmore=true;
antonio@7518
   140
             document.getElementById('warningsAndErrors').innerHTML += "<p class='CL_RSW_ta_line'>" + "and more..." + "</p>";
antonio@7518
   141
          }
antonio@5774
   142
        }
antonio@5774
   143
        else{
antonio@5774
   144
          document.getElementById('warningsAndErrors').innerHTML += "<p class='CL_RSW_ta_line'>" + text + "</p>";
antonio@5774
   145
        } 
antonio@5603
   146
    }
antonio@5616
   147
    
antonio@5616
   148
    //Starts a timer (used to periodically trigger a request to update the status of the window)
antonio@5616
   149
    function LocalTimer(targetvar, referenceDate) {
antonio@5616
   150
      var actualDate = new Date();
antonio@5616
   151
      actualDate = actualDate.getTime();
antonio@5603
   152
antonio@5616
   153
      var difDate = actualDate - referenceDate;
antonio@5616
   154
      difDate = difDate / 1000;
antonio@5616
   155
      difDate = Math.floor(difDate);
antonio@5616
   156
antonio@5616
   157
      var seconds = difDate%60;
antonio@5616
   158
      var minutes = Math.floor(difDate/60);
antonio@5616
   159
antonio@5616
   160
      var seconds_string = seconds.toString();
antonio@5616
   161
      var minutes_string = minutes.toString();
antonio@5616
   162
antonio@5616
   163
      if (seconds_string.length == 1) {
antonio@5616
   164
        seconds_string = "0" + seconds_string;
antonio@5616
   165
      }
antonio@5616
   166
      if (minutes_string.length == 1) {
antonio@5616
   167
        minutes_string = "0" + minutes_string;
antonio@5616
   168
      }
antonio@5616
   169
      var output = minutes_string + ":" + seconds_string;
antonio@5616
   170
      document.getElementById(targetvar).innerHTML=output;
antonio@5616
   171
antonio@7546
   172
      submitXmlHttpRequest(update, document.frmMain, "UPDATESTATUS", "ApplyModulesCallServlet.html", false, null, null);
antonio@5616
   173
antonio@5616
   174
      if (lc_isTimerEnabled) {
antonio@5616
   175
        setTimeout(function() {LocalTimer(targetvar, referenceDate);},1000);
antonio@5616
   176
      }
antonio@5616
   177
    }
antonio@5616
   178
antonio@5616
   179
    //Stops the local timer
antonio@5616
   180
    function stopLocalTimer() {
antonio@5616
   181
      lc_isTimerEnabled = false;
antonio@5616
   182
    }
antonio@5616
   183
antonio@5616
   184
    //Starts the local timer
antonio@5616
   185
    function startLocalTimer(targetvar) {
antonio@5616
   186
      var referenceDate = new Date();
antonio@5616
   187
      referenceDate = referenceDate.getTime();
antonio@5616
   188
      LocalTimer(targetvar, referenceDate);
antonio@5616
   189
    }
antonio@5616
   190
antonio@5616
   191
    //Returns the corresponding node for a given state index
antonio@5616
   192
    function correspondingNode(state_index){
antonio@5616
   193
      state_index=parseFloat(state_index)/10;
antonio@5616
   194
      return state_index.toString();
antonio@5616
   195
    }
antonio@5616
   196
antonio@7544
   197
    //Returns the index of the specified state in the state array
antonio@7544
   198
    function getStatusIndex(state){
antonio@7544
   199
      for(var i=0;i<possible_states.length;i++){
antonio@7544
   200
        if(possible_states[i]==state){
antonio@7544
   201
          return i;
antonio@7544
   202
        }
antonio@7544
   203
      }
antonio@7544
   204
    }
antonio@7544
   205
antonio@5616
   206
    //Restarts tomcat/Reloads tomcat/Just closes the window
antonio@5616
   207
    function restart() {
antonio@5616
   208
      if (document.frmMain.option[0].checked) {
antonio@5749
   209
        restarting=true;
antonio@11218
   210
        if(window.opener){
antonio@11218
   211
          window.opener.submitCommandForm('RESTART', false, null, '../ad_process/ApplyModules.html', '_self', null, false);
antonio@11218
   212
          closePage();
antonio@11218
   213
          return false;
antonio@11218
   214
        }else{
antonio@11218
   215
          top.opener.location="./ApplyModules.html?Command=RESTART";
antonio@11218
   216
          closePage();
antonio@11218
   217
          return false;
antonio@11218
   218
        }
antonio@5616
   219
      } else if (document.frmMain.option[1].checked) {
david@8778
   220
        closePage();
antonio@5616
   221
        return;
antonio@5616
   222
      }
antonio@5616
   223
    } 
antonio@5616
   224
antonio@7544
   225
    //Inserts warnings and errors in the textarea
antonio@7544
   226
    function insertWarnsAndErrors(response){
antonio@7544
   227
      if(start===true && !stopAddingWarns){
antonio@7544
   228
        if(response.statusofstate=="Warning"){
antonio@7544
   229
          var warns=response.warnings.string;
antonio@7679
   230
          if(warns){
antonio@7544
   231
            if(!(warns instanceof Array)){
antonio@7544
   232
              warns=[warns];
antonio@7544
   233
            }
antonio@7544
   234
            for(i=0;i<warns.length;i++){
antonio@7544
   235
              var old=document.getElementById("warning_"+correspondingNode(response.state)).title;
antonio@7544
   236
              var l=old.length;
antonio@7544
   237
              if(l>300){
antonio@7544
   238
                //add nothing else to the tooltip, already too long
antonio@7544
   239
              }else{
antonio@7544
   240
                if(old===""){
antonio@7544
   241
                  old="Warnings: ";
antonio@7544
   242
                }else{
antonio@7544
   243
                  old+=",";
antonio@7544
   244
                }
antonio@7544
   245
                document.getElementById("warning_"+correspondingNode(response.state)).title=old+warns[i];
antonio@7544
   246
              }
antonio@7544
   247
              if(warns[i]!==undefined){
antonio@7544
   248
                progList_addTextToTextArea('<b><i>Warning: </b></i>'+warns[i]);
antonio@7544
   249
              }
antonio@7544
   250
            }
antonio@7544
   251
            numofwarns[getStatusIndex(response.state)]=warns.length;
antonio@7544
   252
          }
antonio@7544
   253
        }
antonio@7544
   254
        if(response.statusofstate=="Error"){
antonio@12936
   255
          var errs;
antonio@12936
   256
          if(response.errors instanceof Array){
antonio@12936
   257
              errs=response.errors[0].string;
antonio@12936
   258
          }else{
antonio@12936
   259
              errs=response.errors.string;
antonio@12936
   260
          }
antonio@7679
   261
          if(errs){
antonio@7544
   262
            if(!(errs instanceof Array)){
antonio@7544
   263
              errs=[errs];
antonio@7544
   264
            }
antonio@7544
   265
            if(numoferrs[getStatusIndex(response.state)]<errs.length){
antonio@7544
   266
              for(i=0;i<errs.length;i++){
antonio@7544
   267
                progList_addTextToTextArea('<b><i>Error: </b></i>'+errs[i]);
antonio@7544
   268
              }
antonio@7544
   269
              numoferrs[getStatusIndex(response.state)]=errs.length;
antonio@7544
   270
            }
antonio@7544
   271
          }
antonio@7544
   272
        }
antonio@7544
   273
      }
antonio@7544
   274
    }
antonio@7544
   275
antonio@7544
   276
antonio@7544
   277
    function updateMainSteps(){
antonio@7544
   278
        for(i=0;i<nodestructure.length;i++){
antonio@7544
   279
            var mainStep=nodestructure[i][0];
antonio@7544
   280
            var subSteps=nodestructure[i][1];
antonio@7544
   281
            var success=true;
antonio@7544
   282
            for(var j=0;j<subSteps.length && success;j++){
antonio@7544
   283
                var ind=getStatusIndex(subSteps[j]);
antonio@7544
   284
                if(error_status[ind]!=='Success'){
antonio@7544
   285
                    success=false;
antonio@7544
   286
                }
antonio@7544
   287
            }
antonio@7544
   288
            if(success){
antonio@7544
   289
                progList_changeNode(correspondingNode(mainStep), 'Success');
antonio@7544
   290
                progList_changeIcon(correspondingNode(mainStep), 'Success');
antonio@7544
   291
            }else{
antonio@7544
   292
                var error=false;
antonio@7544
   293
                for(j=0;j<subSteps.length && !error;j++){
antonio@7544
   294
                    var ind=getStatusIndex(subSteps[j]);
antonio@7544
   295
                    if(error_status[ind]==='Error'){
antonio@7544
   296
                       error=true;
antonio@7544
   297
                    }
antonio@7544
   298
                }
antonio@7544
   299
                if(error){
antonio@7544
   300
                    progList_changeNode(correspondingNode(mainStep), 'Error');
antonio@7544
   301
                    progList_changeIcon(correspondingNode(mainStep), 'Error');
antonio@7544
   302
                }else{
antonio@7544
   303
                    var warning=false;
antonio@7544
   304
                    for(j=0;j<subSteps.length && !warning;j++){
antonio@7544
   305
                        var ind=getStatusIndex(subSteps[j]);
antonio@7544
   306
                        if(error_status[ind]==='Warning'){
antonio@7544
   307
                            warning=true;
antonio@7544
   308
                        }
antonio@7544
   309
                    }
antonio@7544
   310
                    if(warning){
antonio@7544
   311
                        progList_changeNode(correspondingNode(mainStep), 'Warning');
antonio@7544
   312
                        progList_changeIcon(correspondingNode(mainStep), 'Warning');
antonio@7544
   313
                    }
antonio@7544
   314
                }
antonio@7544
   315
            }
antonio@7544
   316
        }
antonio@7544
   317
    }
antonio@7544
   318
    
antonio@7544
   319
    //This function is called when status information of intermediate states is required
antonio@7544
   320
    function askForErrorStatus(paramXMLParticular, XMLHttpRequestObj) {
antonio@7544
   321
      var strText = "";
antonio@7544
   322
      var i;
antonio@7544
   323
      var j;
antonio@7544
   324
      if (getReadyStateHandler(XMLHttpRequestObj,null,false)) {
antonio@7544
   325
        if (XMLHttpRequestObj.responseText) {
antonio@7544
   326
          strText = XMLHttpRequestObj.responseText;
antonio@7544
   327
        }
antonio@7544
   328
        pending_states=pending_states-1;
antonio@7544
   329
        strText = strText.toString();
antonio@7544
   330
        var msg = eval("("+strText+")");
antonio@7544
   331
 
antonio@7544
   332
        var state=msg.Response.state;
antonio@7544
   333
        var errorStatus=msg.Response.statusofstate;
antonio@7544
   334
        var stateindex=getStatusIndex(state);
antonio@7544
   335
        progList_changeNode(correspondingNode(state), errorStatus);
antonio@7544
   336
        progList_changeIcon(correspondingNode(state), errorStatus);
antonio@7544
   337
        error_status[stateindex]=errorStatus;
antonio@7544
   338
        insertWarnsAndErrors(msg.Response);
antonio@7544
   339
        updateMainSteps();
antonio@7544
   340
      }
antonio@7544
   341
    }
antonio@7544
   342
antonio@7544
   343
antonio@5616
   344
    //This function sets the succes/warning/error message after the information returned by the server
antonio@5616
   345
    function getError(paramXMLParticular, XMLHttpRequestObj) {
antonio@5616
   346
      var strText = "";
antonio@5616
   347
      if (getReadyStateHandler(XMLHttpRequestObj,null,false)) {
antonio@5616
   348
        try {
antonio@5616
   349
          if (XMLHttpRequestObj.responseText) {
antonio@5616
   350
              strText = XMLHttpRequestObj.responseText;
antonio@5616
   351
          }
antonio@5616
   352
        } catch (e) {
antonio@5616
   353
          initialize_MessageBox('messageBoxID');
antonio@5616
   354
          setValues_MessageBox('messageBoxID','ERROR','ERROR',e);
antonio@5616
   355
        }
antonio@5616
   356
        if (strText == "") {
antonio@5616
   357
          showJSMessage(22);
antonio@5616
   358
        } else {
antonio@5616
   359
          //Expecting msg in JSON format
david@5984
   360
          strText = strText.toString();
antonio@5616
   361
          var msg = eval("("+strText+")");
antonio@5616
   362
          initialize_MessageBox('messageBoxID');
antonio@5616
   363
          setValues_MessageBox('messageBoxID',msg.OBError.type, msg.OBError.title, msg.OBError.message);
antonio@5616
   364
          if(msg.OBError.type!="Error"){
antonio@5616
   365
              displayLogicElement('restartOptions',true);
antonio@5616
   366
          }
antonio@5616
   367
          document.getElementById("rebuildMessage").style.display = "none";
antonio@5771
   368
          if(msg.OBError.type=="Error"){
antonio@5771
   369
              var node=correspondingNode(possible_states[current_state]);
antonio@5772
   370
              progList_changeNode(node, 'Error');
antonio@5772
   371
              progList_changeIcon(node, 'Error');
antonio@5771
   372
          }
antonio@6486
   373
          //Make a final call to requesterrorstate, to get the last errors/warnings, if they were any
antonio@6486
   374
          submitXmlHttpRequest(askForErrorStatus, null, "REQUESTLASTERRORSTATE", "ApplyModulesCallServlet.html", false, null, null);
antonio@7538
   375
          //Also, make calls to update all possible substeps, and states
antonio@7539
   376
          var endState=possible_states.length;
antonio@7538
   377
          if(msg.OBError.type=="Error"){
antonio@7538
   378
              endState=current_state;
antonio@7538
   379
          }
antonio@7538
   380
          for(i=0;i<endState;i++){
antonio@7538
   381
            //We need to ask for warning/error state for the intermediate status
antonio@7538
   382
            document.getElementById("reqStatus").value=possible_states[i];
antonio@7538
   383
            submitXmlHttpRequest(askForErrorStatus, null, "REQUESTERRORSTATE", "ApplyModulesCallServlet.html", false, null, null);
antonio@7538
   384
          }
antonio@7538
   385
          updateMainSteps();
antonio@5616
   386
        }
antonio@5616
   387
      }
antonio@5616
   388
      return true;
antonio@5616
   389
    }
antonio@5616
   390
 
antonio@5616
   391
antonio@5616
   392
antonio@5616
   393
antonio@5616
   394
    //This function is called by the servlet after a request from the timer, and updates the status of the build
antonio@5616
   395
    //in the window according to the data sent by the servlet
antonio@5616
   396
    function update(paramXMLParticular, XMLHttpRequestObj) {
antonio@5616
   397
      var strText = "";
antonio@5616
   398
      if (getReadyStateHandler(XMLHttpRequestObj,null,false)) {
antonio@5616
   399
        if (XMLHttpRequestObj.responseText) {
antonio@5616
   400
          strText = XMLHttpRequestObj.responseText;
antonio@5616
   401
        }
david@5984
   402
        strText = strText.toString();
antonio@5616
   403
        var msg = eval("("+strText+")");
antonio@5616
   404
          
antonio@5616
   405
        var state=msg.Response.state;
antonio@7519
   406
        var errorStatus=msg.Response.statusofstate;
antonio@16436
   407
        if((msg.Response.processFinished==='Y' || msg.processFinished==='Y') && !process_finished){
antonio@7679
   408
            process_finished=true;
antonio@7679
   409
            var frm = document.frmMain;
antonio@7679
   410
            submitXmlHttpRequest(update, frm, "UPDATESTATUS", "ApplyModulesCallServlet.html", false, null, null);
antonio@7679
   411
            submitXmlHttpRequest(getError, frm, "GETERR", "ApplyModulesCallServlet.html", false, null, null);
antonio@7679
   412
            return;
antonio@7679
   413
        }
antonio@7518
   414
        if(state==first_state || start===true){
antonio@7519
   415
          if(contains(end_states,state) || errorStatus=="Error"){
antonio@5616
   416
            stopLocalTimer();
antonio@5771
   417
            processing = false;
antonio@5616
   418
          }
antonio@5616
   419
          start=true;
antonio@5616
   420
          var stateindex=getStatusIndex(state);
antonio@5616
   421
          if(stateindex>current_state){
antonio@5774
   422
            pending_states=stateindex-current_state;
antonio@5616
   423
            for(i=current_state;i<stateindex;i++){
antonio@5616
   424
              //We need to ask for warning/error state for the intermediate status
antonio@5616
   425
              document.getElementById("reqStatus").value=possible_states[i];
antonio@5961
   426
              submitXmlHttpRequest(askForErrorStatus, null, "REQUESTERRORSTATE", "ApplyModulesCallServlet.html", false, null, null);
antonio@5616
   427
            }
antonio@5616
   428
          }
antonio@5616
   429
 
antonio@5616
   430
          error_status[getStatusIndex(state)]=errorStatus;
antonio@5616
   431
          var message;
antonio@16436
   432
          if(msg.Response.lastmessage!==null && (typeof msg.Response.lastmessage!=='undefined')){
guillermo@16494
   433
            message=msg.Response.lastmessage.substring(0,98);
antonio@5616
   434
          }else{
antonio@5616
   435
            message="";
antonio@5616
   436
          }
antonio@5616
   437
antonio@5616
   438
          insertWarnsAndErrors(msg.Response);
antonio@7518
   439
          if(!contains(end_states, state)){
antonio@5774
   440
              if(pending_states<=0){
antonio@5774
   441
                progList_changeNode(correspondingNode(state), errorStatus, message);
antonio@5774
   442
                progList_changeIcon(correspondingNode(state), "Processing", message);
antonio@5774
   443
              }
antonio@5616
   444
          }
antonio@5616
   445
          current_state=stateindex;
antonio@7528
   446
antonio@5616
   447
        }
antonio@5616
   448
      }
antonio@5616
   449
    }
antonio@7679
   450
    
antonio@7679
   451
    function endProcess(paramXMLParticular, XMLHttpRequestObj) {
antonio@7679
   452
        //This function was the responsible for making a final call to get the success/warning/error message
antonio@7679
   453
        //Now it's not needed as the session variable FinishedProcessing has been added
antonio@7679
   454
    }
antonio@5616
   455
antonio@7544
   456
    
antonio@7544
   457
    function buildInit(paramXMLParticular, XMLHttpRequestObj) {
antonio@7544
   458
        if (getReadyStateHandler(XMLHttpRequestObj)) { 
antonio@7544
   459
            var frm = document.frmMain;
antonio@7544
   460
            startLocalTimer('localTimer');
antonio@7544
   461
            processing = true;
antonio@11218
   462
            if(window.opener && window.opener.setProcessingMode){
antonio@11218
   463
              window.opener.setProcessingMode('window', true, false);
antonio@11218
   464
            }
antonio@7544
   465
            displayLogicElement('confirmation',false);
antonio@7544
   466
            displayLogicElement('rebuildTable',true);
antonio@7544
   467
            return submitXmlHttpRequest(endProcess, frm, "STARTAPPLY", "ApplyModules.html", false, null, null);
antonio@7544
   468
        }
antonio@7544
   469
      }
antonio@5603
   470
antonio@7544
   471
    //This function starts the ApplyModules task, and is called when the user presses the "Yes" button
antonio@7544
   472
    function startProcessing() {
antonio@7544
   473
      var frm = document.frmMain;
antonio@7544
   474
      submitXmlHttpRequest(buildInit, frm, "RESETREBUILDSTATE", "ApplyModules.html", false, null, null);
antonio@7544
   475
    }
antonio@7544
   476
      
antonio@5603
   477
  </script>
antonio@5614
   478
  <script language="JavaScript" type="text/javascript">
antonio@5603
   479
david@3105
   480
    function onLoadDo() {
david@3105
   481
      this.windowTables = new Array(
david@3105
   482
        new windowTableId('client', 'buttonOK')
david@3105
   483
      );
david@3105
   484
      setWindowTableParentElement();
david@3105
   485
      enableShortcuts('popup');
david@3105
   486
      setBrowserAutoComplete(false);
david@3105
   487
david@3105
   488
      setWindowElementFocus('firstElement');
david@3105
   489
      displayLogicElement('confirmation',true);
antonio@5603
   490
      displayLogicElement('rebuildTable',false);
david@3105
   491
      displayLogicElement('restartOptions',false);
david@3105
   492
    }
david@3105
   493
david@3105
   494
    function onResizeDo() {
david@3105
   495
    }
david@3105
   496
    
david@3105
   497
    function onUnloadDo() {
antonio@11218
   498
      if(window.opener && window.opener.setProcessingMode){
antonio@11218
   499
          window.opener.setProcessingMode('window', false);
antonio@11218
   500
      }
antonio@5749
   501
      if(!restarting){
antonio@5749
   502
        reloadOpener();
antonio@5749
   503
      }
david@3105
   504
    }
david@3105
   505
antonio@5614
   506
  </script>
david@3105
   507
asier@1929
   508
</head>
antonio@5603
   509
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="onLoadDo();" onunload="onUnloadDo();" id="paramMessage">
david@1989
   510
  <form id="form" method="post" action="ApplyModules.html" name="frmMain" target="hiddenFrame">
antonio@5613
   511
    <input type="hidden" name="Command"/>
antonio@5613
   512
    <input type="hidden" name="IsPopUpCall" value="1"/>
antonio@5613
   513
    <input type="hidden" name="inpLastFieldChanged"/>
antonio@5613
   514
    <input type="hidden" name="inpSelected" id="paramSelected" value=""/>
antonio@5613
   515
    <input type="hidden" name="reqStatus" id="reqStatus" value=""/>
antonio@5613
   516
    <input type="hidden" name="logfile" id="logfile" value="xx"/>
asier@1929
   517
    <div class="Popup_ContentPane_CircleLogo">
antonio@5603
   518
asier@1929
   519
      <div class="Popup_WindowLogo">
antonio@5613
   520
        <img class="Popup_WindowLogo_Icon Popup_WindowLogo_Icon_process" src="../web/images/blank.gif" border="0"/>
asier@1929
   521
      </div>
asier@1929
   522
    </div>
asier@1929
   523
asier@1929
   524
    <table cellspacing="0" cellpadding="0" width="100%">
asier@1929
   525
asier@1929
   526
      <tr>
asier@1929
   527
        <td>
asier@1929
   528
          <table cellspacing="0" cellpadding="0" class="Popup_ContentPane_NavBar">
antonio@5603
   529
asier@1929
   530
            <tr class="Popup_NavBar_bg"><td></td>
asier@1929
   531
              <td class="Popup_NavBar_separator_cell"></td>
asier@1929
   532
              <td class="Popup_NavBar_bg_logo_left"></td>
antonio@5613
   533
              <td class="Popup_NavBar_bg_logo" width="1" onclick="openNewBrowser('http://www.openbravo.com', 'Openbravo');return false;"><img src="../web/images/blank.gif" alt="Openbravo" title="Openbravo" border="0" id="openbravoLogo" class="Popup_NavBar_logo"/></td>
asier@1929
   534
              <td class="Popup_NavBar_bg_logo_right"></td>
anthony@2424
   535
              <td class="Popup_NavBar_Popup_title_cell"><span>Rebuild the System</span></td>
asier@1929
   536
              <td class="Popup_NavBar_separator_cell"></td>
asier@1929
   537
            </tr>
antonio@5603
   538
asier@1929
   539
          </table>
asier@1929
   540
        </td>
asier@1929
   541
      </tr>
asier@1929
   542
asier@1929
   543
      <tr>
asier@1929
   544
        <td>
asier@1929
   545
          <table cellspacing="0" cellpadding="0" class="Popup_ContentPane_SeparatorBar">
asier@1929
   546
            <tr>
asier@1929
   547
              <td class="Popup_SeparatorBar_bg"></td>
antonio@5603
   548
asier@1929
   549
            </tr>
asier@1929
   550
          </table>
asier@1929
   551
        </td>
asier@1929
   552
      </tr>
asier@1929
   553
      <tr>
asier@1929
   554
        <td>
antonio@5603
   555
          
asier@1929
   556
        </td>
asier@1929
   557
      </tr>
asier@1929
   558
      <tr>
asier@1929
   559
        <td>
asier@1929
   560
          <div class="Popup_ContentPane_Client" style="overflow: auto;" id="client">
antonio@5603
   561
            
antonio@5603
   562
            <table cellpadding="0" cellspacing="0" id="messageBoxID" class="MessageBoxHIDDEN">
asier@1929
   563
              <tbody>
asier@1929
   564
                <tr class="MessageBox_TopMargin">
antonio@5603
   565
asier@1929
   566
                  <td class="MessageBox_LeftMargin"></td>
asier@1929
   567
                  <td></td>
asier@1929
   568
                  <td class="MessageBox_RightMargin"></td>
asier@1929
   569
                </tr>
asier@1929
   570
                <tr>
asier@1929
   571
                  <td class="MessageBox_LeftMargin"></td>
asier@1929
   572
                  <td>
asier@1929
   573
david@6543
   574
                    <table cellpadding="0" cellspacing="0" class="MessageBox_Container">
antonio@5603
   575
asier@1929
   576
                      <tbody>
asier@1929
   577
                        <tr>
david@5109
   578
                          <td class="MessageBox_LeftTrans">
antonio@5613
   579
                            <table style="width: 100%; height: 100%;" cellpadding="0" cellspacing="0">
david@5109
   580
                              <tbody>
david@5109
   581
                              <tr>
david@5109
   582
                                <td class="MessageBox_TopLeft"></td>
david@5109
   583
                              </tr>
david@5109
   584
                              <tr>
antonio@5603
   585
david@5109
   586
                                <td class="MessageBox_Left"></td>
david@5109
   587
                              </tr>
david@5109
   588
                              </tbody>
david@5109
   589
                            </table>
asier@1929
   590
                          </td>
asier@1929
   591
                          <td class="MessageBox_bg">
asier@1929
   592
asier@1929
   593
                            <table class="MessageBox_Top">
asier@1929
   594
                              <tbody>
antonio@5603
   595
asier@1929
   596
                                <tr>
asier@1929
   597
                                  <td>
asier@1929
   598
                                    <span>
asier@1929
   599
                                      <table cellpadding="0" cellspacing="0" class="MessageBox_Body_ContentCell">
asier@1929
   600
                                        <tbody>
asier@1929
   601
                                          <tr>
asier@1929
   602
                                            <td class="MessageBox_Icon_ContentCell">
asier@1929
   603
                                              <div class="MessageBox_Icon"></div>
asier@1929
   604
                                            </td>
antonio@5603
   605
asier@1929
   606
                                            <td style="vertical-align: top;" id="messageBoxIDContent">
asier@1929
   607
                                              <span>
antonio@5603
   608
                                                <div class="MessageBox_TextTitle" id="messageBoxIDTitle"></div>
antonio@5603
   609
                                                <div class="MessageBox_TextDescription" id="messageBoxIDMessage"></div>
asier@1929
   610
                                                <div class="MessageBox_TextSeparator"></div>
asier@1929
   611
                                              </span>
asier@1929
   612
                                            </td>
asier@1929
   613
                                          </tr>
asier@1929
   614
                                        </tbody>
antonio@5603
   615
asier@1929
   616
                                      </table>
asier@1929
   617
                                    </span>
asier@1929
   618
                                  </td>
asier@1929
   619
                                </tr>
asier@1929
   620
                              </tbody>
asier@1929
   621
                            </table>
asier@1929
   622
asier@1929
   623
                          </td>
asier@1929
   624
                          <td class="MessageBox_RightTrans">
antonio@5603
   625
antonio@5613
   626
                            <table style="width: 100%; height: 100%;" cellpadding="0" cellspacing="0">
david@5109
   627
                              <tbody>
david@5109
   628
                              <tr>
david@5109
   629
                                <td class="MessageBox_TopRight"></td>
david@5109
   630
                              </tr>
david@5109
   631
                              <tr>
david@5109
   632
                                <td class="MessageBox_Right"></td>
david@5109
   633
                              </tr>
david@5109
   634
                              </tbody>
antonio@5603
   635
david@5109
   636
                            </table>
asier@1929
   637
                          </td>
asier@1929
   638
                        </tr>
asier@1929
   639
                        <tr>
asier@1929
   640
                          <td rowspan="2" class="MessageBox_BottomLeft">
asier@1929
   641
                          </td>
asier@1929
   642
                          <td class="MessageBox_BottomTrans MessageBox_bg">
asier@1929
   643
                          </td>
asier@1929
   644
                          <td rowspan="2" class="MessageBox_BottomRight">
antonio@5603
   645
asier@1929
   646
                          </td>
asier@1929
   647
                        </tr>
asier@1929
   648
                        <tr>
asier@1929
   649
                          <td class="MessageBox_Bottom">
asier@1929
   650
                          </td>
asier@1929
   651
                        </tr>
asier@1929
   652
                      </tbody>
asier@1929
   653
                    </table>
asier@1929
   654
asier@1929
   655
                  </td>
asier@1929
   656
                  <td class="MessageBox_RightMargin"></td>
asier@1929
   657
                </tr>
asier@1929
   658
                <tr class="MessageBox_BottomMargin">
asier@1929
   659
                  <td class="MessageBox_LeftMargin"></td>
asier@1929
   660
                  <td></td>
asier@1929
   661
                  <td class="MessageBox_RightMargin"></td>
asier@1929
   662
                </tr>
asier@1929
   663
              </tbody>
antonio@5603
   664
asier@1929
   665
            </table>
antonio@5603
   666
            
antonio@5603
   667
            
anthony@2424
   668
            <table style="width: 550px !important;" cellspacing="0" cellpadding="0" border ="0" class="Login_Home_TableEdition" id="confirmation">
anthony@2424
   669
              <tr><td style="height: 20px;"></td></tr>
anthony@2424
   670
              <tr>
anthony@2424
   671
                <td colspan="2">
anthony@2424
   672
                  <div style="overflow: auto;">
antonio@5613
   673
                    <span class="PlainText_normal" style="font-size: 10pt; padding-left: 165px;">Do you want to rebuild the system now?</span>
anthony@2424
   674
                  </div>
anthony@2424
   675
                </td>
anthony@2424
   676
              </tr>
anthony@2424
   677
              <tr>
antonio@5613
   678
                <td style="height: 20px;"></td>
antonio@5615
   679
              </tr>
antonio@5615
   680
              <tr>
anthony@2424
   681
                <td class="Button_RightAlign_ContentCell">
anthony@2424
   682
                  <div>
antonio@5613
   683
                    <button type="button"
david@3466
   684
                      id="buttonOK" 
david@3466
   685
                      class="ButtonLink" 
david@3466
   686
                      onclick="startProcessing();return false;" 
david@3466
   687
                      onfocus="buttonEvent('onfocus', this); window.status='Accept'; return true;" 
david@3466
   688
                      onblur="buttonEvent('onblur', this);" 
david@3466
   689
                      onkeyup="buttonEvent('onkeyup', this);" 
david@3466
   690
                      onkeydown="buttonEvent('onkeydown', this);" 
david@3466
   691
                      onkeypress="buttonEvent('onkeypress', this);" 
david@3466
   692
                      onmouseup="buttonEvent('onmouseup', this);" 
david@3466
   693
                      onmousedown="buttonEvent('onmousedown', this);" 
david@3466
   694
                      onmouseover="buttonEvent('onmouseover', this); window.status='Accept'; return true;" 
david@3466
   695
                      onmouseout="buttonEvent('onmouseout', this);">
david@3466
   696
                      <table class="Button">
david@3466
   697
                        <tr>
david@3466
   698
                          <td class="Button_left"><img class="Button_Icon Button_Icon_ok" alt="Accept" title="Accept" src="../../../../../web/images/blank.gif" border="0" /></td>
david@3466
   699
                          <td class="Button_text Button_width">Yes</td>
david@3466
   700
                          <td class="Button_right"></td>
david@3466
   701
                        </tr>
david@3466
   702
                      </table>
david@3466
   703
                    </button>
anthony@2424
   704
                 </div>
anthony@2424
   705
               </td>
anthony@2424
   706
               <td class="Button_LeftAlign_ContentCell">
david@3466
   707
                <button type="button" 
david@3466
   708
                  id="buttonCancel" 
david@3466
   709
                  class="ButtonLink" 
david@8778
   710
                  onclick="closePage();return false;" 
david@3466
   711
                  onfocus="buttonEvent('onfocus', this); window.status='Cancel'; return true;" 
david@3466
   712
                  onblur="buttonEvent('onblur', this);" 
david@3466
   713
                  onkeyup="buttonEvent('onkeyup', this);" 
david@3466
   714
                  onkeydown="buttonEvent('onkeydown', this);" 
david@3466
   715
                  onkeypress="buttonEvent('onkeypress', this);" 
david@3466
   716
                  onmouseup="buttonEvent('onmouseup', this);" 
david@3466
   717
                  onmousedown="buttonEvent('onmousedown', this);" 
david@3466
   718
                  onmouseover="buttonEvent('onmouseover', this); window.status='Cancel'; return true;" 
david@3466
   719
                  onmouseout="buttonEvent('onmouseout', this);">
david@3466
   720
                  <table class="Button">
david@3466
   721
                    <tr>
david@3466
   722
                      <td class="Button_left"><img class="Button_Icon Button_Icon_cancel" alt="Cancel" title="Cancel" src="../../../../../web/images/blank.gif" border="0" /></td>
david@3466
   723
                      <td class="Button_text Button_width">Cancel</td>
david@3466
   724
                      <td class="Button_right"></td>
david@3466
   725
                    </tr>
david@3466
   726
                  </table>
david@3466
   727
                </button>
anthony@2424
   728
               </td>
anthony@2424
   729
               <td></td>
anthony@2424
   730
             </tr>
anthony@2424
   731
            </table>
antonio@5603
   732
            
antonio@5603
   733
            <table class="Popup_Client_TablePopup" cellpadding="0" cellspacing="0" style="margin-top: 15px;" id="rebuildTable">
antonio@5616
   734
           
anthony@2424
   735
antonio@5603
   736
              <tr><td colspan="4">
david@16507
   737
                <div style="overflow: hidden; width: 600px;">
antonio@5616
   738
                  <span id="rebuildMessage" class="CheckList_RebuildSystemWindow_title">Elapsed time: <span id="localTimer">00:00</span>.</br> Do not close this window.</span>
antonio@5603
   739
                 </div>
antonio@5603
   740
              </td></tr>
antonio@5603
   741
antonio@5603
   742
    
antonio@5603
   743
    <tr><td><table class="Popup_Client_TablePopup" cellpadding="0" cellspacing="0" id="restartOptions" style="margin-top: 5px;">
anthony@2424
   744
              
anthony@2424
   745
              <tr><td colspan="2">
david@16507
   746
                <div style="overflow: hidden; width: 600px;">
asier@10622
   747
                  <span class="PlainText_normal">In order for the changes to take effect, you need to restart the servlet container.</span>
anthony@2424
   748
                </div>
anthony@2424
   749
              </td></tr>
anthony@2424
   750
              <tr><td height="10"></td></tr>
anthony@2424
   751
              <tr>
david@8778
   752
                <td colspan="4"><span class="Radio_container_NOT_focused"><input name="option" required="true" value="restart" type="radio" checked></span><span class="PlainText_normal" style="padding: 0 0 0 10;">Restart servlet container now &nbsp;<a onclick="openHelp(null, '../ad_help/DisplayHelp.html', 'HELP', false, null, null, 'X', '25C886DA08E947F29AAC1D30D8B753A1', true);return false;" target="_blank" href="#restart">learn more</a></span></td>
anthony@2424
   753
              </tr>
anthony@2424
   754
              <tr>
david@8778
   755
                <td colspan="4"><span class="Radio_container_NOT_Focused"><input name="option" required="true" value="doNothing" type="radio"></span><span class="PlainText_normal" style="padding: 0 0 0 10;">Don't do anything now. I will reload the Openbravo application manually later &nbsp;<a onclick="openHelp(null, '../ad_help/DisplayHelp.html', 'HELP', false, null, null, 'X', '25C886DA08E947F29AAC1D30D8B753A1', true);return false;" target="_blank" href="#nothing">learn more</a></span></td>
anthony@2424
   756
              </tr>
anthony@2424
   757
anthony@2424
   758
              <tr><td height="20"></td></tr>
anthony@2424
   759
              <tr>
anthony@2424
   760
                <td></td>
anthony@2424
   761
                <td>
anthony@2424
   762
                  <div>
david@3466
   763
                    <button type="button" 
david@3466
   764
                      id="buttonContinue" 
david@3466
   765
                      class="ButtonLink" 
david@3466
   766
                      onclick="restart();return false;" 
david@3466
   767
                      onfocus="buttonEvent('onfocus', this); window.status='Continue'; return true;" 
david@3466
   768
                      onblur="buttonEvent('onblur', this);" 
david@3466
   769
                      onkeyup="buttonEvent('onkeyup', this);" 
david@3466
   770
                      onkeydown="buttonEvent('onkeydown', this);" 
david@3466
   771
                      onkeypress="buttonEvent('onkeypress', this);" 
david@3466
   772
                      onmouseup="buttonEvent('onmouseup', this);" 
david@3466
   773
                      onmousedown="buttonEvent('onmousedown', this);" 
david@3466
   774
                      onmouseover="buttonEvent('onmouseover', this); window.status='Continue'; return true;" 
david@3466
   775
                      onmouseout="buttonEvent('onmouseout', this);">
david@3466
   776
                      <table class="Button">
david@3466
   777
                        <tr>
david@3466
   778
                          <td class="Button_left"><img class="Button_Icon Button_Icon_ok" alt="Continue" title="Continue" src="../../../../../web/images/blank.gif" border="0" /></td>
david@3466
   779
                          <td class="Button_text Button_width">Continue</td>
david@3466
   780
                          <td class="Button_right"></td>
david@3466
   781
                        </tr>
david@3466
   782
                      </table>
david@3466
   783
                    </button>
anthony@2424
   784
                  </div>
anthony@2424
   785
                </td>
anthony@2424
   786
                <td></td>
anthony@2424
   787
              </tr>
antonio@5603
   788
            </table></td></tr>
antonio@5603
   789
              <tr><td colspan="4">
antonio@5603
   790
antonio@5603
   791
guillermo@16494
   792
                <div id="CheckList">
antonio@5603
   793
                  <div style="padding: 15 5 15 5;" id="CheckListContainer">
antonio@7513
   794
                    <div id=sectionStepTree>
antonio@7513
   795
                      <div class="CheckList_Row" id="node_xxyy">
antonio@7513
   796
                        <div id="padding_xxyy" class="CheckList_Padding_xxyy"></div>
antonio@7513
   797
                        <div id="icon_xxyy" class="CheckList_Icon_Pending"></div>
antonio@7513
   798
                        <div class="CheckList_Text_Container">
antonio@7513
   799
                         <div class="CheckList_Text_Title" id="title_xxyy">Database update</div>
antonio@7513
   800
                        </div>
antonio@7513
   801
                        <div class="CheckList_Text_Separator"></div>
antonio@7513
   802
                        <div class="CheckList_Text_Message_Processing" id="processing_xxyy" style="display: none;"> </div>
antonio@7513
   803
                        <div class="CheckList_Text_Message_Error" id="error_xxyy" style="display: none;">ERROR</div>
antonio@7513
   804
                        <div class="CheckList_Text_Message_Exception" id="exception_xxyy" style="display: none;">EXCEPTION</div>
antonio@7513
   805
                        <div class="CheckList_Text_Message_Warning" id="warning_xxyy" style="display: none;">WARNING</div>
antonio@5603
   806
                      </div>
antonio@5603
   807
                    </div>
antonio@7513
   808
                  </div>
antonio@7513
   809
                </div>
antonio@5603
   810
antonio@5603
   811
              </td></tr>
antonio@5603
   812
antonio@5603
   813
              <tr><td colspan="4">
david@16507
   814
                <div style="overflow: hidden; width: 600px;">
antonio@5603
   815
                  <span class="CheckList_RebuildSystemWindow_title">Warnings and errors:</span>
antonio@5603
   816
                </div>
antonio@5603
   817
              </td></tr>
antonio@5603
   818
antonio@5616
   819
              <tr><td height="10"></td></tr>
asier@1929
   820
              <tr>
antonio@5603
   821
                <td colspan="4">
antonio@5603
   822
                  <div class="CheckList_RebuildSystemWindow_textarea" id="warningsAndErrors">
antonio@5603
   823
                </td>
antonio@5603
   824
              </tr>
antonio@5603
   825
antonio@5603
   826
antonio@5603
   827
              <tr><td height="10"></td></tr>
antonio@5603
   828
              <tr>
antonio@5603
   829
                <td colspan="4">
asier@1929
   830
                  <div>
david@8778
   831
                    <button type="button" id="buttonLog" class="ButtonLink" onclick="openServletNewWindow('DEFAULT', false, '../ad_forms/ShowLogFile.html?filePath=xx', 'Show Log', null, false, 600, 900, null, null, false, null, true);" onfocus="buttonEvent('onfocus', this); window.status='Show log'; return true;" onblur="buttonEvent('onblur', this);" onkeyup="buttonEvent('onkeyup', this);" onkeydown="buttonEvent('onkeydown', this);" onkeypress="buttonEvent('onkeypress', this);" onmouseup="buttonEvent('onmouseup', this);" onmousedown="buttonEvent('onmousedown', this);" onmouseover="buttonEvent('onmouseover', this); window.status='Show log'; return true;" onmouseout="buttonEvent('onmouseout', this);">
david@3466
   832
                      <table class="Button">
asier@1929
   833
                        <tr>
antonio@5613
   834
                          <td class="Button_left"><img class="Button_Icon" alt="Show log" title="Show log" src="../web/images/blank.gif" border="0"/></td>
antonio@5603
   835
                          <td class="Button_text">Show log</td>
asier@1929
   836
                          <td class="Button_right"></td>
asier@1929
   837
                        </tr>
antonio@5603
   838
asier@1929
   839
                      </table>
david@3466
   840
                    </button>
asier@1929
   841
                  </div>
asier@1929
   842
                </td>
asier@1929
   843
                <td></td>
asier@1929
   844
              </tr>
antonio@5603
   845
              
asier@1929
   846
        </td>
antonio@5603
   847
asier@1929
   848
      </tr>
asier@1929
   849
    </table>
antonio@5603
   850
    
antonio@5603
   851
    
asier@1929
   852
  </form>
antonio@5603
   853
antonio@5603
   854
antonio@16436
   855
</body></html>