 function EventWorker() {
   this.addHandler = EventWorker.addHandler;
 }


 EventWorker.addHandler = function (eventRef, func) {
  var eventHandlers = eval(eventRef);
  if (typeof eventHandlers == 'function') {
   eval(eventRef + " = function(event) {eventHandlers(event); func(event);}");  
  } else {
   eval(eventRef + " = func;");
  }
 }

 function getElementsByClass(node,searchClass,tag) {
   var classElements = new Array();
   var els = node.getElementsByTagName(tag); // use "*" for all elements
   var elsLen = els.length;
   var pattern = new RegExp("\\b"+searchClass+"\\b");
   for (i = 0, j = 0; i < elsLen; i++) {
     if ( pattern.test(els[i].className) ) {
       classElements[j] = els[i];
       j++;
     }
   }
   return classElements;
 }


var current_super = 1
var max_super = 3
var super_timer
var myAnim_old
var myAnim_new


function super_rotator() {
       current_super=current_super+1;
	if (current_super > max_super) current_super = 1; 
	show_slide(current_super);
}

function show_slide(i) {
   current_slide = getElementsByClass(document, 'super-slide selected', 'IMG')[0];
   new_slide = document.getElementById('slide_'+i+'_super_img');
   if (new_slide != current_slide) {
   if (typeof myAnim_old == 'object') myAnim_old.stop; 
   if (typeof myAnim_new == 'object') myAnim_new.stop; 
   myAnim_old = new YAHOO.util.Anim(current_slide, { opacity: { to: 0 } }, .5, YAHOO.util.Easing.easeOut);
   myAnim_new = new YAHOO.util.Anim(new_slide, { opacity: { to: 1 } }, .5, YAHOO.util.Easing.easeOut);
   myAnim_new.onComplete.subscribe(change_slide_class);
   myAnim_new.animate();
   myAnim_old.animate();  	
   }
}

function change_slide_class() {
   current_slide = getElementsByClass(document, 'super-slide selected', 'IMG')[0];
   new_slide = this.getEl();
   current_slide.className = current_slide.className.replace(/ selected/, " not-selected");
   new_slide.className = new_slide.className.replace(/ not-selected/, " selected");  
}

function hideleft(obj) {
   var myAnim = new YAHOO.util.Anim(obj, { height: { to: 0 } }, .4, YAHOO.util.Easing.easeOut);
   myAnim.onComplete.subscribe(function(){ obj=this.getEl();obj.style.height = 'auto';obj.style.left = '-5000px';obj.style.position = 'absolute';});
   myAnim.animate(); 
}

function antihideleft(obj) {
   var start_height = obj.offsetHeight;
   obj.style.height = '0px';
   obj.style.overflow = 'hidden';
   obj.style.left = '0px';
   obj.style.display = 'block';
   obj.style.position = 'relative';
   var myAnim = new YAHOO.util.Anim(obj, { height: { to: start_height } }, .4, YAHOO.util.Easing.easeOut);
   myAnim.animate(); 
}

function start_super_slides() {
	super_timer = window.setInterval( "super_rotator();", (5000) )
}

EventWorker.addHandler("window.onload", start_super_slides);
