﻿(function($) {
    $.fn.extend({
        ads: function(setting) {
            var sourceElement = this;
            $.getJSON(setting.url, setting.data, function(data) {
                // 增加图片容器
                sourceElement.append("<div id=\"ads_content\"></div>").find("#ads_content").css("position", "absolute")
                //增加控制器容器
                sourceElement.append("<div id=\"ads_controller\" class=\"ads_controller\"></div>").find("#ads_controller").css({ "position": "absolute", "right": "10px", "bottom": "10px", "zIndex": "20" })
                $.each(data, function(i, n) {
                    //增加图片
                    sourceElement.find("#ads_content").append("<img src=\"/images/" + n + "\" alt=\"\" />");
                    //增加控制器文字
                    sourceElement.find("#ads_controller").append("<a>" + (i + 1) + "</a>");
                });
                //绑定自动播放事件
                var count = sourceElement.find("#ads_controller a").length;
                var i = 0;
                var ns = true;

                var animate = function() {
                    if (ns) {
                        i++;
                        if (i >= count - 1)
                            ns = !ns;
                    }
                    else {
                        i--;
                        if (i <= 0)
                            ns = !ns;
                    }
                    sourceElement.find("#ads_controller a").eq(i).click();
                }
                //绑定控制器事件
                sourceElement.find("#ads_controller a").click(function() {
                    $(this).parent().find("a").removeClass("cur");
                    var index = $(this).parent().find("a").index(this);
                    var top = sourceElement.find("#ads_content img").eq(index).attr("offsetTop");
                    this.className = "cur";
                    //淡出动画
                    /*
                    sourceElement.find("#ads_content img").hide();
                    sourceElement.find("#ads_content img").eq(index).fadeIn("fast");
                    */
                    //滚动动画
                    sourceElement.find("#ads_content").animate({ top: -top }, 500);
                }).hover(function() { clearInterval(timer); }, function() { timer = setInterval(animate, 3000); });
                // 开始自动播放
                var timer = setInterval(animate, 5000);
            });
            return sourceElement;
        }
    });
})(jQuery);
