/**
2 * @author Abdellah
3 */
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"
		 })
		 }
		 });
		 }
	 });
}

function abTweenAll(triggers, targets) {
	 triggers = triggers || $$($('goLocale'));
	 targets = targets || $$($('localesList'));
	 var h = [];
	
	 triggers.each(function(trigger, i){
	 h[i] = targets[i].getSize().y;
	 targets[i].set("tween", { duration: 'short' }).set('style', 'overflow:hidden');
	 targets[i].tween('height', [h, 0]);
	 trigger.addEvents({
	 'mouseenter': function(e){
	 e.stop();
	 targets[i].tween('height', [0, h]);
	 },
	 'mouseleave': function(e){
	 e.stop();
	 targets[i].tween('height', [h, 0]);
	 }
	 }
	 );
	 }
	 )
}

function abTweenLocales(triggers, targets){
	 triggers = triggers || '.goLocale';
	 targets = targets || '.localesList';
	 var myAccordion = new Fx.Accordion($$(triggers), $$(targets), {
	 display: -1,
	 alwaysHide: true,
	 onActive: function(toggler, element){
	 //toggler.getElement("a").set("style", "background-position: 100% -30px;")
	 },
	 onBackground: function(toggler, element){
	 //toggler.getElement("a").set("style", "background-position: 100% 0px;")
	 }
 });
}