<fmt:bundle basename="text.jsp.process.process_toolbar" >
<c:set var="ACTIVE"><%=com.appiancorp.suiteapi.process.ProcessSummary.STATE_ACTIVE%></c:set>
<c:set var="PAUSED"><%=com.appiancorp.suiteapi.process.ProcessSummary.STATE_PAUSED%></c:set>
<c:set var="PAUSED_BY_EXCEPTION"><%=com.appiancorp.suiteapi.process.ProcessSummary.STATE_PAUSED_BY_EXCEPTION%></c:set>
<c:set var="process" scope="page" value="${process_details}"/>

<script type="text/javascript">
  var areThereLinkedProcesses = false;
  initializeProcessDetailsPage();
  if(executeJavaScript()){
    <c:if test="${param.addExtraAttachments == 'true'}">
      reloadAttachmentPopup(<c:if test="${!empty addAttachmentsError}">true</c:if>);
    </c:if>
    selectTab('<asi:out encoding="js" value="${param.showTab}" />');
  }

  function selectTab(tabName) {
    var tab = $$(tabName);
    if(tab) tab.onclick();
  }

  function initializeProcessDetailsPage() {
    <c:if test="${!empty containsLinkedProcesses  && containsLinkedProcesses == 'true'}">
      areThereLinkedProcesses = true;
    </c:if>
    <c:if test="${!empty requestScope['org.apache.struts.action.ERROR']}">
      if(getObject('asiDialog')) { 
        DIALOG.hideAll(); 
      }
    </c:if>
  }
  function confirmProcessDeleteType(){
    if(areThereLinkedProcesses)
      asi.confirm('<fmt:message key="ThereAreLinkedProces"/>', deleteProcess,new Array('true'),deleteProcess,new Array('false'));
    else deleteProcess('false');
  }

  function deleteProcess(deleteLinkedProcesses) {
    var friendly = encodeURIComponent('<asi:out encoding="js" value="${param.friendly}" />');
    deleteLinkedProcesses = encodeURIComponent(deleteLinkedProcesses);
    var myUrl = '<asi:url value="/process/deleteprocess.do?selectFirstProcess=true" update="true"><asi:param name="processId" value="${process.id}"/><asi:param name="groupid" value="${param.groupid}"/><asi:param name="completed" value="${param.completed}"/><asi:param name="paused" value="${param.paused}"/><asi:param name="active" value="${param.active}"/><asi:param name="cancelled" value="${param.cancelled}"/><asi:param name="pausedByException" value="${param.pausedByException}"/></asi:url>' + '&deleteLinkedProcesses=' + deleteLinkedProcesses + '&friendly=' + friendly;
    backgroundPage( myUrl );
  }

  function confirmProcessCancelType(){
    if(areThereLinkedProcesses)
      asi.confirm('<fmt:message key="ThereAreLinkedProces_2"/>', cancelProcess, new Array('true'),cancelProcess,new Array('false'));
    else cancelProcess('false');
  }

  function cancelProcess(cancelLinkedProcesses) {
    var friendly = encodeURIComponent('<asi:out encoding="js" value="${param.friendly}" />');
    var processName = encodeURIComponent('<asi:out encoding="js" value="${process.name}" />');
    cancelLinkedProcesses = encodeURIComponent(cancelLinkedProcesses);
    var myUrl = '<asi:url value="/process/cancelprocess.do?selectFirstProcess=true" update="true"><asi:param name="processId" value="${process.id}"/><asi:param name="groupid" value="${param.groupid}"/><asi:param name="completed" value="${param.completed}"/><asi:param name="paused" value="${param.paused}"/><asi:param name="active" value="${param.active}"/><asi:param name="cancelled" value="${param.cancelled}"/><asi:param name="pausedByException" value="${param.pausedByException}"/></asi:url>&cancelLinkedProcesses=' + cancelLinkedProcesses + '&processName=' + processName + '&friendly=' + friendly;
    backgroundPage( myUrl );
  }

  function pauseProcesses() {
    var myUrl = '<asi:url value="/process/pauseProcess.do" update="true"><asi:param name="processId" value="${process.id}"/></asi:url>';
    backgroundPage( myUrl );
  }

  function resumeProcesses() {
    var myUrl = '<asi:url value="/process/resumeProcess.do" update="true"><asi:param name="processId" value="${process.id}"/></asi:url>';
    backgroundPage( myUrl );
  }

  function viewSecurity() {
    var myUrl = '<asi:url value="/process/ViewProcessSecurity.do?$e=asiDialog" containerId="asiDialog"><asi:param name="processId" value="${process.id}"/></asi:url>';
    backgroundAction( myUrl );
  }

  function changePriority() {
    var processName = encodeURIComponent('<asi:out encoding="js" value="${process.name}" />');
    var myUrl = '<asi:url value="/process/ChangePriority.do?isProcessView=true&changeType=process&asiDialogSize=small&selectFirstProcess=true&forward=process" containerId="asiDialog"><asi:param name="straightToProcessId" value="${process.id}"/><asi:param name="priority" value="${process.priority.id}"/><asi:param name="processId" value="${process.id}"/><asi:param name="completed" value="${param.completed}"/><asi:param name="paused" value="${param.paused}"/><asi:param name="active" value="${param.active}"/><asi:param name="cancelled" value="${param.cancelled}"/><asi:param name="pausedByException" value="${param.pausedByException}"/><asi:param name="friendly" value="${param.friendly}"/></asi:url>' + "&processName=" + processName;
    backgroundAction( myUrl );
  }

