<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.AnexoMensagemLocalServiceUtil"%>
<%@ include file="/jsp/init.jsp" %>
<%@ page import="com.liferay.portal.kernel.util.StringBundler" %>


<%@ include file="/jsp/admin/includes/menu-lateral-principal.jspf" %>

<%
PortletURL urlBack = renderResponse.createRenderURL();
urlBack.setParameter("jspPage", "/jsp/admin/mensagem/painel.jsp");
%>

<div class="span10 context-pane">
	<div>
		<liferay-ui:header
		  backURL="<%= urlBack.toString()%>"
		  title="mensagem.painel.controle" />
    </div>
</div>		
<div class="span10 context-pane">

<liferay-portlet:renderURL var="redirect">
	<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/painel.jsp"/>
</liferay-portlet:renderURL>

<liferay-portlet:actionURL var="aprovarMensagem">
	<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='MensagemWorkFlow'/>
	<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/painel-aprovacao.jsp"/>
	<liferay-portlet:param name="acao" value="approve"/>
</liferay-portlet:actionURL>

<liferay-portlet:actionURL var="reprovarMensagem">
	<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='MensagemWorkFlow'/>
	<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/painel-aprovacao.jsp"/>
	<liferay-portlet:param name="acao" value="reject"/>
</liferay-portlet:actionURL>

<liferay-portlet:actionURL varImpl="cancelarMensagem">
	<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='MensagemWorkFlow'/>
	<liferay-portlet:param name="mensagemId" value='<%= ParamUtil.getString(renderRequest, "mensagemId") %>' />
	<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/painel.jsp"/>
	<liferay-portlet:param name="acao" value="cancel"/>
</liferay-portlet:actionURL>


<%
	Mensagem mensagem = MensagemLocalServiceUtil.getMensagem(ParamUtil.getLong(renderRequest, "mensagemId"));

	pageContext.setAttribute("mensagem", mensagem);
	
	StringBundler sb = null;
	String nomeRemetente = "";
	
	if (mensagem != null 
			&& mensagem.getTemplate() == null
			&& mensagem.getTemplateId() > 0) {
		mensagem.setTemplate(TemplateLocalServiceUtil.getTemplate(mensagem.getTemplateId()));
		
		Template template = null;
		if (mensagem != null) {
			template = mensagem.getTemplate();
			pageContext.setAttribute("template", template);
		}
		
		long[] destIds = GetterUtil.getLongValues(mensagem.getGrupoDestinatarioIds().split("\\s"));
		List<GrupoDestinatario> destinatarios = new ArrayList<GrupoDestinatario>();
		
		for (long id : destIds) {
			destinatarios.add(GrupoDestinatarioLocalServiceUtil.getGrupoDestinatario(id));
		}
		
		 sb = new StringBundler(destinatarios.size() * 2);
		
		for (int i = 0; i < destinatarios.size(); i++) {
			GrupoDestinatario dest = destinatarios.get(i);
			if (i > 0) {
				sb.append(StringPool.COMMA + StringPool.SPACE);				
			}
			sb.append(dest.getNome());
		}
		
		GrupoDestinatario remetente = GrupoDestinatarioLocalServiceUtil.getGrupoDestinatario(mensagem.getContaSaidaId());
		
		nomeRemetente = remetente.getNome();
	}
	
	String conteudoEditor = (mensagem != null ? mensagem.getConteudo() : StringPool.BLANK);
	
	//long roleId = WorkflowUtil.getWorkflowRoleId(renderRequest);
	boolean papelAprovador = WorkflowUtil.isAprovador(renderRequest);
	
	List<AnexoMensagem> anexos = null;
	
	if (mensagem != null){
		anexos = AnexoMensagemLocalServiceUtil.recuperaAnexosPorMensagem(mensagem.getMensagemId());
	}
	
%>


