All pastes #809581 Raw Edit

furcadia-fade.js

public text v1 · immutable
·published 2007-12-09 00:46 UTC
rendered paste body
// ==UserScript==
// @include http://forums.furcadia.com/iframe.html
// @include http://www.furcadia.com/
// @exclude http://www.furcadia.com/creations/
// @exclude http://www.furcadia.com/roleplay/
// @exclude http://www.furcadia.com/community/
// ==/UserScript==

// Purpose: makes the fading work on Opera and all furc pages



var opr=navigator.userAgent.indexOf("Opera")!=-1
//var opr=!!window.opera
var ie4=document.all&&!opr
var dom=document.getElementById&&!opr
change=10;
num_faders=8;
num_mouseovers=8;
ms=0;
framerate=100;
direction=0;
cycle_time=9000;

currfade =new Array(0,    0,    0,    0,    0,    0,    0,    0,    0);
starttime=new Array(0, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500);
stoptime =new Array(0, 4500, 5000, 5500, 6000, 6500, 7000, 7500, 8000);




opera.defineMagicFunction(
  'StartAnim',
  function (oReal,oThis,n) {
//function StartAnim() {
  for (i=1; i<=num_mouseovers; i++) {flip('m'+i,0)}  // Hide mouseovers
  //if (opr) document.all.img8.style.top+=1 // Opera bug? No, happens in IE, too! Argh!
  setTimeout("fadeit()", 0)
//}
}
);





opera.defineMagicFunction(
  'fadeit',
  function (oReal,oThis) {

/*function fadeit() {*/
  ms+=framerate
  if (ms>9000) ms=0
  for (i=1;i<=num_faders;i++) {
    direction=(ms<starttime[i])?0:((ms>stoptime[i])?-1:1)
    if (ie4||dom||opr) fade(i)
    else {
      if (direction) document['img'+i].style.visibility=(direction>0)?'hidden':'visible'
    }
  }
  setTimeout("fadeit()", framerate);
/*}*/
}
);


opera.defineMagicFunction(
  'fade',
  function (oReal,oThis,n) {

//function fade(n) {
  Name='img'+n
  currfade[n]+=(direction*change)
  // 1-99 rather than 0-100 for compatibility reasons.
  if (currfade[n]>99) currfade[n]=99
  if (currfade[n]<1) currfade[n]=1
  if (ie4)      document[Name].filters.alpha.opacity=currfade[n]
  else if (dom) document.getElementById(Name).style.MozOpacity=currfade[n]/100
  if (opr) document.getElementById(Name).style.opacity=currfade[n]/100;
//}

}
);