
var FLASH_BOX_VISIBLE = false;
var TIMEOUT           = 10000;

function doneRemovingFlash(){
  FLASH_BOX_VISIBLE = false;
}

function removeFlashBox(id){
  if(!FLASH_BOX_VISIBLE){return;}

  var flash = document.getElementById(id);
	var anim_parms = {
		top: 	{from: 0, to: flash.box_size}
	};
	var anim	= new YAHOO.util.Anim(flash, anim_parms);
  anim.duration = flash.duration;
  anim.onComplete.subscribe(doneRemovingFlash);
  anim.animate();
}

function removeExactVisBox(id, height, active){
  if(active == false){return true;}
  var flash = document.getElementById(id);
	var anim_parms = {
		top: 	{from: 0, to: height}
	};
	var anim	= new YAHOO.util.Anim(flash, anim_parms);
  anim.duration = .75;
  anim.animate();
}

var _VISIBLE_FLASH_BOX  = false;

function removeVisibleBox(id){
  _VISIBLE_FLASH_BOX  = false;
  removeExactVisBox(id, -300, true);
}

function displayExactVisBox(id, height, active){
  if(active == true){return true;}
  var flash = document.getElementById(id);
	var anim_parms = {
		top: 	{from: height, to: 0}
	};
	var anim	= new YAHOO.util.Anim(flash, anim_parms);
  anim.duration = .75;
  anim.animate();
}

function displayVisibleBox(id){
  _VISIBLE_FLASH_BOX  = true;
  displayExactVisBox(id, -300, false);
}

function addFlashMessage(msg, fl_size, remove){
  var flash = document.getElementById("fb_contents");
  flash.innerHTML = msg;
  addFlashBox(fl_size, remove);
}

function addFlashBox(fl_size, remove){
  if(FLASH_BOX_VISIBLE == true){return;}
  var flash = document.getElementById("flash_box");
  size  = -30 * fl_size - 50;
  flash.style.top = size;
  if(fl_size <= 0){return;}
  var anim_parms = {
    top: 	{from: size, to: 0}
  };
  flash.duration  = 0.2*(fl_size + 1);
  if(flash.duration > 1.5){flash.duration = 1.5;}
  flash.box_size  = size;

  var anim	= new YAHOO.util.Anim(flash, anim_parms);
  anim.duration = flash.duration;
  if(remove == true){
	  anim.onComplete.subscribe(doneMovingFlashInTimeout);
  }else{
	  anim.onComplete.subscribe(doneMovingFlashIn);
  }
  anim.animate();
}

function doneMovingFlashIn(){
  FLASH_BOX_VISIBLE = true;
}

function doneMovingFlashInTimeout(){
  setTimeout("removeFlashBox('flash_box')",TIMEOUT);
  FLASH_BOX_VISIBLE = true;
}

var _CURR_TIP = "null";

function displayTipFlash(id){
  new Ajax.Request('/studio/displayTip?tip='+id+"&", 
    { asynchronous:true, 
      evalScripts:true,
      method:'get',
      onSuccess:function(request){displayTipFlashCallback(request)},
      onFailure:function(request){displayTipFlashCallbackFailed(request)}
    }
  );
  return false;
}

function toggleShowTip(){
  new Ajax.Request('/studio/toggleShowTip?', 
    { asynchronous:true, 
      evalScripts:true,
      method:'get'
    }
  );
  return false;
}

function displayTipFlashCallback(request){
  addFlashMessage(request.responseText, 20, false);
}

function displayTipFlashCallbackFailed(request){
}

