var gStrCurrentItemId = "home";
var gStrNewItemId;
var gIntervalFadeIn, gIntervalFadeOut;
var gIntCurrentFrame;
var gstrCurrentHighlighted = null;
var gstrLang = "en";
var kMAX_FRAMES = 9;

function highlightH_C(strId)
{
	document.getElementById("imgtop_"+strId).src = "images/background_mid_"+strId+"_highlight.jpg";
}
function unhighlightH_C(strId)
{
	document.getElementById("imgtop_"+strId).src = "images/background_mid_"+strId+".jpg";
}

function highlight(strId)
{
	if (gstrCurrentHighlighted != null)
	{				
		unhighlight(gstrCurrentHighlighted);
	}
	
	document.getElementById("img_"+strId+"_highlight").style.visibility = "visible";

	gstrCurrentHighlighted = strId;
}

function unhighlight(strId)
{
	document.getElementById("img_"+strId+"_highlight").style.visibility = "hidden";
}

function openNewPageThenFadeIn(strId, strPage)
{
	var objDiv = document.getElementById("divText");
	//var objDivImage = document.getElementById("divCornerImage");
	if (strPage == null)
	{
		strPage = strId;
	}
	setUpOpacity(objDiv);
	//setUpOpacity(objDivImage);
	gstrPageId = strId;
	gstrPage = strPage;
	frames['frameTextHolder'].location.replace(gstrLang+"/"+strPage+"_"+gstrLang+".html");
	gisLoaded = true;	
}

function completelyFadeInText(objDiv)
{
	var e;

	try
	{
		if (objDiv.filters) // internet Explorer
		{
			objDiv.filters.alpha.enabled = false;
			objDiv.filters.alpha.opacity = 95;
		}
		else //Mozilla
		{	  			    
			objDiv.style.MozOpacity = 0.95;
		}
	}
	catch (e)
	{
		
	}
}


function fadeInText(objDiv)
{
	try
	{
	      var fltStep = (100 / kMAX_FRAMES);

	      if (objDiv.filters) // internet Explorer
	      {

	          if (objDiv.filters.alpha.opacity <= 100)
	          {
			objDiv.filters.alpha.opacity = parseInt(objDiv.filters.alpha.opacity) + Math.round(fltStep);
		  }

	      }
	      else //Mozilla
	      {
		  			    
		  if (parseFloat(objDiv.style.MozOpacity) <= .9)
		  {
			objDiv.style.MozOpacity = (parseFloat(objDiv.style.MozOpacity*100) + fltStep)/100;
		  }
	      }
	}
	catch (e)
	{
		
	}
}

function completelyFadeOutText(objDiv)
{
	try
	{
	      if (objDiv.filters) // internet Explorer
	      {
		 var objForm = document.forms[0];
		 if (objForm)
		 {
			 for (var i=0; i<objForm.elements.length; ++i)
			 {
				objForm.elements[i].style.visibility = "hidden";
			 }
		 }

	         objDiv.filters.alpha.opacity = 0;
	      }
	      else //Mozilla
	      {
	  	//objDiv.innerHTML = "";
		  objDiv.style.MozOpacity = 0;
	      }
	}
	catch (e)
	{
		
	}
}

function fadeOutText(objDiv)
{
	try
	{
	      var fltStep = (100 / kMAX_FRAMES);

	      if (objDiv.filters) // internet Explorer
	      {
	    
	          if (objDiv.filters.alpha.opacity >= 6)
	          {
			objDiv.filters.alpha.opacity = parseInt(objDiv.filters.alpha.opacity) - Math.round(fltStep);
		  }
		  else
		  {
			objDiv.filters.alpha.opacity = 0;
		  }
	      }
	      else //Mozilla
	      {
		  
			    
		  if (parseFloat(objDiv.style.MozOpacity) >= .06)
		  {
			objDiv.style.MozOpacity = (parseFloat(objDiv.style.MozOpacity*100) - fltStep)/100;
		  }
		  else
	          {
		  	//objDiv.innerHTML = "";
		  	objDiv.style.MozOpacity = 0;
		  }
	      }
	}
	catch (e)
	{
		
	}
}

