function addEvent(obj,evtType,func,cap){cap=cap||false;if(obj.addEventListener){obj.addEventListener(evtType,func,cap);return true;}else if(obj.attachEvent){if(cap){obj.setCapture();return true;}else{return obj.attachEvent("on"+evtType,func);}}else{return false;}}
function removeEvent(obj,evtType,func,cap){cap=cap||false;if(obj.removeEventListener){obj.removeEventListener(evtType,func,cap);return true;}else if(obj.detachEvent){if(cap){obj.releaseCapture();return true;}else{return obj.detachEvent("on"+evtType,func);}}else{return false;}}
function getPageScroll(){var xScroll,yScroll;if(self.pageXOffset){xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollLeft){xScroll=document.documentElement.scrollLeft;}else if(document.body){xScroll=document.body.scrollLeft;}
if(self.pageYOffset){yScroll=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}else if(document.body){yScroll=document.body.scrollTop;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;}
function GetPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
var flyingConfig=new Object();flyingConfig.IsInitialized=false;flyingConfig.AdCount=0;flyingConfig.ScrollX=0;flyingConfig.ScrollY=0;flyingConfig.MoveWidth=0;flyingConfig.MoveHeight=0;flyingConfig.Resize=function(){var winsize=GetPageSize();flyingConfig.MoveWidth=winsize[2];flyingConfig.MoveHeight=winsize[3];flyingConfig.Scroll();}
flyingConfig.Scroll=function(){var winscroll=getPageScroll();flyingConfig.ScrollX=winscroll[0];flyingConfig.ScrollY=winscroll[1];}
addEvent(window,"resize",flyingConfig.Resize);addEvent(window,"scroll",flyingConfig.Scroll);function flying(id,addCloseButton){if(!flyingConfig.IsInitialized){flyingConfig.Resize();flyingConfig.IsInitialized=true;}
flyingConfig.AdCount++;var obj=document.getElementById(id);obj.style.position="absolute";var W=flyingConfig.MoveWidth-obj.offsetWidth;var H=flyingConfig.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;if(addCloseButton){var closebtn=document.createElement("div");obj.appendChild(closebtn);closebtn.style.position="absolute";closebtn.style.top="1px";closebtn.style.left=(obj.offsetWidth-28)+"px";closebtn.style.width="24px";closebtn.style.lineheight="14px";closebtn.style.height="14px";closebtn.style.borderStyle="solid";closebtn.style.borderWidth="1px";closebtn.style.borderColor="#000";closebtn.style.backgroundColor="#fff";closebtn.style.fontSize="12px";closebtn.style.color="#000";closebtn.style.cursor="pointer";closebtn.innerHTML="<span style='margin-top:-2px;display:block;'>关闭</span>";closebtn.onclick=function(){obj.style.display="none";clearInterval(interval);closebtn.onclick=null;obj.onmouseover=null;obj.onmouseout=null;obj.MoveHandler=null;flyingConfig.AdCount--;if(flyingConfig.AdCount<=0){removeEvent(window,"resize",flyingConfig.Resize);removeEvent(window,"scroll",flyingConfig.Scroll);flyingConfig.Resize=null;flyingConfig.Scroll=null;flyingConfig=null;}}}
obj.MoveHandler=function(){obj.style.left=(x+flyingConfig.ScrollX)+"px";obj.style.top=(y+flyingConfig.ScrollY)+"px";rad=(Math.random()+1)*Math.PI/6;W=flyingConfig.MoveWidth-obj.offsetWidth;H=flyingConfig.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.SetLocation=function(vx,vy){x=vx;y=vy;}
this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}
this.Run=function(){var delay=10;interval=setInterval(obj.MoveHandler,delay);obj.onmouseover=function(){clearInterval(interval);}
obj.onmouseout=function(){interval=setInterval(obj.MoveHandler,delay);}}}
