/**
 * @author Abdellah
 */
function abTween(trigger, target){
	trigger = $(trigger);
	target = $(target);
	tweenDelay = function(){
		target.set("tween", {}).tween("height", [30, 0])
	};
    trigger.addEvents({
        "mouseenter": function(){
            target.set("tween", {
                duration: 1000,
                transition: Fx.Transitions.Bounce.easeOut
            }).tween("height", [0, 30]);
        },
        "mouseleave": function(){
            //tweenDelay.delay(5000);
            tweenDelay();
        }
    });
}

function abTween2(trigger){
	trigger = $(trigger);
	tweenDelay = function(){
		trigger.set("tween", {}).tween("height", [30, 0])
	};
    trigger.addEvents({
        "mouseenter": function(){
            target.set("tween", {
                duration: 1000,
                transition: Fx.Transitions.Bounce.easeOut
            }).tween("height", [0, 30]);
        },
        "mouseleave": function(){
            //tweenDelay.delay(5000);
            tweenDelay();
        }
    });
}

function abTween3(triggers){
	triggers = $$(triggers);
	var triggersOffH = new Array();
	var triggersOnH = new Array();
	var abFxTriggersOn = new Array();
	triggers.each(function(trigger, i){
		targetHolder = trigger.getElement('.hoverHolder');
		//alert(targetHolder);
		triggersOffH[i] = 0;
		triggersOnH[i] = $type(targetHolder.getElement('ul')) == 'element' ? targetHolder.getElement('ul').getSize().y : 0;
		abFxTriggersOn[i] = new Fx.Morph(targetHolder, {duration: 1000, transition: Fx.Transitions.Bounce.easeOut, link: "cancel"});
		
		if(triggersOnH[i] > triggersOffH[i]) {
			trigger.addEvents({
				"mouseenter": function(){
					abFxTriggersOn[i].start({
						"height": triggersOnH[i] + "px"
					})
				},
				"mouseleave": function(){
					abFxTriggersOn[i].start({
						"height": (triggersOffH[i]-1) + "px"
					})
				}
			});
		}
	});
}