function setUpOpacityForFadeOut(objDiv)
{
	try
	{		
		if (objDiv.filters) // fix internet Explorer bug
		{			
			objDiv.filters.alpha.enabled = true;
			objDiv.filters.alpha.opacity = "95";
		}
	}
	catch (e)
	{ }
}

function setUpOpacity(objDiv)
{
	try
	{		
		if (objDiv.filters) // fix internet Explorer bug
		{			
			objDiv.filters.alpha.enabled = true;
			objDiv.filters.alpha.opacity = "6";
		}
	}
	catch (e)
	{ }
}

function keepPageHistory(intPos)
{ 
	if (intPos == null)
	{
		garrPagesVisited[gintCurrentPagePos] = gstrPage;
		garrPageIdsVisited[gintCurrentPagePos] = gstrPageId;
		++gintCurrentPagePos;
		
		garrPagesVisited.length = gintCurrentPagePos;
		garrPageIdsVisited.length = gintCurrentPagePos;
		//make left arrow active just in case not already active
		document.getElementById("imgLeftArrow").src = "images/active_left_arrow.gif";
		document.getElementById("imgRightArrow").src = "images/inactive_right_arrow.gif";
	}
}

function fadeOutOldFadeInNew(strId, strPage, intPos, arrScriptIncludes)
{
	if (!gisLocked)
	{
		gisLocked = true;
	
		var objDiv = document.getElementById("divText");
		//var objDivImage = document.getElementById("divCornerImage");

		keepPageHistory(intPos);

		gStrNewItemId = strId;
		gIntCurrentFrame = kMAX_FRAMES;
		setUpOpacityForFadeOut(objDiv);
		//setUpOpacityForFadeOut(objDivImage);
		gIntervalFadeOut = window.setInterval("fadeOut_timer()",25); 
	}
}

function moveFaderDown()
{
	document.getElementById("div_" + gStrCurrentItemId + gIntCurrentFrame).style.visibility = "hidden";
}


function moveFaderUp()
{
	document.getElementById("div_" + gStrNewItemId + gIntCurrentFrame).style.visibility = "visible";
}

function fadeOutFinished()
{
	var objDiv = document.getElementById("divText");
	var objDivImage = document.getElementById("divCornerImage");

	clearInterval(gIntervalFadeOut);

	document.getElementById("div_" + gStrCurrentItemId + "_highlight").style.visibility = "hidden";
	clearInterval(gIntervalFadeOut);
	completelyFadeOutText(objDiv);	
	completelyFadeOutText(objDivImage);
	gIntCurrentFrame = 2;
	openNewPageThenFadeIn(gStrNewItemId);
}

function fadeOut_timer()
{
   var e;

   try
   {
	var objDiv = document.getElementById("divText");
	var objDivImage = document.getElementById("divCornerImage");

	if (gIntCurrentFrame >=2)
	{
		moveFaderDown();
		fadeOutText(objDiv);
		fadeOutText(objDivImage);
	}
	else
	{
	       	fadeOutFinished();
		return;
	}
   }
   catch (e)
   {
        fadeOutFinished();
	return;
   }

    --gIntCurrentFrame;
}

function fadeInFinished()
{
	var objDiv = document.getElementById("divText");
	var objDivImage = document.getElementById("divCornerImage");

	clearInterval(gIntervalFadeIn);
	completelyFadeInText(objDiv);
	completelyFadeInText(objDivImage);
	gStrCurrentItemId = gStrNewItemId;
	gisLocked = false;
	isLockedRoom = false;
}

function fadeIn_timer()
{
    var e;

    try
    {
	var objDiv = document.getElementById("divText");
	var objDivImage = document.getElementById("divCornerImage");
	if (gIntCurrentFrame <= 9) 
	{ 
		moveFaderUp();
		fadeInText(objDiv);
		fadeInText(objDivImage);
        }
	else
	{		
		fadeInFinished();
		return;
	}
    }
    catch (e)
    {
	fadeInFinished();
	return;
    }

    ++gIntCurrentFrame;	
}