function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function controlEffects(element)
{
  var control  = element.getElementsByTagName("a")[0];

  var fade = [];

    var controlImage = control.getElementsByTagName('img')[0];
    if(isLTEIE7) controlImage.src = controlImage.src.replace(/.png/, ".gif");
    
    var thisFade = {'in' : undefined, 'out': undefined, 'running': false};
    fade['in'] = new YAHOO.util.Anim(controlImage, {opacity: {to: 0.99}}, 0.7, YAHOO.util.Easing['easeOut']);
    fade['out'] = new YAHOO.util.Anim(controlImage, {opacity: {to: 0}}, 0.7, YAHOO.util.Easing['easeIn']);
    fade.push(thisFade)
    fade['out'].onComplete.subscribe(function() { fade['in'].animate();});
    fade['in'].onComplete.subscribe(function() { if(fade['running']) setTimeout(function(){var fadeOut = fade['out']; fadeOut.animate();}, 700);});
    Event.add(control,'mouseover',function() {fade['running'] = true;setTimeout(function(){if(fade['running']) fade['out'].animate();},200);});
    Event.add(control,'mouseout',function() {fade['running'] = false;});
}
