/**
 * Plugin para ativar a banner flutuante!!
 *
 * usar da seguinte forma :
 *
 *  jQuery(document).ready(function(){
 *      jQuery.bannerFlutuante({
 *          Elemento  : 'divFlutuante',        // ID do elemento a movimentar
 *          Tamanho : 600,                     // tamanho do elemento
 *          BaseBaixo   : "footer-wrapper",    // id de um elemento abaixo dele para usar como referencia final
 *          Duracao : 1000,                    // tempo para efetuar o movimento (milisegundos)
 *          Zindex : 99                        // altera o zindex do elemento
 *      });
 *  });
 *
 */

(function(jQuery) {

    var defaults = {
        Elemento    : "divFlutuante",
        Tamanho     : 600,
        BaseBaixo   : "footer-wrapper",
        Duracao     : 100,
        Zindex      : 1,
        positionTop : 246
    };
    
    var menuYloc = null;

    var posFinal= null;

    var posInicial = null;

    jQuery.bannerFlutuante = function(options) {
        var opts=null;
        if (typeof options == 'object') {
            opts = jQuery.extend(true, {},
                            defaults,
                            options
                    );
        }else{
            opts = defaults;
        }
        
        var name = "#"+opts.Elemento;
        
        var BaseBaixo = "#"+opts.BaseBaixo;

        jQuery(name).css("position","absolute");

        jQuery(name).css("z-index",opts.Zindex);
        
        posInicial= opts["positionTop"];// || $(name).position().top;
        //alert(posInicial);

        var positionTop = jQuery(name).css("top");
        
        if(positionTop == "auto" || positionTop == ""){            
            positionTop = posInicial;
        } else {
            positionTop = positionTop.substring(0,jQuery(name).css("top").indexOf("px"))
        }
        menuYloc = parseInt(positionTop);

        jQuery(window).scroll(function () {
            
            posFinal= jQuery(BaseBaixo).position().top;

            var offset = ((menuYloc+jQuery(document).scrollTop())- posInicial)+"px";
            
            var valor = jQuery(document).scrollTop()+opts.Tamanho;
            
            if((parseInt(valor)>=posFinal)){            
                jQuery(name).css("top",(posFinal-opts.Tamanho)+"px");
            }else{
                if (parseInt(jQuery(document).scrollTop())>=posInicial) {                    
                    jQuery(name).animate({
                        top:offset
                    },{
                        duration:opts.Duracao,
                        queue:false
                    });
                }else{                    
                    jQuery(name).css("top",menuYloc+"px");
                }
            }
        });
    }
})(jQuery);

