﻿
//js版本的图片播放器类,跨浏览器支持,完全支持SEO优化的较完美的图片播放解决方案,不需要使用display:none来破坏搜索引擎抓取

//注意: 自动循环播放需要 全局setTimeout()函数对象;
//注意: 此示例大小标题,依赖于与A的 title设置,加上"-"区分大小标题,大标题在前

//改进部分:seo优化更好,使用更为简便,代码量减少一半.

//----------------版权声明
// 参考迅雷首页轮播广告程序,图片资源和部分文字资源来自于迅雷,版权归迅雷所有
// 本人只对js代码改动部分享有版权,免费版权,自由使用;如果您对程序有优化和改进,请通知本人,不胜感激!
// 制作:hpking,Email:hpking@yeah.net,QQ:99186610
//----------------版权声明

var PicPlayer =
{
    MaxScreen: 0,
    CurScreen: 1,
    itemArr: null,
    //参数: 获取子节点的对象ID,子节点类型(默认为li,针对FF和Opera这些特殊浏览器优化)
    init: function(divID)
    {
        var pobj = document.getElementById(divID);
        var items = pobj.childNodes;
        var size = items.length; //数组长度

        itemArr = new Array(size);
        var itemArrlen = 0;
        //计算出可以用的
        for (var i = 0; i < size; i++)
        {
            if (items[i].nodeType == 1)
                itemArr[itemArrlen++] = items[i];
        }

        this.MaxScreen = itemArrlen;
    },

    //显示内容和标题导航
    show: function()
    {
        if (itemArr.length > 0)
        {
            if (this.CurScreen > this.MaxScreen)//循环
                this.CurScreen = 1;

            //全部隐藏,
            for (var i = 0; i < this.MaxScreen; i++)
                itemArr[i].style.display = "none";

            //当前显示
            itemArr[this.CurScreen - 1].style.display = "block";


            this.showTile();

            this.showPageBar();
        }
    },
    //显示标题
    showTile: function()
    {
        var titlestr = "";

        //依据A的title 来设置大小标题和url
        var title = itemArr[this.CurScreen - 1].getElementsByTagName("A")[0].title;
        var aurl = itemArr[this.CurScreen - 1].getElementsByTagName("A")[0].href;
        var titleArr = title.split(';');

        //titlestr = '<h3><a href="' + aurl + '" target="_blank">' + title + '</a></h3>';
        titlestr = '<h3><a href="' + aurl + '" target="_blank">' + titleArr[0] + '</a></h3><p><a href="' + aurl + '" target="_blank">' + titleArr[1] + '</a></p>';
        document.getElementById("SwitchTitle").innerHTML = titlestr;
    },
    //显示分页条
    showPageBar: function()
    {
        var NavStr = "";
        for (i = 1; i <= this.MaxScreen; i++)
        {
            if (i == this.CurScreen)//当前的
                NavStr += '<li onmouseover="PicPlayer.pause();" onmouseout="PicPlayer.goon();"><a href="javascript:;" target="_self" class="fnsel">' + i + '</a></li>';
            else
                NavStr += '<li onmouseover="PicPlayer.pause();" onmouseout="PicPlayer.goon();" onclick="PicPlayer.url(' + i + ');"><a href="javascript:;" target="_self" class="fnews">' + i + '</a></li>';
        }

        document.getElementById("SwitchNav").innerHTML = NavStr;
    },

    //---------------以下为功能操作函数
    //定时器
    timer: function()
    {
        this.CurScreen += 1;
        this.show();
        refreshSwitchTimer = setTimeout('PicPlayer.timer();', 3000);
    },
    //暂停
    pause: function()
    {
        clearTimeout(refreshSwitchTimer);
    },
    //继续
    goon: function()
    {
        clearTimeout(refreshSwitchTimer);
        refreshSwitchTimer = setTimeout('PicPlayer.timer();', 3000);
    },
    //地址转向
    url: function(index)
    {
        clearTimeout(refreshSwitchTimer);

        this.CurScreen = index - 1;
        this.timer();
    }
}