<aui:form name="fmMensagemWorkFlow" method="post">
			<aui:input name="redirect" value="${redirect}" type="hidden"/>
			<aui:input name="mensagemId" value="<%=mensagem.getMensagemId()%>" type="hidden"/>
            
			<c:set var="htmlMensagem">
				<c:choose>
					<c:when test="${template.estilo == 0}">
						${template.cabecalho}
						${mensagem.conteudo}
						${template.rodape}
					</c:when>
					<c:otherwise>
						<!-- {template.corpo}-->
						${mensagem.conteudo}
					</c:otherwise>
				</c:choose>
			</c:set>
			<aui:input name="htmlMensagem" value="${htmlMensagem}" type="hidden"/>
			
			<div>
				<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="mensagem.solicitante"/>: </strong><%=mensagem.getNomeSolicitante()%></p>
			</div>
			
			
			<div>
				<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="destinatario.lista"/>: </strong><%=sb.toString()%></p>
			</div>
			
			
			<div>
				<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="destinatario.conta"/>: </strong><%=nomeRemetente%></p>
			</div>
			
			<div>
				<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="mensagem.assunto"/>: </strong><%=mensagem.getAssunto()%></p>
			</div>
			
			<div>
				<p style="font-family:Verdana;font-size:10.0pt;"><%=mensagem.getLiteralAgendamento()%></p>
			</div>
			
			
			<!--  Editor para aprovador -->
			<% if (papelAprovador){ %>
			
		<!--  <div class="alerta-rascunho-recuperado alert alert-warn">
				<liferay-ui:message key="wizard.modificando.mensagem"/>
			</div> -->	
			
			<div class="alert alert-success" style="display:none;" id="div_msg_conteudo_editado">
				<liferay-ui:message key="mensagem.conteudo.editado"/>
			</div>	
			
			<button id="myBtn" class="btn taglib-icon"><liferay-ui:message key="mensagem.editar.conteudo"/></button>
			
			<div id="myModal" class="modal-message">
				<div class="modal-message-content">				
				<span class="close-message"><liferay-ui:message key="mensagem.edicao.salvar"/></span>
				<aui:field-wrapper label="mensagem.conteudo" cssClass="conteudo-wrapper">
					<div class="alert alert-error validacao conteudo"><liferay-ui:message key="mensagem.validacao.erro.conteudo"/></div>
					<liferay-ui:input-editor 
							editorImpl="<%= EDITOR_WYSIWYG_IMPL_KEY %>" 
							initMethod='<%= "initEditorConteudo" %>' 
							toolbarSet="liferay-article" 
							name="editorConteudo"/>	
					<aui:input name="conteudo" type="hidden"/>
				</aui:field-wrapper>	
				</div>
			</div>	
			
			<%} %>
			
			<% if (anexos != null && anexos.size() > 0 ) {%>
				
				<div>
					<p></p>
					<p><strong><liferay-ui:message key="anexos.visualizacao"/>:</strong></p>
					<% for (AnexoMensagem anexo : anexos) {%>
					<a target="_blank" href="<%=anexo.getAnexoUrl()%>"><%=anexo.getFileName()%></a><br/>
					<%} %>
					<p></p>
				</div>
				
			<%} %>	
			
			<aui:button-row>
				 <div id="divControle" > 
				 		<aui:select name="prioridadeId" 
								label="mensagem.prioridade" 
								required="true" 
								inlineLabel="left" 
								inlineField="false"
								showRequiredLabel="false">
							<aui:option value="0"><liferay-ui:message key="mensagem.prioridade.baixa"/></aui:option>
							<aui:option value="1"><liferay-ui:message key="mensagem.prioridade.alta"/></aui:option>
						</aui:select>
						
						<% if (mensagem.getStatusWorkflow() == StatusWorkflowEnum.PENDENTE_APROVACAO.getStatus() && mensagem.getAtivo() && papelAprovador){ %>
	        				<aui:button type="button" cssClass="btn-primary" onClick="aprovar();" value="Aprovar Mensagem" name="btnAprovar" />
	        				<aui:button type="button" cssClass="btn btn-cancel" onClick="exibirBotaoReprovar();" value="mensagem.reprovar" name="btnReprovar" />
	        				<aui:button type="button" cssClass="btn btn-cancel" onClick="cancelar();" value="Cancelar Mensagem" name="btnCancelar"/>
	        			<% } %>
	        	 </div>		
	        	 <br/>
			     <div id="divReprovacao" style="display:none;"> 
						<aui:input name="motivo" 
							type="textarea"
							label="mensagem.motivo.reprovacao" 
							rows="7"
							required="true" 
							showRequiredLabel="false" 
							cssClass="span6"
							>
							<aui:validator name="maxLength">4000</aui:validator>
							</aui:input>
						<aui:button type="button" name="btnEnviar" cssClass="btn-primary" onClick="reprovar();" value="Enviar" />
						<aui:button type="button" cssClass="btn btn-cancel" onClick="esconderBotaoReprovar();" value="Cancelar" name="btnCancelarReprovacao" />
					</div>	 
			</aui:button-row>	
					
		</aui:form>
