/** ** Ghosts - Halloween - JavaScript ** This script and many more are free at ** http://rainbow.arch.scriptmania.com/scripts/ */ if(!window.Halloween) Halloween=new Object(); Halloween.ghostImages = new Array( "", "", "", "", "", "" ); var ns4 = document.layers; var ie4 = document.all; Halloween.makeLayer = function(id) { var el = document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : document.layers[id]; if(ns4) el.style=el; el.sP=function(x,y){this.style.left = x;this.style.top=y;}; el.show=function(){ this.style.visibility = "visible"; } el.hide=function(){ this.style.visibility = "hidden"; } if(ns4 || window.opera) el.sO = function(pc){return 0;}; else if(ie4) el.sO = function(pc) { if(this.style.filter=="") this.style.filter="alpha(opacity=100);"; this.filters.alpha.opacity=pc; } else el.sO = function(pc){this.style.MozOpacity=pc/100;} return el; } if(window.innerWidth) { gX=function(){return innerWidth;}; gY=function(){return innerHeight;}; } else { gX=function(){return document.body.clientWidth-30;}; gY=function(){return document.body.clientHeight-30;}; } Halloween.ghostOutput=function() { for(var i=0 ; i"+Halloween.ghostImages[i]+"" : "
"+Halloween.ghostImages[i]+"
" ); } Halloween.ghostSprites = new Array(); Halloween.ghostStartAni = function() { for(var i=0 ;i .99) { el.state="up"; el.show(); } } else if(el.state == "on") { if(Math.random() > .98) el.state="down"; } else if(el.state == "up") { el.op += 2; el.sO(el.op); if(el.op==100) el.state = "on"; } else if(el.state == "down") { el.op -= 2; if(el.op==0) { el.hide(); el.state = "off"; } else el.sO(el.op); } var X = (el.tx - el.x); var Y = (el.ty - el.y); var len = Math.sqrt(X*X+Y*Y); if(len < 1) len = 1; var dx = 20 * (X/len); var dy = 20 * (Y/len); var ddx = (dx - el.dx)/10; var ddy = (dy - el.dy)/10; el.dx += ddx; el.dy += ddy; el.sP(el.x+=el.dx,el.y+=el.dy); if(Math.random() >.95 ) { el.tx = Math.random()*gX(); el.ty = Math.random()*gY(); } } } Halloween.ghostStart = function() { if(Halloween.ghostLoad)Halloween.ghostLoad(); Halloween.ghostStartAni(); } Halloween.ghostOutput(); Halloween.ghostLoad=window.onload; window.onload=Halloween.ghostStart;