var toggled_array = Array(), timeout = 0; 
function toggleEffect(element, effect, depth){
  setTimeout('toggleEffect_(\''+element+'\', \''+effect+'\', \''+depth+'\')',timeout);
  timeout+=500; setTimeout('timeout-=500;',500);
} function toggleEffect_(element, effect, depth){
  // check if element not empty
  var e = document.getElementById(element);
  if(e.childNodes.length==0) return; // empty node
  // toggle previous elements off
  var toggled = null;
  while(element!=toggled && toggled_array.length>0 && depth<toggled_array.length) {
    //toggled = toggled_array.pop();
    toggled = toggled_array[toggled_array.length-1];
    Effect.toggle(toggled, effect, {duration: 0.5});
	toggled_array.pop();
    if(element==toggled) return;
  } // toggle element on
  Effect.toggle(element, effect, {duration: 0.5});
  if(depth>=toggled_array.length){
	  toggled_array.push(element); // save current element
	}
}