</div>		


<aui:script use="node, liferay-search-container">

$(window).resize(function(){
	 var altura = $('.modal-message-content').height() - 130;
    $('.cke_reset').css('min-height',altura + 'px');
});				


var hiddenConteudo = A.one("#<portlet:namespace />conteudo"); 
function atualizarInputsHTML() {
	//atualizar o valor dos campos hidden com o que estiver informado no CKEditor HTML
	hiddenConteudo.val(window.<portlet:namespace />editorConteudo.getHTML());
}

Liferay.provide(
        window,
        'exibirBotaoReprovar',
        function() {
        	  var div = document.getElementById('divReprovacao');
        	  var divControle = document.getElementById('divControle');
        	  var motivo = document.getElementById('<portlet:namespace/>motivo');
        	  divControle.style.display = 'none';
        	  div.style.display = "block";
        	  motivo.focus();
        }
);

Liferay.provide(
        window,
        'esconderBotaoReprovar',
        function() {
              var div = document.getElementById('divReprovacao');
              var divControle = document.getElementById('divControle');
              var motivo = document.getElementById('<portlet:namespace/>motivo');
              divControle.style.display = 'block';
              div.style.display = "none";
              motivo.value = "";
        }
);


<% if (papelAprovador){ %>
Liferay.provide(
		window,
		'<portlet:namespace />initEditorConteudo',
		function() {
			window.<portlet:namespace />editorConteudo.setHTML("<%= UnicodeFormatter.toString(conteudoEditor) %>");
		}
	);	
<%}%>


Liferay.provide(
        window,
        'aprovar',
        function() {
        		atualizarInputsHTML();
        		var form = document.getElementById('<portlet:namespace/>fmMensagemWorkFlow');
        	    form.action = "${aprovarMensagem}";
        	    form.submit();
        }
);

Liferay.provide(
        window,
        'reprovar',
        function() {
        	atualizarInputsHTML();
        	var form = document.getElementById('<portlet:namespace/>fmMensagemWorkFlow');
    	    form.action = "${reprovarMensagem}";
    	    form.submit();
        }
);

Liferay.provide(
        window,
        'cancelar',
        function() {
            if (confirm('<liferay-ui:message key="mensagem.aviso-cancelamento"/>')) {
	            var form = document.getElementById('<portlet:namespace/>fmMensagemWorkFlow');
	            form.action = "${cancelarMensagem}";
	            form.submit();
            }
        }
);

//Get the modal
var modal = document.getElementById('myModal');

// Get the button that opens the modal
var btn = document.getElementById("myBtn");

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close-message")[0];

// When the user clicks the button, open the modal 
btn.onclick = function() {
    modal.style.display = "block";
    var altura = $('.modal-message-content').height() - 130;
    $('.cke_reset').css('min-height',altura + 'px');
    return false;
}

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
	document.getElementById("div_msg_conteudo_editado").style.display = "block";
    modal.style.display = "none";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
    if (event.target == modal) {
    	document.getElementById("div_msg_conteudo_editado").style.display = "block";
        modal.style.display = "none";
    }
}

document.getElementById('<portlet:namespace/>prioridadeId').value = '<%=mensagem.getPrioridade()%>';


</aui:script>