﻿
var Revolve = {
    
    object : null
    
    , init : function (o, w,h,arc,onceArc ) {
        this.object = o;
        this.width = w;
        this.height=h;
        this.NowArc=(arc==null?0:arc);
        this.OnceArc =onceArc ;
        o.style.filter = "progid:DXImageTransform.Microsoft.Matrix()";
        //设置滤镜的属性值
        o.filters.item("DXImageTransform.Microsoft.Matrix").SizingMethod = "auto expand";
        o.filters.item("DXImageTransform.Microsoft.Matrix").FilterType = "bilinear";
                
    }
    
    , revolve : function (n,f ) {
     
    	if(n==null) n=this.NowArc;  if(f==null)  f=this.OnceArc ;
        var o = this.object, r, sin, cos;
        
        n = (n + f) % 360;
        
        r = n / (360 / (Math.PI * 2));
        
        sin = Math.sin(r), cos = Math.cos(r);
        
        with (o.filters.item("DXImageTransform.Microsoft.Matrix")) {
            M11 = cos, M12 = -sin, M21 = sin,

        M22 = cos;
        }
        
        with (o.style) {
            left = this.width / 2 - o.offsetWidth / 2;
            //window.status+=left+"=";
            //left = this.width / 2 - o.offsetWidth / 2 + parseInt(this.ofl);
            top = this.height / 2 - o.offsetHeight / 2;
        }
        this.NowArc=n;
        return n;
    }
    
};

 
var TurnTimer;
var SlowlyTimeout=1; 
var TargetArc;

function StartTurn(imgobjID,onceArc,onceTime,ObjWidth,objHeight )
{
    if(!ObjWidth) ObjWidth=0;if(!objHeight) objHeight=0;  
   Revolve.init(document.getElementById(imgobjID),ObjWidth,objHeight,0,onceArc);
   //alert(onceArc);
  // var NowacrNum=0;
   TurnTimer=document.getElementById(imgobjID);
   TurnTimer.timer= window.setInterval(function () {
        Revolve.revolve( );
    }, onceTime);

}


function StopTurn()
{
    window.clearInterval(TurnTimer.timer );
}

 
function SlowlyArc()
{
	Revolve.revolve();
	SlowlyTimeout++;
	if(Revolve.OnceArc>1  )
	{
		if(SlowlyTimeout >=  90/ Revolve.OnceArc  )
		{
			Revolve.OnceArc --; 
			//if(Revolve.OnceArc==2) Revolve.OnceArc --; 
			 SlowlyTimeout=0;
		}
		
		 
	}else
	{
		var i= parseInt(TargetArc-90 );
		if(i<0) i=i+360;		
		if( parseInt(Revolve.NowArc)== i   )
		{ 
		    
			SlowlyTimeout=1;			 
		    SlowlyTimer(); 		   
		 	return;		 	
		 }

	}	
	 
	setTimeout('SlowlyArc()',10);
}

function SlowlyTimer()
{
	Revolve.revolve();
	SlowlyTimeout++;
	if( parseInt(Revolve.NowArc)==parseInt(TargetArc) )
	{   	
	    if(PlayStopRunFunction.length>0) { try{ eval(PlayStopRunFunction) ;} catch(e){} }
		return;		 	
    }
  
	setTimeout('SlowlyTimer()',SlowlyTimeout);
}
 
function SlowlyTurn(  EndArc)
{ 
	StopTurn(); 
	SlowlyTimeout=1;
	TargetArc=EndArc;	
	SlowlyArc(); 
}


function GetTurnTargetArc(CurIndex,TotalItemNum)
{
  return (CurIndex-1)*(360/TotalItemNum);
}


var BPlayTimeoutStop=false;
var TargetIndex=0;
var iPlayRunNum=0;
var PlayStopRunFunction="";

