// JavaScript Document
function jqBanner() {
    this.jData = null;
    this.bDebug = true;
    this.nInitAsset = 0;
    this.nActualAsset = 0;
    this.nTotalNodes = 0;
    this.aData = [];
    this.nTimeTochange = 20000;
    this.sClass = "";
    this.oTarget = null;
    this.oPlayImg = null;
    this.oStopImg = null;
    this.sHomeUrl = "";
    this.sMDplayer = "";
    var _player = null;
    var _self = this;

    this.init = function(_target, _class, _time, _playimg, _stopimg, _homeUrl) {
        this.oTarget = _target;
        this.oPlayImg = _playimg;
        this.oStopImg = _stopimg;
        this.sHomeUrl = _homeUrl;
        this.sClass = _class;
        this.nTimeTochange = _time;
        this.doCreateStyle();
    }

    this.doCreateStyle = function() {
        var sTabs = this.onCreateCarrousel();

        this.sMDplayer = "music_pl_" + (this.oTarget).replace("#", "");

        $(this.oTarget).addClass(this.sClass);
        $(this.oTarget).html('<div class="img"></div><div class="details"></div><div class="nav">' + sTabs + '</div><div class="clearfix"></div>');
        $(this.oTarget).delegate("#ulButtons li a", "click", function() { _self.onSetItem($(this).attr("fckname")) });
        $(this.oTarget).delegate(".playerBtn_play", "click", function() { _self.onPlaySong($(this).attr("song"), this) });
        $(this.oTarget).delegate(".img", "click", function() { _self.onGoUrl(_self.jData[_self.nActualAsset].url) });

        this.onSetItem(this.nInitAsset);
    }


    this.onCreateCarrousel = function() {
        var oTabs = '<ul id="ulButtons"><li><a href="javascript:void(0);" fckname="back" class="btnNavigator_l"></a></li>';
        for (var i = 0; i < this.jData.length; i++) {
            oTabs += '<li><a href="javascript:void(0);" fckname="' + i + '" class="btnNavigator"></a></li>';
        }
        oTabs += '<li><a href="javascript:void(0);" fckname="next" class="btnNavigator_r"></a></li></ul><div class="clearfix"></div>';
        return oTabs;
    }

    this.onGetMovie = function(movieName) {
        if (navigator.appName.indexOf("Microsoft") != -1) {
            return window[movieName];
        } else {
            return document[movieName];
        }

    }

    this.onSetItem = function(_data) {
        var sImage = 0;
        var sUrl = "";
        if (_data != "back" && _data != "next") {
            this.nActualAsset = _data;
            sImage = this.jData[_data].image;
        } else {
            if (_data == "next") {
                if (this.nActualAsset >= (this.jData.length - 1)) {
                    this.nActualAsset = 0;
                } else {
                    this.nActualAsset++;
                }
                sImage = this.jData[this.nActualAsset].image;
            } else if (_data == "back") {
                if (this.nActualAsset <= 0) {
                    this.nActualAsset = (this.jData.length - 1);
                } else {
                    this.nActualAsset--;
                }
                sImage = this.jData[this.nActualAsset].image;
            }
            sUrl = this.jData[this.nActualAsset].url;

        }

        $(this.oTarget).find(".img").fadeOut(800, function() {
            $(this.oTarget).find(".img").css("background", "url(" + sImage + ")");
            $(this).css("background", "url(" + sImage + ")");
            $(this).fadeIn(800);

        });

        $(this.oTarget).find("#ulButtons li .btnNavigator").removeClass("active");
        var activeObj = $(this.oTarget).find("#ulButtons li .btnNavigator")[this.nActualAsset];
        $(activeObj).addClass("active");

        if (this.jData[this.nActualAsset].song != "" || this.jData[this.nActualAsset].copy != "") {
            var hasSong = this.jData[this.nActualAsset].song != "";
            var sInfo = this.onCreateInfoBanner(hasSong);
            $(this.oTarget).find(".details").html(sInfo);


            $(this.oTarget).find(".details").animate({
                top: '-80'
            }, 500, function() { });
        }
        else {
            $(this.oTarget).find(".details").animate({
                top: '0'
            }, 0, function() { });
        }

        $(this).stopTime();
        $(this).oneTime(this.nTimeTochange, "hide", function() {
            this.autochange();
        });
    }

    this.onCreateInfoBanner = function(hasSong) {
        var sInfo = "";
        
        if (hasSong)
            sInfo = '<div class="copy">' + Encoder.htmlDecode(this.jData[this.nActualAsset].copy) + '</div><div class="player"><a href="javascript:void(0);" class="playerBtn_play" song="' + this.jData[this.nActualAsset].song + '" status="stopped"><img id="imgPlayButton_' + this.sClass + '" src="' + this.oPlayImg + '" border="0"/></a></div>';
        else
            sInfo = '<div class="copy">' + Encoder.htmlDecode(this.jData[this.nActualAsset].copy) + '</div>';
    
        return sInfo;
    }

    this.onGoUrl = function(_data) {
        window.open(_data, "_self");
        return false;
    }

    this.autochange = function() {
        if (this.jData[this.nActualAsset].song != "" && this.jData[this.nActualAsset].copy != "") {
            var oLink = $(this.oTarget).find(".player a");

            $(this.oTarget).find(".details").animate({
                top: '180'
            }, 500, function() { });
        }
        if (this.nActualAsset >= (this.jData.length - 1)) {
            this.nActualAsset = 0;
        } else {
            this.nActualAsset++;
        }
        this.onSetItem(this.nActualAsset);
    }

    this.onClickChange = function(_data) {
        $(this.oTarget).find(".details").animate({
            top: '180'
        }, 1000, function() { });

        this.onSetItem(_data);
    }

    this.onPlaySong = function(_data, _me) {
        var sId = $(_me).find("img").attr("id");
        playMP3(sId, this.oPlayImg, this.oStopImg, this.sHomeUrl, _data);
    }
}
