var fdTimerLen = 2;
var fdAniLen = 500;
var fdTextAniLen = 1500;
var fdRedirectAniLen = fdAniLen + 200;
var fX = 1;

var fdObj = null;
var fdSlideObjName = null;
var fdLinkObj = null;
var fdGrph;
var fdPen = "#fabe11";
var fdBGPen = "#000000";
var fdLaPen = "#3a3a3c"; // Link active
var fdLiaPen = "ebebec"; // Link inactive
var fdDrawing = false;
var fdWStartTime;
var fdHStartTime;
var fdEndHeight = 23;
var fdEndWidth = 270;
var fdSTimerID;
var fdFTimerID;
var fdRTimerID;
var fdTTimerID;

var fdPrevObj = null;
var fdPrevSlideObjName = null;
var fdPrevLinkObj = null;

var fdTargetPage = null;
var fdDynId = null;

function shoot_effect(){
	if(fdDrawing)
		return;
	if(fdObj == fdPrevObj){
		if(fdDynId == null || fdDynId == ""){
			return;
		}
		else{
			fdRTimerID = setTimeout(getIHTML, fdRedirectAniLen - fdAniLen);
		}
		return;
	}
	
	fdDrawing = true;
	start_shoot();
}

function start_shoot(){
	fdGrph = new jsGraphics(fdObj.id);

	if(fdPrevObj != null){
		fdPrevObj.className = "submenu";
	}

	if(fdPrevLinkObj != null){
		fdPrevLinkObj.style.color = fdLiaPen;
	}
	
  fdWStartTime = (new Date()).getTime();

  fdSTimerID = setInterval("shoot_tick();",fdTimerLen);
}

function shoot_tick(){
  var elapsed = (new Date()).getTime() - fdWStartTime;

  if (elapsed > fdAniLen)
			end_shoot()
  else {
		var d =Math.round(elapsed / fdAniLen * fdEndWidth);
			
		fdGrph.setColor(fdPen);
  	fdGrph.drawLine(fX + 10, 0, fX + 10 + d, 0);
  	fdGrph.paint();
  	if(d>10){
  		fdGrph.setColor(fdBGPen);
  		fdGrph.drawLine(fX + 10, 0, fX + d, 0);
  		fdGrph.paint();
  	}
  }

  return;
}

function end_shoot(){
	clearInterval(fdSTimerID);
	
  fdHStartTime = (new Date()).getTime();
  fdFTimerID = setInterval("fill_tick();",fdTimerLen);
  return;
}

function fill_tick(){
  var elapsed = (new Date()).getTime() - fdHStartTime;

  if (elapsed > fdAniLen){
     end_fill();
  }
  else {
		var d = fdEndWidth - Math.round(elapsed / fdAniLen * fdEndWidth);

		fdGrph.setColor(fdPen);
  	fdGrph.fillPolygon(
  		new Array(d + fX, fdEndWidth + fX, fdEndWidth + fX, d + fX + fdEndHeight),
  		new Array(0, 0, fdEndHeight, fdEndHeight));
  	fdGrph.paint();
  }

  return;
}

function end_fill(){
	clearInterval(fdFTimerID);

	fdObj.className = "submenu_hover";
	fdGrph.clear();
	
	text_anim();
}

function text_anim(){
	var b = cssColor2rgb(fdPen);
	var e = cssColor2rgb(fdLaPen);
	
	var change0=e[0]-b[0];
	var change1=e[1]-b[1];
	var change2=e[2]-b[2];

	var st = (new Date()).getTime();
	
	function color(){
		var elapsed = (new Date()).getTime() - st;
		
	  if (elapsed > fdTextAniLen)
	     end_text()
	  else {
	  	var d1 = elapsed / fdTextAniLen;
	  	
	  	fdLinkObj.style.color = 'rgb(' +
	  		parseInt(b[0] + change0 * d1) + ',' +
	  		parseInt(b[1] + change1 * d1) + ',' +
	  		parseInt(b[2] + change2 * d1) + ')';
	  		
	  	var d = fdEndWidth - Math.round(elapsed / fdTextAniLen * fdEndWidth);
	  }
  }
  
  fdTTimerID = setInterval(color,fdTimerLen);
  
}

function end_text(){
	clearInterval(fdTTimerID);

 	fdObj.className = "submenu_hover";
	//fdLinkObj.className = "link_submenu_active";
	fdLinkObj.style.color = fdLaPen;

	slideup(fdPrevSlideObjName);
	slidedown(fdSlideObjName);

  fdPrevObj = fdObj;
	fdPrevSlideObjName = fdSlideObjName;
	fdPrevLinkObj = fdLinkObj;

	fdDrawing = false;
	
	fdRTimerID = setTimeout(getIHTML, fdRedirectAniLen);
}

function getIHTML(){
	clearTimeout(fdRTimerID);
	if(fdDynId == null || fdDynId == ''){
		if(fdTargetPage != null && fdTargetPage != ''){
			window.location = fdTargetPage;
		}
	} else {
		document.getElementById('loadarea').src = "index2.php?id=" + fdDynId;
	}
}
