<%@page import="com.liferay.portal.theme.ThemeDisplay"%>
<%@ include file="/jsp/init.jsp" %>

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


<style> 
	.delta-selector,.page-selector {
	display: none 
} 
</style>

<div class="span10 context-pane">
	<liferay-ui:success key="template-sucesso-gravar" message="template.sucesso-gravar"/>
	
	<%@ include file="/jsp/admin/includes/carregar-dados-wizard.jspf" %>
	
	<aui:model-context bean="<%= mensagem %>" model="<%= Mensagem.class %>" />
	
	<%	
		String conteudoEditor = (mensagem != null ? mensagem.getConteudo() : StringPool.BLANK);
	
	  if (template != null && template.getEstilo() == 1 && conteudoEditor == ""){
		  conteudoEditor = template.getCorpo();
		  
	  }
	  
	  boolean papelAprovador = WorkflowUtil.isAprovador(renderRequest);
	  
	  
	  %>
	
	<div class="formulario-mensagem-dados">
		<liferay-ui:header title="mensagem.header.formulario"/>
		
		<liferay-portlet:renderURL var="proximaPaginaURL">
			<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/pre-visualizar.jsp"/>
			<liferay-portlet:param name="wizard" value="true"/>
			<liferay-portlet:param name="passoAtual" value="3"/>
			<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
		</liferay-portlet:renderURL>
		
		<liferay-portlet:renderURL var="paginaURL">
			<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/formulario.jsp"/>
			<liferay-portlet:param name="wizard" value="true"/>
			<liferay-portlet:param name="passoAtual" value="2"/>
			<liferay-portlet:param name="tipoListaParam" value="0"/>
			<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
		</liferay-portlet:renderURL>
				
		
		<liferay-portlet:renderURL var="formularioMensagemURL">
			<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/formulario.jsp"/>
		</liferay-portlet:renderURL>
		
		<liferay-portlet:renderURL var="paginaAnteriorURL">
			<liferay-portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp"/>
			<liferay-portlet:param name="wizard" value="true"/>
			<liferay-portlet:param name="passoAtual" value="1"/>
			<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
		</liferay-portlet:renderURL>		
			
		<liferay-portlet:actionURL var="processarPassoURL">
			<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='WizardMensagemDados'/>
			<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/formulario.jsp"/>
			<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
		</liferay-portlet:actionURL>
		
		<aui:form name="fmDadosMensagem" action="${processarPassoURL}" method="post"  enctype="multipart/form-data">
			<aui:input name="redirect" value="${proximaPaginaURL}" type="hidden"/>
			<aui:input name="rascunho" value="${param.rascunho}" type="hidden"/>
			<aui:input name="templateId" value="${template.templateId}" type="hidden"/>
			<aui:input name="goBack" value="${paginaAnteriorURL}" type="hidden" />
			<input type="hidden" name="temAnexos" id="temAnexos" value="0"/>
			
			
			<aui:fieldset>
				 
				<% if (papelAprovador && !revisao) { %>
					<aui:input name="checkAprovacao" label="mensagem.aprovacao.direta" type="checkbox" checked="${mensagem != null && mensagem.statusWorkflow == 0}"/>
				<% }%>	
				
				<aui:input name="nomeSolicitante" 
							type="text"
							label="mensagem.solicitante" 
							required="true" 
							inlineLabel="left" 
							showRequiredLabel="false" 
							wrapperCssClass="label-mensagem-dados"
							cssClass="span6">
							<aui:validator name="maxLength">75</aui:validator>
				</aui:input>	
				
				<aui:field-wrapper cssClass="label-mensagem-dados form-inline container-destinatarios">
					<label class="control-label">
						<liferay-ui:message key="mensagem.destinatarios"/>
					</label>
					<div class="lista-destinatarios-wrapper">
						<div class="alert alert-error validacao destinatario"><liferay-ui:message key="mensagem.validacao.erro.destinatario"/></div>
						<liferay-ui:icon
							cssClass="selecionar-destinatarios"
							iconCssClass="icon-search"
							id="selectDestinatarioLink"
							label="<%= true %>"
							linkCssClass="btn"
							message="mensagem.selecionar-destinatarios"
							url="javascript:;"
						/>
						
						<liferay-ui:search-container
							headerNames="Nome"
						    rowChecker="<%= new RowChecker(renderResponse) %>">
						    
						    <liferay-ui:search-container-results>
								<%
									List<GrupoDestinatario> lista = GrupoDestinatarioLocalServiceUtil
																		.findByGrupoDestinatarioIdArray(
																				mensagem.getGrupoDestinatarioIds());
									if (lista != null){
										pageContext.setAttribute("results", lista);
										pageContext.setAttribute("total", lista.size());
									}
								%>        														
						    </liferay-ui:search-container-results>
						    
						    <liferay-ui:search-container-row
							        className="br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"
							        escapedModel="true"
							        keyProperty="grupoDestinatarioId"
							        modelVar="grupoDestinatario"
							        rowIdProperty="grupoDestinatarioId">
							        
					        	<liferay-ui:search-container-column-text
					           	 	name="Nome"
					            	orderable="false"
					            	property="nome"
					            	cssClass="tabela-td-center"
					    	    />
						    </liferay-ui:search-container-row>
						
						    <liferay-ui:search-iterator paginate="<%=false%>"/>
						    
						</liferay-ui:search-container>
						
						<aui:button cssClass="remover-destinatarios" type="button" value="delete" onClick="javascript:excluirDestinatarios()"/>
					</div>
					<div class="clearfix"></div>
				</aui:field-wrapper>
				
				<div class="label-mensagem-dados">
					<aui:select name="contaSaidaId" 
								label="mensagem.conta-saida" 
								required="true" 
								inlineLabel="left" 
								showRequiredLabel="false">
								
					<aui:option value="">
					<liferay-ui:message key="mensagem.opcao.conta-saida"/></aui:option>
						<c:forEach var="contaSaida" items="<%=GrupoDestinatarioSearch.pesquisar(renderRequest ,themeDisplay.getCompanyId(), TipoListaEnum.CONTA_SAIDA.getId(), true)%>">
							<aui:option value="${contaSaida.grupoDestinatarioId}">${contaSaida.nome}</aui:option>
						</c:forEach>
					</aui:select>
					
					<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>
				</div>
				
				<aui:input name="assunto" 
							type="text"
							label="mensagem.assunto" 
							required="true" 
							inlineLabel="left" 
							showRequiredLabel="false"
							wrapperCssClass="label-mensagem-dados"
							cssClass="span6">
							<aui:validator name="maxLength">255</aui:validator>
				</aui:input>
				
				<div class="alert alert-success" style="display:none;" id="div_msg_conteudo_editado">
					<liferay-ui:message key="mensagem.conteudo.editado"/>
				</div>	
				
				<div class="alert alert-error validacao conteudo"><liferay-ui:message key="mensagem.validacao.erro.conteudo"/></div>
				
				<button id="myBtn" class="btn taglib-icon"><liferay-ui:message key="mensagem.editar.conteudo"/></button>
				<input type="file" id="file" name="uploadedFile"  multiple="multiple"  style="display: none;">
				<input type="button" class="btn taglib-icon" value="Anexar arquivos..." onclick="document.getElementById('file').click();"  />
				
				<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">
						<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>
				
				<div>
					<% if (anexos != null && anexos.size() > 0 ) {%>
					<div>
						<p></p>
						<p><strong><liferay-ui:message key="anexos.visualizacao"/>:</strong></p>
						<table class="table table-bordered table-hover table-striped">
						<% for (AnexoMensagem anexo : anexos) {%>
						
						 	<liferay-portlet:actionURL varImpl="removerAnexo">
       							<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='AnexoMensagemExcluir'/>
      							<liferay-portlet:param name="redirect" value="${formularioMensagemURL}" />
     					  		<liferay-portlet:param name="anexoMensagemId" value="<%= String.valueOf(anexo.getAnexoMensagemId()) %>" />
 							</liferay-portlet:actionURL>
							<tr>
								<td>
									<a href="<%=anexo.getAnexoUrl()%>"><%=anexo.getFileName()%></a>  
								</td>
								<td >
									<a href="${removerAnexo}" ><liferay-ui:message key="anexo.remover"/></a>
								</td>
							</tr>
						<%} %>
						
						</table>
					</div>
					<%} %>	
					
				</div>
				<div id="fileList"></div>
				
			</aui:fieldset>
			<hr/>
		</aui:form>
		
		<div class="botoes-acao-wizard-wrapper clearfix">
			<div class="botao-wizard-wrapper lado-esquerdo">
				<a href="javascript:window.location.href = $('#<portlet:namespace/>goBack').val()" id="<portlet:namespace/>btAnterior" class="botao-wizard anterior">
					<i class="icon-circle-arrow-left"></i>
					<liferay-ui:message key="wizard.navegacao.botao.template.selecionar"/>
				</a>
			</div>		
			<div class="botao-wizard-wrapper lado-direito">
				<a href="javascript:" id="<portlet:namespace/>btProximo" class="botao-wizard proximo">
					<liferay-ui:message key="wizard.navegacao.botao.mensagem.pre-visualizar"/>
					<i class="icon-circle-arrow-right"></i>
				</a>
			</div>
		</div>		
	</div>