function VertialScroll(ScrollObjID,OnceNum,SpanTimeout)
{
    var ScrollObj=document.getElementById(ScrollObjID);
    if(parseInt(ScrollObj.offsetHeight)+ScrollObj.scrollTop>=ScrollObj.all[0].offsetHeight)
    {
        ScrollObj.scrollTop=0;
    }
    else
        ScrollObj.scrollTop=ScrollObj.scrollTop+OnceNum;
    if(!BPlayTimeoutStop)
        setTimeout("VertialScroll('"+ScrollObjID+"',"+OnceNum+","+SpanTimeout+")",SpanTimeout);
}

function HorizontalScroll(ScrollObjID,OnceNum,SpanTimeout)
{
     var ScrollObj=document.getElementById(ScrollObjID);
    if(parseInt(ScrollObj.offsetWidth)+ScrollObj.scrollLeft>=ScrollObj.all[0].offsetWidth)
    {
        ScrollObj.scrollLeft=0;
    }
    else
        ScrollObj.scrollLeft=ScrollObj.scrollLeft+OnceNum;
    if(!BPlayTimeoutStop)
        setTimeout("HorizontalScroll('"+ScrollObjID+"',"+OnceNum+","+SpanTimeout+")",SpanTimeout);
}


function SlowlyVertialScrollSpan(ScrollObjID,OnceNum,SpanTimeout,TargetNum)
{
    //BPlayTimeoutStop=true;
    var ScrollObj=document.getElementById(ScrollObjID);
    if(parseInt(ScrollObj.offsetHeight)+ScrollObj.scrollTop>=ScrollObj.all[0].offsetHeight)
    {
        ScrollObj.scrollTop=0;
    }
    else
        ScrollObj.scrollTop=ScrollObj.scrollTop+OnceNum;
    
    if(OnceNum<=TargetNum)
    {
        OnceNum++;
     }
    else
    {
        if(SpanTimeout<500)
        {
            SpanTimeout+=10;
             setTimeout("SlowlyVertialScrollSpan('"+ScrollObjID+"',"+OnceNum+","+SpanTimeout+","+TargetNum+")",SpanTimeout);
        }else
        {
            SlowlyVertialScrollTime(ScrollObjID,ScrollObj.offsetHeight,SpanTimeout);
       
        }
         return;
    }
    setTimeout("SlowlyVertialScrollSpan('"+ScrollObjID+"',"+OnceNum+","+SpanTimeout+","+TargetNum+")",SpanTimeout);
    
}

function SlowlyVertialScrollTime(ScrollObjID,OnceNum,SpanTimeout)
{
  
     var ScrollObj=document.getElementById(ScrollObjID);
    if(ScrollObj.scrollTop==OnceNum*(TargetIndex-1))
    {
        iPlayRunNum--;
        if(iPlayRunNum==0 && PlayStopRunFunction.length>0) { try{ eval(PlayStopRunFunction) ;} catch(e){} }
        return;
    }
    else
    {
        if(parseInt(ScrollObj.offsetHeight)+ScrollObj.scrollTop>=ScrollObj.all[0].offsetHeight)
        {
            ScrollObj.scrollTop=0;
        }else
            ScrollObj.scrollTop=ScrollObj.scrollTop+OnceNum;
    }
   
   setTimeout("SlowlyVertialScrollTime('"+ScrollObjID+"',"+OnceNum+","+SpanTimeout+")",SpanTimeout);
    
}

function SlowlyHorizontalScrollSpan(ScrollObjID,OnceNum,SpanTimeout,TargetNum)
{
    //BPlayTimeoutStop=true;
}

function adLink(obj)
{
    if(!obj) obj =document.activeElement;
    window.status="链接至（"+obj.alt+"）";
    obj.style.color="#ff0000";
}

function adClear(obj)
{
    if(!obj) obj =document.activeElement;
     window.status="";
     obj.style.color="#444";
}

function adOpen(obj)
{
    if(!obj) obj =document.activeElement;
    if(obj.alt.length>7 && obj.alt.toLowerCase().substring(0,7)=="http://")
    {
        window.open(obj.alt,'_blank')
    }else
        return true;
}