﻿/**********************************************************************/
/*Adaptdo de: http://www.dynamicdrive.com/dynamicindex17/floatbar.htm */
/**********************************************************************/
var theDiv = 'flyLikeaBird';
var REF = 'hdRefSkyScroll';
var startX = document.documentElement.clientWidth - 290, startY = 10;

function iecompattest() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}

function justfly() {
    var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
    var d = document;
    function ml(id) {
        var el = d.getElementById(id);
        if (d.layers) el.style = el;
        el.sP = function(x, y) { this.style.left = x + "px"; this.style.top = y + "px"; };
        el.x = startX;
        el.y = startY;
        return el;
    }
    window.followMe = function() {
        var refCima = document.getElementById(document.getElementById(REF).value.split('|')[0]);
        var refBaixo = document.getElementById(document.getElementById(REF).value.split('|')[1]);
        var retranca = document.getElementById(REF).value.split('|')[2];
        var esquerda = 0;
        var respiro = 0;
        
        //como o combo ordenar em imóveis teve o layout alterado precisa ser acrescentado 60px, para alinhamento do sky
        if (retranca == "1") {
            esquerda = 60;
            respiro = 13;
        }

        var vLeft = findPos(refCima)[0];
        var vBottom = findPos(refBaixo)[1];
        
        var pos = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
        var acima = pos < 1233;
        var abaixo = pos > vBottom;

        ftlObj.x = vLeft + 130 + esquerda;

        if (acima) {
            ftlObj.y = findPos(refCima)[1] + 129 + respiro;
        }
        else if (abaixo)
            ftlObj.y = vBottom - 620;
        else {
            var pY = ns ? pageYOffset : iecompattest().scrollTop;
            ftlObj.y += (pY + startY - ftlObj.y) / 8;
        }
        ftlObj.sP(ftlObj.x, ftlObj.y);

        setTimeout("followMe()", 10);
    }
    ftlObj = ml(theDiv);
    followMe();
}

if (window.addEventListener)
    window.addEventListener("load", justfly, false);
else if (window.attachEvent)
    window.attachEvent("onload", justfly);
else if (document.getElementById)
    window.onload = justfly;

function findPos(obj) {
    var curleft = curtop = 0;

    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
        while (obj = obj.offsetParent);
        return [curleft, curtop];
    }
}