
var counter = 0;
var divs = new Array();
var swirling = false;


function swirl(className){
   if(isOldBrowser()){
      return;
   }
   getElementsByClassName(className, document.body);
   swirling = true;
   resume();
}

function pause(){
   swirling = false;
}

function resume(){
   swirling = true;
   rotate();
}

function rotate(){

   if(divs.length<2){
      return;
   }
   
   rad = 300;
   da = 2*Math.PI/(divs.length-1);

   for(i=0; i<divs.length; i++){
      div = divs[i];
      w = div.parentNode.clientWidth;
      h = div.parentNode.clientHeight;
      cx = w/2;
      cy = h/2;
      if(i==0){
         x = cx - div.clientWidth/2; 
         y = cy - div.clientHeight/2; 
      }
      else{
         angle = -0.005*counter + da*i;
         x = cx + Math.round(rad*Math.sin(angle)) - div.clientWidth/2;  
         y = cy + Math.round(rad*Math.cos(angle)) - div.clientHeight/2; 
      }
      //if(counter==0)alert("("+x+", "+y+")");
      div.style.left = x + 'px';
      div.style.top  = y + 'px';
      
   }
   
   counter++;
   
   if(swirling) setTimeout("rotate();",20);

}

function getElementsByClassName(className, obj) {
    if ( obj.className == className ) {
        divs[divs.length] = obj;
    }
    for ( var i = 0; i < obj.childNodes.length; i++ )
        getElementsByClassName(className, obj.childNodes[i]);
}

