﻿/**************************************************************
*
* CLASSE JAVASCRIPT BANNERS
*
* CRIADO POR: CRISTIANO TAVELLA
* DATA: 16/05/2011
* OBS:
* EDITADO POR: CRISTIANO TAVELLA
* DATA: 17/05/2011
* OBS:
*
*************************************************************/

function imprimir() {

    if (this.labelBanner == 3) {
        for (var i = this.totalDados - 1, j = 1; i >= 0; i--, j++) {
            var v_label = "<div class='boxLabelBannersPos' id='boxLabelBannersPos" + i + "' style='top:" + (getPosicaoElemento(this.destino.replace("#", "")).bottom - 23) + "px; left:" + (getPosicaoElemento(this.destino.replace("#", "")).right - 9 - (23 * (j))) + "px; cursor:pointer; position:absolute; font-size:11px; padding:3px 5px; background:#EFEFEF; border:1px solid #CCC; z-index:999; "+(i == 0 ? "font-weight:bold;" : "")+"' onclick='clearTimeout(" + this.destino.replace("#boxConteudo_", "") + ".timeoutChange); " + this.destino.replace("#boxConteudo_", "") + ".banner_atual = " + i + "; " + this.destino.replace("#boxConteudo_", "") + ".changeBanner();'>" + (i + 1) + "</div>";
            $("#boxConteudoLabelBanner" + this.destino.replace("#boxConteudo_", "")).append(this.layoutLabel.replace(/\[label\]/g, v_label));
        }
    }
    
    if (this.totalDados > 1)
        this.timeoutChange = setTimeout(this.destino.replace("#boxConteudo_", "") + ".autoChangeBanner();", this.timeChange);

    //load das imagens
    $(document).ready(function () {
        $('.LoadImage').each(function () {
            $(this).attr("src", $(this).attr("image"));
        });
    });
    
}

function changeBanner() {    
    $('.boxLabelBannersPos').css("font-weight", "normal");
    $('#boxLabelBannersPos' + this.banner_atual).css("font-weight", "bold");

    if (this.autoChange && this.totalDados > 1)
        this.timeoutChange = setTimeout(this.destino.replace("#boxConteudo_", "") + ".autoChangeBanner();", this.timeChange);

    var v_this = this;
    $('.boxConteudoBanner' + v_this.destino.replace("#boxConteudo_", "")).each(function () {
        if ($(this).css("display") != "none") {
            $(this).fadeOut(function () {
                $('#boxConteudoBanner' + v_this.destino.replace("#boxConteudo_", "") + "_" + v_this.banner_atual).show();
                //link banner flash
                if (v_banner_flash != "") {
                    var arr_banners = v_banner_flash.split(",");
                    for (var i = 0, total = arr_banners.length; i < total; i++) {
                        if (v_this.banner_atual == arr_banners[i]) {
                            $('#ImgEmpreendimentoBannerLK' + v_this.banner_atual).css({ left: getPosicaoElemento('ImgEmpreendimentoBannerOB' + v_this.banner_atual).left + 'px', top: getPosicaoElemento('ImgEmpreendimentoBannerOB' + v_this.banner_atual).top + 'px', width: getPosicaoElemento('ImgEmpreendimentoBannerOB' + v_this.banner_atual).width + 'px', height: getPosicaoElemento('ImgEmpreendimentoBannerOB' + v_this.banner_atual).height + 'px' });
                        }
                    }
                }
            });
        }
    });   
}

function autoChangeBanner() {

    this.banner_atual++;

    if (this.banner_atual == this.totalDados)
        this.banner_atual = 0;

    this.changeBanner();   

    
}

function transicaoBanner(elem1, elem2) {

    if ($(elem2).attr("id") == null) {
        $(elem1).show();
    }
    else {
        $(elem2).fadeOut(function () {
            $(elem2).remove();
            $(elem1).show();
        });
    }
}

function Banners(parametros) {
    // Código fkempresa
    this.fkempresa = parametros.fkempresa;
    //Id de destino 
    this.destino = parametros.destino;
    //Layout
    this.layout = parametros.layout;
    //Layout Label
    this.layoutLabel = parametros.layoutLabel;
    //Ordem Banner
    this.ordemBanner = parametros.ordemBanner;
    //Dados
    this.dados = parametros.dados;
    //Banner atual
    this.banner_atual = 0;
    //total de dados
    this.totalDados = parametros.totalDados;

    if (parametros.timeChange == 0) {
        this.autoChange = false;
        //Tempo para troca
        this.timeChange = 0;
    }
    else {
        this.autoChange = true;
        //Tempo para troca
        this.timeChange = parametros.timeChange*1000;
    }
    
    //variavel de intervalo
    this.timeoutChange = null;
    //Define se vai ser titulo ou números ou nada
    this.labelBanner = parametros.labelBanner;

    //Métodos
    this.imprimir = imprimir;
    this.changeBanner = changeBanner;
    this.autoChangeBanner = autoChangeBanner;

    this.imprimir();
}

function getPosicaoElemento(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    var offsetWidth = offsetTrail.offsetWidth;
    var offsetHeight = offsetTrail.offsetHeight;

    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
			typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }

    return { left: offsetLeft, right: offsetLeft + offsetWidth, top: offsetTop, bottom: offsetTop + offsetHeight, width: offsetWidth, height: offsetHeight };
}
