// Butterfly animation Javascript
// Written/Copyright: Oscar Gutierrez
// Email: romgut@hotmail.com
// Website: http://members.xoom.com/mediaarts

var isNS = (navigator.appName == "Netscape");
layerRef = (isNS) ? "document" : "document.all";
styleRef = (isNS) ? "" : ".style";

var queue = new Array();

var NUM_OF_BFLY = 6
   var step = .015;
   var currStep = 1000*Math.random();

   var Xpos = 50;
   var Ypos = 50;
   var Xp = Xpos;
   var Yp = Ypos;
   var j = 0;
   var first = 'true';
   var vis = "visibile";
   var cnt=0;


function init() {   
  for(x=0; x < NUM_OF_BFLY; x++)
  {
  // which are numbered dot1, dot2 .. in sequence
    queue[x] = "bfly" + (x+1) ;
  }
  if (isNS) { document.captureEvents(Event.MOUSEMOVE); } 
  document.onmousemove = processMouse;  
  setTimeout("animateLogo()", 50) ;

}       
function processMouse(e) {
   if (isNS) 
   {
      Xpos = e.pageX;
      Ypos = e.pageY;
      for(x=0; x < NUM_OF_BFLY; x++){
         currentObj = queue[x+1];
         document.layers[x].visibility="visible";
      }
   } 
   else 
   {
      Xpos = event.clientX + document.body.scrollLeft;
      Ypos = event.clientY + document.body.scrollTop;

      document.all.bfly1.style.visibility="visible";
      document.all.bfly2.style.visibility="visible";
      document.all.bfly3.style.visibility="visible";
      document.all.bfly4.style.visibility="visible";
      document.all.bfly5.style.visibility="visible";
      document.all.bfly6.style.visibility="visible";
   }
}

function animateLogo() {

   var yBase = window.innerHeight/2;
   var xBase = window.innerWidth/2;

   var Rng = window.innerHeight/2;
   var RngH = window.innerHeight/2;
   var RngW = window.innerWidth/2-21;
   var RngA = window.innerHeight/2;

                                                   
   for ( j = 0; j < NUM_OF_BFLY; j++ ) 
   {
      currentObj = queue[j];
     Yp = Math.cos((20*Math.sin(currStep/(21+j)))+j*70)*(Math.sin(10+currStep/11)+0.2)*Math.cos((currStep + j*27)/10);
     Xp = Math.sin((20*Math.sin(currStep/21))+j*70)*(Math.sin(10+currStep/(11+j))+0.2)*Math.cos((currStep + j*27)/10);
     currStep += step;

     if (isNS) 
     {
        eval("document." + currentObj + ".left = Xpos+Xp*xBase-50+4*Math.random()  ;");
        eval("document." + currentObj + ".top = Ypos + Yp*yBase-50+4*Math.random() ;");
     } 
     else 
     {
        eval("document.all." + currentObj + ".style.pixelLeft = Xpos + Xp*300-50+4*Math.random()   ;");
        eval("document.all." + currentObj + ".style.pixelTop =  Ypos + Yp*250-50+4*Math.random()  ;");
     }
  }
  setTimeout("animateLogo()", 50) ;
}


