var AdMoveConfig=new Object();

AdMoveConfig.IsInitialized=false;

AdMoveConfig.ScrollX=0;

AdMoveConfig.ScrollY=0;

AdMoveConfig.MoveWidth=0;

AdMoveConfig.MoveHeight=0;

AdMoveConfig.Resize=function(){

    var winsize=GetPageSize();

    AdMoveConfig.MoveWidth=winsize[2];

    AdMoveConfig.MoveHeight=winsize[3];

    AdMoveConfig.Scroll();

}

AdMoveConfig.Scroll=function(){

    var winscroll=getPageScroll();

    AdMoveConfig.ScrollX=winscroll[0];

    AdMoveConfig.ScrollY=winscroll[1];

}

addEvent(window,"resize",AdMoveConfig.Resize);

addEvent(window,"scroll",AdMoveConfig.Scroll);

function AdMove(id){

    if(!AdMoveConfig.IsInitialized){

        AdMoveConfig.Resize();

        AdMoveConfig.IsInitialized=true;

    }

    var obj=document.getElementById(id);

    obj.style.position="absolute";

    var W=AdMoveConfig.MoveWidth-obj.offsetWidth;

    var H=AdMoveConfig.MoveHeight-obj.offsetHeight;

    var x = W*Math.random(),y = H*Math.random();

    var rad=(Math.random()+1)*Math.PI/6;


    var kx=Math.sin(rad),ky=Math.cos(rad);

    var dirx = (Math.random()<0.5?1:-1), diry = (Math.random()<0.5?1:-1);

    var step = 1;

    var interval;

    this.SetLocation=function(vx,vy){x=vx;y=vy;}

    this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}

    obj.CustomMethod=function(){

        obj.style.left = (x + AdMoveConfig.ScrollX) + "px";

        obj.style.top = (y + AdMoveConfig.ScrollY) + "px";

        rad=(Math.random()+1)*Math.PI/6;

        W=AdMoveConfig.MoveWidth-obj.offsetWidth;

        H=AdMoveConfig.MoveHeight-obj.offsetHeight;

        x = x + step*kx*dirx;

        if (x < 0){dirx = 1;x = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 

        if (x > W){dirx = -1;x = W;kx=Math.sin(rad);ky=Math.cos(rad);}

        y = y + step*ky*diry;

        if (y < 0){diry = 1;y = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 

        if (y > H){diry = -1;y = H;kx=Math.sin(rad);ky=Math.cos(rad);}

    }

    this.Run=function(){

        var delay = 10;

        interval=setInterval(obj.CustomMethod,delay);

        obj.onmouseover=function(){clearInterval(interval);}

        obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}

    }

}
