function hoverMapaTrem(id, ac) { var filhos = $('mapa-pais').childNodes; var bolinhas = new Array(); for (var i=0; i < filhos.length; i++) { //var str_id_lnk = 'lnk-mapa-' + id + '-'; if (filhos[i].id && filhos[i].id.search("lnk-mapa-" + id + "-") != -1) { //alert("aqui"); bolinhas.push(filhos[i].id); //alert("aqui2"); } } if (ac == 1) { for (i=0; i < bolinhas.length; i++) { $(bolinhas[i]).addClassName('hover'); } } else { for (i=0; i < bolinhas.length; i++) { $(bolinhas[i]).removeClassName('hover'); } } } function hoverListaTrem(id, ac) { if (ac == 1) $('lnk-lista-' + id).addClassName('hover'); else $('lnk-lista-' + id).removeClassName('hover'); } function expandir(ramo,elementoA){ if ($(elementoA).hasClassName('recolher')) { Element.hide(ramo); $(elementoA).removeClassName('recolher'); $(elementoA).addClassName('expandir'); } else{ Element.show(ramo); $(elementoA).removeClassName('expandir'); $(elementoA).addClassName('recolher'); } } function closeEntry(id_trem) { Effect.Fade('entry-trem',{duration:0.3}); $('lnk-lista-' + id_trem).removeClassName('ativo'); } function floatObj(obj,x,y,delay) { if (!$('lista_trens') || !$('mapa-pais')) return; var obj = "mapa-pais"; var entry = $('entry-trem'); var x = 40; var y = 180; var delay = 10; var distTop = 20; var startX = x; var startY = y; var tamanho_lista = $('lista_trens').getHeight(); var tamanho_mapa = $('mapa-pais').getHeight(); function getObjXY(id) { var el = $(id); el.sP = function(x,y){this.style.right=x;this.style.top=y;}; el.x = startX; el.y = startY; return el; } window.setObjXY = function() { if(entry == null || entry.style.display == 'none'){ var positionY = document.body.scrollTop; var rolagem_obj = $(obj).viewportOffset(); tamanho_lista = $('lista_trens').getHeight(); if (rolagem_obj[1] < distTop-(distTop/2) && ((fltObj.y + distTop*3) - startY) < (tamanho_lista-tamanho_mapa)) { fltObj.y += distTop; fltObj.sP(fltObj.x + 'px', fltObj.y + 'px'); } else if (rolagem_obj[1] > distTop+(distTop/2) && fltObj.y > startY || tamanho_lista+startY < fltObj.y+tamanho_mapa+30) { fltObj.y -= distTop; fltObj.sP(fltObj.x + 'px', fltObj.y + 'px'); } } setTimeout("setObjXY()",delay); } fltObj = getObjXY(obj); setObjXY(); setTimeout(function(){$(obj).style.display='';},20); } addEvent(window,"load",floatObj);