﻿var PicRotator=new Object();
PicRotator.imgobj=null;
PicRotator.picArr=[];
PicRotator.linkArr=[];
PicRotator.playInterval=2000;
PicRotator.playEnable=true;
PicRotator.prePic=function(picid,piclist,inval,phost)
{
    PicRotator.imgobj=$(picid);
    
    if(!PicRotator.imgobj)return;
    if(inval)PicRotator.playInterval=inval*1000;
    if(piclist)
    {
        var pics=piclist.split(";");
        for(var i=0;i<pics.length;i++)
        {
            if(!pics[i])continue;
            var picinfo=pics[i].split("^");
            PicRotator.picArr[i]=new Image();
            if(phost)
            {
                picinfo[0]="http://"+phost+picinfo[0];
            }
            PicRotator.picArr[i].src=picinfo[0];
            PicRotator.picArr[i].width=picinfo[1];
            PicRotator.picArr[i].height=picinfo[2];
            if(picinfo[3])
            {
                PicRotator.linkArr[i]=picinfo[3];
            }
        }
        if(!PicRotator.imgobj.src)PicRotator.imgobj.src=PicRotator.picArr[0].src;
        if(pics.length==1)
        {
            PicRotator.imgobj.src=PicRotator.picArr[0].src;
            PicRotator.imgobj.width=PicRotator.imgobj.style.width=PicRotator.picArr[0].width;
            PicRotator.imgobj.height=PicRotator.imgobj.style.height=PicRotator.picArr[0].height;
            if(PicRotator.linkArr[0])
            {
                 PicRotator.imgobj.parentNode.onclick=function()
                 {window.open(PicRotator.linkArr[0]);};
            } 
            return;
        }
        else
        {
            PicRotator.imgobj.parentNode.onmouseover=function()
            {
                PicRotator.playEnable=false;
            }
            PicRotator.imgobj.parentNode.onmouseout=function()
            {
                PicRotator.playEnable=true;
            }
        }
        /*
        PicRotator.imgobj.parentNode.onclick=function()
        {
            PicRotator.showPic();
        }*/
        PicRotator.switchToPic(0);
        setTimeout(PicRotator.play,PicRotator.playInterval);
    }
    else
    {
        if(PicRotator.playTimer)clearTimeout(PicRotator.playTimer);
    }
}
PicRotator.getTransitionBox=function()
{
    var box=PicRotator.imgobj.parentNode;
    /*
    var i=0;
    while(box.tagName.toLowerCase()!="div"&&i<5)
    {
        box=box.parentNode;
        i++;
    }*/
    if(!box.style.filter)
    {
       box.style.filter="revealTrans(duration=0.5)";
    }
    return box;
}
PicRotator.setTransition=function()
{ 
    var box=PicRotator.getTransitionBox();
    if (box&&document.all)
    {       
        box.filters.revealTrans.Transition=Math.floor(Math.random()*23); 
        box.filters.revealTrans.apply(); 
    }
} 
PicRotator.playTransition=function()
{ 
    var box=PicRotator.getTransitionBox();
	if (box&&document.all) 
	{
	    box.filters.revealTrans.play(); 
	}
} 
PicRotator.picIndex=0;
PicRotator.playTimer=null;
PicRotator.spreTimer=null;
PicRotator.switchToPic=function(i)
{
    if(!PicRotator.picArr[i])return;
    var img=PicRotator.imgobj;
    if(img.src!=PicRotator.picArr[i].src)
    {
        PicRotator.setTransition();
        img.src=PicRotator.picArr[i].src;
        img.style.width=PicRotator.picArr[i].width+"px";
        img.style.height=PicRotator.picArr[i].height+"px";
        img.width=PicRotator.picArr[i].width+"px";
        img.height=PicRotator.picArr[i].height+"px";
        PicRotator.playTransition();
    }
    if(PicRotator.linkArr[i])
    {
         img.parentNode.onclick=function()
         {window.open(PicRotator.linkArr[i]);};
    } 
}

PicRotator.play=function()
{
    if(PicRotator.playEnable)
    {
	    PicRotator.picIndex=(PicRotator.picIndex+1)%PicRotator.picArr.length
	    if(PicRotator.playTimer)clearTimeout(PicRotator.playTimer);
	    PicRotator.switchToPic(PicRotator.picIndex);
	}
	if(!PicRotator.playInterval)PicRotator.playInterval=2000;
	PicRotator.playTimer=setTimeout(PicRotator.play,PicRotator.playInterval);
}