</script>

<c:if test="${process.permissions.stopAndPause}">
  <c:if test="${process.permissions.delete}">
    <c:set var="confMsg"><fmt:message key="DeletingARunningProc"/></c:set>
    <asi:link href="#" onclick="asi.confirm('${confMsg}',confirmProcessDeleteType,null); return false;" title="DeleteThisProcess"><p:img page="/components/toolbar/img/delete_toolbar.gif" altKey="Delete" /><fmt:message key="Delete_2"/></asi:link>
  </c:if>
  <c:if test="${process.status == ACTIVE}">
    <asi:link href="#" onclick="pauseProcesses(); return false;" title="PauseThisProcess" decorator="background" update="true"><p:img page="/components/toolbar/img/pause.gif" altKey="PauseProcess" /><fmt:message key="Pause"/></asi:link>
  </c:if>
  <c:if test="${ (process.status == PAUSED) || (process.status == PAUSED_BY_EXCEPTION) }">
    <asi:link href="#" onclick="resumeProcesses(); return false;" title="ResumeThisProcess" decorator="background" update="true"><p:img page="/components/toolbar/img/resume.gif" altKey="ResumeProcess" /><fmt:message key="Resume"/></asi:link>
  </c:if>
  <c:if test="${( (process.status == ACTIVE) || (process.status == PAUSED) ) || (process.status == PAUSED_BY_EXCEPTION)}">
    <c:set var="confMsg"><fmt:message key="CancellingThisProces"/></c:set>
      <asi:link href="#" onclick="asi.confirm('${confMsg}',confirmProcessCancelType,null); return false;" title="CancelThisProcess"><p:img page="/components/toolbar/img/stop.gif" altKey="Cancel" /><fmt:message key="Cancel_2"/></asi:link>
  </c:if>
</c:if>
<c:if test="${process.permissions.modifyInFlight}">
  <asi:link href="#" onclick="loadModeler2('${process.id}', true); return false;" decorator="frameset"><p:img page="/components/toolbar/img/edit.gif" altKey="EditProcess" /><fmt:message key="EditProcess_2"/></asi:link>
</c:if>
<asi:link href="#" onclick="loadModeler2('${process.id}', false); return false;" decorator="frameset"><p:img page="/components/toolbar/img/monitorprocess.gif" altKey="MonitorProcess" /><fmt:message key="MonitorProcess_2"/></asi:link>
<c:if test="${process.permissions.modifyInFlight && process.mutablePriority && process.status == 0}">
  <asi:link href="#" onclick="changePriority(); return false;" title="ChangeThePriorityOfT" update="false" decorator="background" containerId="asiDialog"><p:img page="/components/toolbar/img/priority.gif" altKey="ChangeProcessPriorit" /><fmt:message key="ChangePriority"/></asi:link>
</c:if>
<c:if test="${process.permissions.changeRole}">
  <asi:link href="#" onclick="viewSecurity(); return false;" title="SetOrModifyTheSecuri" background="true"><p:img page="/components/toolbar/img/lock.gif" altKey="SetSecurity" /><fmt:message key="Security"/></asi:link>
</c:if>
</fmt:bundle>
