Pessoal é o seguinte gostaria de pegar a posição de um objeto na tela JSF e passar para outro por javaScript.
Quero que ao clicar no botão, é mostrado o painel na mesma posição do botão, veja como estou fazendo porem não está funcionando o posicionamento.
Meu JSF
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui">
<link rel="stylesheet" type="text/css" href="css/fire.css" />
<script type="text/javascript" src="js/saybien.js"></script>
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form id="frm">
<p:commandButton id="cmdEmail"
value="Email"
onclick="posicionar('frm:cmdEmail','frm:pnlEmail');"/>
<p:panel id="pnlEmail"
widgetVar="pnlEmail"
visible="false"
header="email"
style="height:300px; width: 300px ;"/>
</h:form>
</h:body>
</html>
JavaScript
function posicionar(btn, painel) {
var atual_left = 0;
var atual_top = 0;
var botao = document.getElementById(btn);
var pnl = document.getElementById(painel);
if (botao.offsetParent) {
while (botao.offsetParent) {
atual_left += botao.offsetLeft
botao = botao.offsetParent;
}
}
if (botao.offsetParent) {
while (botao.offsetParent) {
atual_top += botao.offsetTop
botao = botao.offsetParent;
}
}
pnl.offsetLeft = atual_left;
pnl.offsetTop = atual_top;
pnlEmail.show();
}
Alguem poderia me ajudar?
Deste já agradeço