﻿jQuery.autochange = function(parm) {
    parm = parm || {};
    parm.AutoMoveObj = null;
    parm = $.extend({
        curNum: 0, //当前现在第几个，从0开始
        interval: 5000, //切换显示的间隔毫秒数
        pid: "", //切换选项卡的ID集合，可以是数组也可以是用|隔开的字符串
        cid: "", //切换内容ID集合，可以是数组也可以是用|隔开的字符串
        oncss: "divon", //默认选中的菜单样式
        offcss: "divoff"//默认没选中的菜单样式
    }, parm);

    var a = new AutoChangeDiv();
    a.t = parm;
    a.init();
}
function AutoChangeDiv() {
    var obj = this;
    var pidArr;
    var cidArr;
    var t;
    this.init = function() {
        pidArr = typeof (obj.t.pid) == "string" ? obj.t.pid.split("|") : obj.t.pid;
        cidArr = typeof (obj.t.cid) == "string" ? obj.t.cid.split("|") : obj.t.cid;
        if (typeof (pidArr) == "object" && pidArr.length && typeof (cidArr) == "object" && cidArr.length) {
            if (pidArr.length > 1) {
                if (pidArr.length > cidArr.length)//选项卡数大于内容数时，自动补充缺少的内容ID为最后一个内容ID
                {
                    for (var i = cidArr.length; i < pidArr.length; i++) {
                        cidArr[i] = cidArr[cidArr.length - 1];
                    }
                }
                this.autoMove();

            } else {
                return; //只有一个选项卡，不需要切换);
            }
        }
        else {
            return; //选项卡的ID集合异常，不切换);
        }
    }

    this.autoMove = function() {
        clearInterval(obj.t.AutoMoveObj);
        obj.t.AutoMoveObj = setInterval(function() { obj.gotoChange(); }, obj.t.interval);
for (var i = 0; i < pidArr.length; i++) {
            $("#" + pidArr[i]).click(function() {
                clearInterval(obj.t.AutoMoveObj);
                for (var j = 0; j < pidArr.length; j++) {
                   if (this.id == pidArr[j]) {
                        $("#" + cidArr[j]).css("display", "block");
                        $("#" + pidArr[j]).attr("class", obj.t.oncss);

                    }
                    else {
                        $("#" + cidArr[j]).css("display", "none");
                        $("#" + pidArr[j]).attr("class", obj.t.offcss);
                    }
                }
            });
        }
    }
    this.gotoChange = function() {
        obj.t.curNum++;
        if (obj.t.curNum > pidArr.length - 1) {
            obj.t.curNum = 0;
        }
        obj.changeDiv();
    }
    this.changeDiv = function() {
        var curNum = obj.t.curNum;
        for (var i = 0; i < pidArr.length; i++) {
            if (curNum == i) {
                $("#" + cidArr[i]).css("display", "block");
                $("#" + pidArr[i]).attr("class", obj.t.oncss);

            }
            else {
                $("#" + cidArr[i]).css("display", "none");
                $("#" + pidArr[i]).attr("class", obj.t.offcss);
            }
        }
        return false;
    }
}
