package br.com.citframework.tld; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyContent; import javax.servlet.jsp.tagext.BodyTagSupport; import br.com.citframework.util.Constantes; public class BalaoDica extends BodyTagSupport { /** * */ private static final long serialVersionUID = 1224475531536078566L; private String id; private String style; private String title; private String modal; private String imagemFundo; public int doStartTag() throws JspException { try { pageContext.getOut().println("<script type=\"text/javascript\">\n"); pageContext.getOut().println("function " + getId() + "() { }"); pageContext.getOut().println("" + getId() + ".show = function(){\n"); pageContext.getOut().println(" try{"); pageContext.getOut().println(" " + getId() + "_onshow();"); pageContext.getOut().println(" }catch(ex){"); pageContext.getOut().println(" }"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.top = MOUSE_PosY;\n"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" " + getId() + "_Ajusta_JanelaPopup();\n"); if ("true".equalsIgnoreCase(modal)){ pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.left = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.top = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.width = document.body.scrollWidth;"); pageContext.getOut().println(" if (document.body.clientHeight + document.body.clientTop > document.body.scrollHeight){"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.clientHeight + document.body.clientTop;"); pageContext.getOut().println(" }else{"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.scrollHeight;"); pageContext.getOut().println(" }"); } pageContext.getOut().println("}\n\n"); pageContext.getOut().println("" + getId() + ".showInYPosition = function(objPos){\n"); pageContext.getOut().println(" try{"); pageContext.getOut().println(" " + getId() + "_onshow();"); pageContext.getOut().println(" }catch(ex){"); pageContext.getOut().println(" }"); pageContext.getOut().println(" if (objPos != null){"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.top = objPos.top;\n"); pageContext.getOut().println(" }"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" " + getId() + "_Ajusta_JanelaPopup();\n"); if ("true".equalsIgnoreCase(modal)){ pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.left = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.top = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.width = document.body.scrollWidth;"); pageContext.getOut().println(" if (document.body.clientHeight + document.body.clientTop > document.body.scrollHeight){"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.clientHeight + document.body.clientTop;"); pageContext.getOut().println(" }else{"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.scrollHeight;"); pageContext.getOut().println(" }"); } pageContext.getOut().println("}\n\n"); pageContext.getOut().println("" + getId() + ".showInPosition = function(objPos){\n"); pageContext.getOut().println(" try{"); pageContext.getOut().println(" " + getId() + "_onshow();"); pageContext.getOut().println(" }catch(ex){"); pageContext.getOut().println(" }"); pageContext.getOut().println(" if (objPos != null){"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.top = objPos.top;\n"); pageContext.getOut().println(" }"); pageContext.getOut().println(" if (objPos != null){"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.left = objPos.left;\n"); pageContext.getOut().println(" }"); pageContext.getOut().println(" document.getElementById('" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" " + getId() + "_Ajusta_JanelaPopup();\n"); if ("true".equalsIgnoreCase(modal)){ pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.display='block';\n"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.left = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.top = 0;"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.width = document.body.scrollWidth;"); pageContext.getOut().println(" if (document.body.clientHeight + document.body.clientTop > document.body.scrollHeight){"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.clientHeight + document.body.clientTop;"); pageContext.getOut().println(" }else{"); pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.height = document.body.scrollHeight;"); pageContext.getOut().println(" }"); } pageContext.getOut().println("}\n\n"); pageContext.getOut().println("" + getId() + ".hide = function(){\n"); pageContext.getOut().println(" try{"); pageContext.getOut().println(" " + getId() + "_onhide();"); pageContext.getOut().println(" }catch(ex){"); pageContext.getOut().println(" }"); pageContext.getOut().println(" " + getId() + "_Ajusta_JanelaPopup();\n"); if ("true".equalsIgnoreCase(modal)){ pageContext.getOut().println(" document.getElementById('divBloqueiaTela_" + getId() + "').style.display='none';\n"); } pageContext.getOut().println(" document.getElementById('" + getId() + "').style.display='none';\n"); pageContext.getOut().println("}\n\n"); pageContext.getOut().println("" + getId() + ".setTitle = function(title){\n"); pageContext.getOut().println(" document.getElementById('" + getId() + "_title').innerHTML = title;"); pageContext.getOut().println("}\n\n"); pageContext.getOut().println("function " + getId() + "_Ajusta_JanelaPopup(){\n"); pageContext.getOut().println(" var dvInterna = document.getElementById('divIntJanelaPopup_" + getId() + "');\n"); pageContext.getOut().println(" var dvCorpo = document.getElementById('divCorpoJanelaPopup_" + getId() + "');\n"); pageContext.getOut().println(" var dvLookup = document.getElementById('divJanelaPopup_" + getId() + "');\n"); pageContext.getOut().println(" var fraLookup = document.getElementById('fraJanelaPopup_" + getId() + "');\n"); pageContext.getOut().println(" dvLookup.style.height = document.getElementById('" + getId() + "').style.height;\n"); pageContext.getOut().println(" dvLookup.style.width = document.getElementById('" + getId() + "').style.width;\n"); pageContext.getOut().println(" dvInterna.style.height = document.getElementById('" + getId() + "').style.height;\n"); pageContext.getOut().println(" dvInterna.style.width = document.getElementById('" + getId() + "').style.width;\n"); pageContext.getOut().println(" dvInterna.style.top = '0px'"); pageContext.getOut().println(" dvCorpo.style.top = '25px'"); pageContext.getOut().println("}\n"); pageContext.getOut().println("</script>\n"); pageContext.getOut().println("<div id='" + getId() + "' style='" + getStyle() + ";z-index:4001;'>\n"); pageContext.getOut().println("<div style='z-index:2;' id='divJanelaPopup_" + getId() + "'></div>\n"); pageContext.getOut().println("<div style='position:absolute;background-image:url(" + imagemFundo + ")' id='divIntJanelaPopup_" + getId() + "'>\n"); pageContext.getOut().println("<table width='100%'>\n"); pageContext.getOut().println("<tr>\n"); pageContext.getOut().println("<td width='95%'>\n"); pageContext.getOut().println(" "); pageContext.getOut().println("</td>\n"); pageContext.getOut().println("<td width='5%' align='center' style='cursor:pointer'>\n"); pageContext.getOut().println("<img alt='Fechar janela' onclick='" + getId() + ".hide();' src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/fecharLookup.gif'/>\n"); pageContext.getOut().println("</td>\n"); pageContext.getOut().println("</tr>\n"); pageContext.getOut().println("</table>\n"); pageContext.getOut().println("</div>"); pageContext.getOut().println("<div id='divCorpoJanelaPopup_" + getId() + "' style='position:absolute;'>"); } catch (IOException e) { throw new JspException(e); } return EVAL_BODY_INCLUDE; } public int doEndTag() throws JspException { try { pageContext.getOut().println("</div>\n"); pageContext.getOut().println("</div>\n"); pageContext.getOut().println("</div>\n"); if ("true".equalsIgnoreCase(modal)){ //Gera a DIV de Bloqueio da Tela. pageContext.getOut().println("<div id='divBloqueiaTela_" + getId() + "' style='z-index:3000;position:absolute; CURSOR: wait; BACKGROUND-COLOR:gray; filter:alpha(opacity=20);-moz-opacity:.25;opacity:.25;'>"); pageContext.getOut().println("</div>"); } } catch (IOException e) { throw new JspException(e); } return super.doEndTag(); } public int doAfterBody() throws JspException { return super.doAfterBody(); } public BodyContent getBodyContent() { BodyContent b = super.getBodyContent(); return b; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getModal() { return modal; } public void setModal(String modal) { this.modal = modal; } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getImagemFundo() { return imagemFundo; } public void setImagemFundo(String imagemFundo) { this.imagemFundo = imagemFundo; } }