This function is perfect in chrome but does not work in firefox. the error is that in firefox it returns me in the console that "event is not defined" but in the chorme ta ok. Variables that are not in the function are global. (I do not use jquery and I do not want to use it)
Call OnMouseDown:
function move_janela_inicia(div_barra_id)
{
<!--pega o tamanho do body principal que esta na index-->
elemento_body = window.parent.document.getElementById('corpo_main');
<!--pega o retangulo do body-->
boxDoElemento = elemento_body.getBoundingClientRect();
<!--pega a camada que vai se mover efetivamente, a barra filha já veio no parãmetro e assim sei quem é a pai-->
elemento_move=document.getElementById(window.parent.document.getElementById(div_barra_id).parentNode.id);
maximo_top=elemento_body.offsetHeight-elemento_move.offsetHeight;
maximo_left=elemento_body.offsetWidth-elemento_move.offsetWidth;
mover=1;
document.getElementById(div_barra_id).addEventListener("mouseout", function() {
move_janela_mouse();
}, false);
}
Calling in the function above
function move_janela_mouse()
{
if (mover==1)
{
<!--pega o quanto rolou-->
var rolamentoX = elemento_body.scrollLeft;
var rolamentoY = elemento_body.scrollTop;
var xmouse=event.clientX;
var ymouse=event.clientY;
var px=((xmouse-boxDoElemento.left + rolamentoX)-(elemento_move.clientWidth/2));
var py=ymouse-boxDoElemento.top + rolamentoY;
<!--mantem a janela dentro dos limites-->
if (py<0) py=0;
if (py>(maximo_top)) py=maximo_top-50;
if (px<0) px=0;
if (px>maximo_left) px=maximo_left;
elemento_move.style.left=px;
elemento_move.style.top=py;
mover=0;
}
}