﻿// JScript 文件

    /* 轮换广告 ******************** ******************************** */
    
    //广告类
    function AD(text, imageSrc, url)
    {
        this.Text = text;
        this.ImageSrc = imageSrc;
        this.Url = url;
        this.Html = "";
    }
    String.prototype.Format = function()
    {
        var args = arguments;
        return this.replace(/\{(\d+)\}/g, function(m, i)
        {
            return args[i];
        });
    };

    //<!--广告轮换 -->

    function Rotator(container, varName, interval, textClass, backColor, currentIndexClass, indexClass,blnShowIndex)
    {
        this.Container = container;
        this.DataSource = new Array();
        this.CurrentIndex = this.DataSource.Length - 1;
        this.VarName = varName;
        this.TextClass = textClass;
        this.CurrentIndexClass = currentIndexClass;
        this.IndexClass = indexClass;
        this.Inited = false;
        this.TimerID = null;
        this.Interval = interval;
        this.IsShowIndex=blnShowIndex;
        
        this.Add = function(ad)
        {
            this.DataSource.push(ad);
        }

        this.Init = function()
        {
            var imageHtml = "";
            var indexHtml = "";
            for (var i = 0; i < this.DataSource.length; i++)
            {
                var ad = this.DataSource[i];

                var temp;
                
                //轮换的图片 width='225' height='150'  width='150' height='113'
                if (ad.Html == "")
                {
                    temp = "<div id='ad{2}' style='display:none' width='225' height='150'>"
                             + "<a href='{0}' target='_blank'>"
                                    + "<img style='border:none;' onmouseover='{3}' onmouseout='{4}'  width='225' height='150'  "
                                    + " src='{1}' title='{5}' />"
                             + "</a>"
                          + "</div>";
                } else
                {
                    temp ="<div id='ad{2}' style='display:none'>"
                                + "<div style='background-color:blue' onmouseover='{3}' onmouseout='{4}' title='{5}' width='225' height='150' >{6}</div>"
                        + "</div>";
                }
                
                //轮换的图片Html
                imageHtml += temp.Format(
                                        ad.Url,
                                        ad.ImageSrc,
                                        i.toString(),
                                        this.VarName + ".Pause()",
                                        this.VarName + ".Restart()",
                                        ad.Text,
                                        ad.Html);
                
                //索引文字
                temp = "<span class='{1}'  onmouseover='{2}' onmouseout='{3}'"
                 + " onclick='location=\"{4}\"' title='{5}'>{0}</span>";


                //temp = "<span style='height:5'  onmouseover='{2}' onmouseout='{3}'"
                // + " onclick='location=\"{4}\"' title='{5}'>{0}</span>";


                //temp = "<td><span  class='{1}' onmouseover='{2}' onmouseout='{3}'"
                // + " onclick='location=\"{4}\"' title='{5}'>{0}</span></td>";



                //索引文字Html
                indexHtml += temp.Format(
                                        (i + 1),
                                        this.IndexClass,
                                        this.VarName + ".Pause();" + this.VarName + ".Show(" + i + ")",
                                        this.VarName + ".Restart()",
                                        ad.Url,
                                        ad.Text);
            }
            

                    
            var html = ""
                     + "<div style='float:right;width:100%;text-align:right;text-align:right;'>" + imageHtml + "</div>" //图片 
                     + "<div style='width:100%;'>" //下面是显示文本和索引
                        + "<div style='float:left;width:10%;background-color: yellow'></div>"  //左边文本      
                        + "<div id='LayerADRotatorIndex1' style='float:right;width:100%;text-align:right;text-align:right;background-image:images/dh_bg.gif'>"
                            + indexHtml 
                        + "</div>" //右边索引 
                     + "</div>" ; 
 

                     
            this.Container.innerHTML = "";
            this.Container.innerHTML = html;
        }

        this.Show = function(index)
        {
            //显示当前图片
            try
            {
                var nodes = this.Container.firstChild.childNodes;
                for (var i = 0; i < nodes.length; i++)
                {
                    nodes[i].style.display = "none";
                }
                nodes[index].style.display = "block";
            }
            catch(e){}
  
                     
            //显示当前索引
            try
            {            
                nodes = this.Container.lastChild.lastChild.childNodes;
                for (var i = 0; i < nodes.length; i++)
                {
                    nodes[i].className = this.IndexClass;
                }
                nodes[index].className = this.CurrentIndexClass;
            }
            catch(e){}            


            //显示当前文本
            try
            {               
                this.Container.lastChild.firstChild.innerHTML
                = "<a href='{0}' target='_blank' class='{2}'>{1}</a>".Format(
                this.DataSource[index].Url,
                this.DataSource[index].Text,
                this.TextClass);

                this.CurrentIndex = index;
           }
           catch(e){}            
        }
        this.Start = function()
        {
            if (this.Inited == false)
            {
                this.Init();
                this.Inited = true;
            }

            var nodes = this.Container.firstChild.childNodes;
            if (this.CurrentIndex < nodes.length - 1) this.CurrentIndex++;
            else this.CurrentIndex = 0;

            this.Show(this.CurrentIndex);

            this.Restart();
        }
        this.Restart = function()
        {
            this.TimerID = setTimeout(this.VarName + ".Start()", this.Interval);
        }
        this.Pause = function()
        {
            clearTimeout(this.TimerID);
        }
    }