</div>

<liferay-portlet:renderURL var="selDestinatariosURL" windowState="<%=LiferayWindowState.POP_UP.toString()%>">
	<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/destinatario-popup.jsp"/>
	<liferay-portlet:param name="tipoLista" value="0"/>
</liferay-portlet:renderURL>

<aui:script use="node,liferay-search-container">
	var dialogId = 'dialogSelDestinatarios';
	var searchContainer = Liferay.SearchContainer.get('<portlet:namespace />grupoDestinatariosSearchContainer');
	//template para o checkbox a ser adicionado na tabela de resultados
	var templateChkBoxSearch = "<input name='<portlet:namespace/>rowIds' type='checkbox' value='_ID_' onclick='Liferay.Util.checkAllBox(AUI().one(this).ancestor('.table'), '<portlet:namespace/>rowIds', '<portlet:namespace/>allRowIds');AUI().one(this).ancestor('tr:not(.lfr-template)').toggleClass('info');'>";	

	var hiddenConteudo = A.one("#<portlet:namespace />conteudo"); 

	A.one("#<portlet:namespace/>btProximo").on('click', function() {
		gravarDadosMensagem('${proximaPaginaURL}');
	});

	A.one("#file").on('change', function() {
		$("#temAnexos").val(1);
		gravarDadosMensagem('${paginaURL}');
	});

	A.one('#<portlet:namespace />selectDestinatarioLink', true).on(
			'click',
			function(event) {
				exibirSelDestinatarioPopup();
			}
		);	

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

	function gravarDadosMensagem(urlRedirect) {
		atualizarInputsHTML();
		
		if (validarForm()) {
			A.one('#<portlet:namespace/>redirect').val(urlRedirect);
			submitForm(document.<portlet:namespace/>fmDadosMensagem);
		}
	}	

	function validarForm() {
		exibirMsgValidadaoEditor(false);
		if (hiddenConteudo.val() == '') {
			exibirMsgValidadaoEditor(true, 'conteudo');
			return false;
		}
		else if (searchContainer.getData() == '') {
			exibirMsgValidadaoEditor(true, 'destinatario');
			window.scroll(0,0);
			return false;
		}
		return true;
	}

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

	Liferay.provide(
	        window,
	        'associarDestinatarios',
	        function(destinatarios) {
				Liferay.Util.getWindow(dialogId).hide();

				if (destinatarios != undefined && destinatarios != null) {
					for (var i = 0; i < destinatarios.length; i++) {
						var dest = destinatarios[i];
						
						if (possuiDestinatario(dest.id)) continue;

			            var rowColumns = [];

			            rowColumns.push(templateChkBoxSearch.replace("_ID_", dest.id));
			            rowColumns.push(dest.nome);

			            $(".validacao.destinatario").hide();

			            searchContainer.addRow(rowColumns, dest.id);
			            searchContainer.updateDataStore();
					}

					ocultarExibirAlertaSemDestinatario(false);
					ocultarExibirBtExclusao(searchContainer.getData() != '');
				}

	        }
	    );
    	
	Liferay.provide(
	        window,
	        'exibirSelDestinatarioPopup',
	        function() {
	            Liferay.Util.openWindow({ 
	       	     dialog: { 
	       	             centered: true, 
	       	             modal: true
	       	             }, 
	       	     id: dialogId, 
	       	     title: "<liferay-ui:message key='mensagem.selecionar-destinatarios' />", 
	       	     uri: '${selDestinatariosURL}'
	            });
	        }
	);


    function possuiDestinatario(destinatarioId) {
	    //verificar se o ID já foi selecionado.
	    //caso já exista, retorna true.
	    var ids = searchContainer.getData(true); //retorna um array (parâmetro true)
	    var index = A.Array.indexOf(ids, destinatarioId.toString());
	    return (index > -1);
    }

    function ocultarExibirAlertaSemDestinatario(exibir)	{
    	var div = A.one(".alert-info.grupo-destinatario");
    	if (div != null) {
	    	if (exibir) {
	    		div.show();
	    	}
	    	else {
				div.hide();
			}
    	}
	}

	Liferay.provide(
	        window,
	        'excluirDestinatarios',
	        function() {
	        	//cria um array de objetos com as informações dos destinatarios selecionados,
	        	//para que sejam incluídos na página que originou o popup, para futura persistência na base.
				var idsSel = Liferay.Util.listChecked(document.<portlet:namespace/>fmDadosMensagem).split(',');
				if (idsSel != null) {
					for (var i = 0; i < idsSel.length; i++) {
						var id = idsSel[i];
						
						if (id == 'on' || id == '') continue;

						//obter o elemento TR relacionado com o checkbox, para exclusao
						var tr = A.one("input[name='<portlet:namespace/>rowIds'][value='" +  id + "']").ancestor("tr");
			            
			            searchContainer.deleteRow(tr, id);				
					}
				}
				ocultarExibirBtExclusao(searchContainer.getData() != '');
	        },
	        ['liferay-util-list-fields']
	);

    function ocultarExibirBtExclusao(exibir)	{
    	var div = A.one("button.remover-destinatarios");
    	if (div != null) {
			div.setStyle("display", (exibir == true ? "block" : "none"));
    	}
	}	

 // 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).ready(function(){
		
		$(window).resize(function(){
			 var altura = $('.modal-message-content').height() - 130;
		     $('.cke_reset').css('min-height',altura + 'px');
		});				
	});


    ocultarExibirBtExclusao(searchContainer.getData() != '');	
    document.getElementById('<portlet:namespace/>prioridadeId').value = '<%=mensagem.getPrioridade()%>';
    
</aui:script>

<script type="text/javascript">
	document.getElementById("<portlet:namespace />nomeSolicitante").focus();
</script>