var blockExec = false;
var state = 'out';
var curEffectSlideIn = null;
var curEffectFadeIn = null; 
var curEffectSlideOut = null;
var curEffectFadeOut = null; 



function bubbledFromChild(element, event)  {
  var target = event.element();
  if (target === element) target = event.relatedTarget;
   var return_ = target && target.descendantOf(element)
  return (return_);
} 

function slideSideBar(destination){
	//cancle time if set
//alert(timer);
	if(typeof(timer) != 'undefined'){ timer = window.clearInterval(timer); }
//alert(timer);
	//new Effect.toggle('sideBarContents', 'slide', {scaleX: 'true', scaleY: 'true', scaleContent: false});
	if( blockExec && (destination == 'in' || destination == 'out') ) return false;
	/*if(blockExec && destination == 'out-stop' && state == 'out') {

    alert("here");
	    // stop the current event and strt a new on (@mouseover on slideing in)
	 if(curEffectSlideOut != null) curEffectSlideOut.cancel();
	 if(curEffectSlideOut != null) curEffectFadeOut.cancel();
	 
	 $('sideBarContents').show();
	 blockExec = false;
	 return false;

	 destination = 'in'; // set destination to toggle slidein effect
	}*/
	if(/*destination=='in'  &&*/ state == 'out' ){
		blockExec = true;
		state = 'in';
		//$('sideBarTab').childNodes[0].src = $('sideBarTab').childNodes[0].src.replace(/(\.[^.]+)$/, '-active$1');
		curEffectSlideIn = new Effect.SlideRight('sideBarContents', { afterFinish: function(){ blockExec = false; }} ); 
		curEffectFadeIn = new Effect.Fade('sideBarContents', { duration:1.0, from:0.0, to:1.0 } );
		
	}
	else if(/*destination=='out'&& */ state == 'in'){

		blockExec = true;
		state = 'out';
		//$('sideBarTab').childNodes[0].src = $('sideBarTab').childNodes[0].src.replace(/-active(\.[^.]+)$/, '$1');
		curEffectSlideOut = new Effect.SlideLeft('sideBarContents', { afterFinish: function(){ blockExec = false; }} ); 
		curEffectFadeOut = new Effect.Fade('sideBarContents', { duration:1.0, from:1.0, to:0.0 } );
		
	}else{
		//if(timer) clearTimeout(timer);
	}
	return false;
}

