var disappearenceDelay = 500;
var emergenceDelay = 500
var currentSelectionID = null;

var emergenceTimer = null;
var dissapearenceTimer = null;

function setPopup( id ){
	
	if( currentSelectionID != id ){
			
			if( emergenceTimer != null ){ clearTimeout( emergenceTimer ); emergenceTimer = null;  }
			
			clearPopup( currentSelectionID );
			
			currentSelectionID = id;
			
			var offset = $( '#' + id  + 'Wrapper').offset();
			
			var x = offset.left;
			
			var y = offset.top;
			
			
			$( '#' + id + 'Menu' ).css( 'left', parseInt( x ) + 7 );
			
			$( '#' + id + 'Menu' ).css( 'top', parseInt( y ) + 48);
			
			$( '#' + id + 'Menu' ).show( 'normal' );
	}
}

function clearPopup( id ){ 
 
 if( id ){ 
	  
	  $( '#' + id + 'Menu' ).hide( 'fast' );	  
	  currentSelectionID = null;
 }  
}

function cancelDissapearenceTimer( id ){
 
   if( currentSelectionID == id ){  if( dissapearenceTimer != null ){ clearTimeout( dissapearenceTimer ); dissapearenceTimer = null; } }
}

function triggerPopupCancel( id  ){   
   
   if( emergenceTimer != null){ clearTimeout( emergenceTimer ); emergenceTimer = null; }
   
   if( currentSelectionID == id ){ 
    
	  if( dissapearenceTimer != null ){ clearTimeout( dissapearenceTimer ); dissapearenceTimer = null; }
	  
	  dissapearenceTimer = setTimeout( "clearPopup('" + id + "' )", disappearenceDelay ); 
   } 
}


function triggerPopupMenu( id ){
	
	if( currentSelectionID != id ){
	
	   if( emergenceTimer != null ){ clearTimeout( emergenceTimer );  emergenceTimer = null; }
	   
	   emergenceTimer = setTimeout( "setPopup('" + id + "' )", emergenceDelay );
	}
}
function swapBGcolor( obj, state ){	$(obj).css( 'background-color', state ? "#dedede" : "#feffe0" ); }
