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 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;
}
//���ű��ļ� admove.js
/*
����
***** content ******
var ad=new admove("div2");
ad.run();
*/
////////////////////////////////////////////////////////
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);}
}
}