package br.com.citframework.tld; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; public class TabControl extends BodyTagSupport{ /** * */ private static final long serialVersionUID = 7095283995872329494L; private String tabs; private String descs; private String width; private String abaAtiva; private String raizImagens; private String name; public int doStartTag() throws JspException { int abaAtivaAux = 1; int qtdeAbas = 0; String[] abas; String[] titulos; StringBuilder strBuff = new StringBuilder(); if (this.getTabs().indexOf(";")>0){ abas = this.getTabs().split(";"); titulos = this.getDescs().split(";"); if (titulos.length != abas.length){ throw new JspException("Numero de Parametros em [tabs] � diferente de [desc]"); } }else{ abas = new String[1]; abas[0] = this.getTabs(); titulos = new String[1]; titulos[0] = this.getDescs(); } strBuff.append("<table border='0' cellspacing='0' cellpadding='0' width='"+getWidth()+"'>\n"); strBuff.append(" <tr>\n"); qtdeAbas = abas.length; abaAtivaAux = Integer.parseInt("0" + getAbaAtiva()); abaAtivaAux = abaAtivaAux - 1; if (abaAtivaAux < 0) abaAtivaAux = 0; for (int i=0; i<qtdeAbas; i++){ strBuff.append("<!-- Aba "+i+" -->\n"); strBuff.append("<td><img id='qE"+getName()+abas[i]+"' src='"+getRaizImagens()+"/"); if (i == abaAtivaAux){ strBuff.append("quinaEsqAtiva.png"); }else{ strBuff.append("quinaEsqDesat.png"); } strBuff.append("' border='0'>"); strBuff.append("</td>\n"); strBuff.append("<td id='qM"+getName()+abas[i]+"' style='cursor:hand;FONT-WEIGHT: normal;FONT-SIZE: 9px;COLOR: black;FONT-FAMILY: Tahoma, Arial, Helvetica, sans-serif' nowrap background='"+getRaizImagens()+"/"); if (i == abaAtivaAux){ strBuff.append("meioBgAtiva.png"); }else{ strBuff.append("meioBgDesat.png"); } strBuff.append("' onclick=\"javascript:ABA_"+getName()+"_AtivarAba('"+abas[i]+"');\">"); strBuff.append(titulos[i]); strBuff.append("</td>"); strBuff.append("<td><img id='qD"+getName()+abas[i]+"' src='"+getRaizImagens()+"/"); if (i == abaAtivaAux){ strBuff.append("quinaDirAtiva.png"); }else{ strBuff.append("quinaDirDesat.png"); } strBuff.append("' border='0'>"); strBuff.append("</td>\n"); } strBuff.append("<td align='right' width='100%' background='"+getRaizImagens()+"/compTop.png'></td>\n"); strBuff.append("</tr>\n"); strBuff.append("</table>\n"); strBuff.append("<script>\n"); strBuff.append("function ABA_"+getName()+"_AtivarAba(abaAtivar){\n"); for (int i=0; i<qtdeAbas; i++){ strBuff.append("document.getElementById('"+abas[i]+"').style.display='none';\n"); strBuff.append("document.getElementById('qE"+getName()+abas[i]+"').src='"+getRaizImagens()+"/quinaEsqDesat.png';\n"); strBuff.append("document.getElementById('qM"+getName()+abas[i]+"').background='"+getRaizImagens()+"/meioBgDesat.png';\n"); strBuff.append("document.getElementById('qD"+getName()+abas[i]+"').src='"+getRaizImagens()+"/quinaDirDesat.png';\n"); } strBuff.append("document.getElementById(abaAtivar).style.display='block';\n"); strBuff.append("document.getElementById('qE"+getName()+"'+abaAtivar).src='"+getRaizImagens()+"/quinaEsqAtiva.png';\n"); strBuff.append("document.getElementById('qM"+getName()+"'+abaAtivar).background='"+getRaizImagens()+"/meioBgAtiva.png';\n"); strBuff.append("document.getElementById('qD"+getName()+"'+abaAtivar).src='"+getRaizImagens()+"/quinaDirAtiva.png';\n"); strBuff.append("}\n"); strBuff.append("</script>\n"); try { pageContext.getOut().println(strBuff.toString()); } catch (IOException e) { e.printStackTrace(); throw new JspException(e); } return SKIP_BODY; } public String getDescs() { return descs; } public void setDescs(String descs) { this.descs = descs; } public String getTabs() { return tabs; } public void setTabs(String tabs) { this.tabs = tabs; } public String getWidth() { return width; } public void setWidth(String width) { this.width = width; } public String getAbaAtiva() { if (this.abaAtiva == null){ this.abaAtiva = ""; } return abaAtiva; } public void setAbaAtiva(String abaAtiva) { this.abaAtiva = abaAtiva; } public String getRaizImagens() { return raizImagens; } public void setRaizImagens(String raizImagens) { this.raizImagens = raizImagens; } public String getName() { return name; } public void setName(String name) { this.name = name; } }