function setOpacity(eID, opacityLevel) 
{
    var eStyle = document.getElementById(eID).style;
    eStyle.opacity = opacityLevel / 100;
    eStyle.filter = 'alpha(opacity='+opacityLevel+')';
}

function openNewPageThenFadeIn(strPageId, strPage, strCategory)
{

//    var objDiv = document.getElementById("divText");
    var objDiv = document.getElementById("divContent");
    var objSidePics = document.getElementById("divSidePics");
    var objDivCategory = document.getElementById("divCategory");
    var d = new Date();

    gstrPageId = strPageId;
    gstrCategory = strCategory;
    gstrPage = strPage;
	
    gisLoaded = true;	

    if (gstrCategory == "")
    {
		document.getElementById("divWithTextClass").className = "textDivNoCategory";
		document.getElementById("divWithCategoryClass").style.visibility = "hidden";
		document.getElementById("divCategoryHolder").style.visibility = "hidden";
		document.getElementById("divNextToContent").style.width = "0px";
		gisReadyToLoad = true;
    }
    else
    {
		document.getElementById("divWithTextClass").className = "textDiv";
		document.getElementById("divNextToContent").style.width = "160px";
		gisReadyToLoad = false;
		frames['frameCategoryHolder'].location.replace("pages/category/"+strCategory+"_category.html?date="+d.getTime());
		document.getElementById("divWithCategoryClass").style.visibility = "visible";
		document.getElementById("divCategoryHolder").style.visibility = "visible";
    }

    frames['frameTextHolder'].location.replace("pages/"+strPage+"?date="+d.getTime());
    
}

function disappearInputSelectBoxes(strTagType)
{

	var arrObjs = document.getElementById("divText").getElementByTagName(strTagType);
		
	if (arrObjs.length)
	{
		 for (var i=0; i<arrObjs.elements.length; ++i)
		 {
			arrObjs.elements[i].style.visibility = "hidden";
		 }
	 }

}

function completelyFadeOutText(objDiv)
{
	try
	{
	      if (objDiv.filters) // internet Explorer
	      {
			disappearInputSelectBoxes("INPUT");
			disappearInputSelectBoxes("SELECT");
			disappearInputSelectBoxes("TEXTAREA");

	        objDiv.filters.alpha.opacity = 0;
	      }
	      else //Mozilla
	      {
	  	  objDiv.style.MozOpacity = 0;
		  objDiv.style.opacity = 0;
	      }
	}
	catch (e)
	{
		
	}
}

function fadeOutOldFadeInNew(strId, strPage, intPos, strCategory, arrScriptIncludes)
{

	if (!gisLocked)
	{		
	    gisLocked = true;
			
	    var objDiv = document.getElementById("divContent");
	    var objDivSidePics = document.getElementById("divSidePics");

	    if (intPos == null)
	    {
			garrPagesVisited[gintCurrentPagePos] = gstrPage;
			garrPageIdsVisited[gintCurrentPagePos] = gstrPageId;
			garrCategoryVisited[gintCurrentPagePos] = gstrCategory;
			++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";
	    }

	    gstrPageId = strId;
	    gstrPage = strPage;
	    gstrCategory = strCategory;
		
		fadeOutAll();
	}

	if (arrScriptIncludes != null)
	{
		if (arrScriptIncludes.length == arrScriptIncludes.toString().length) //check if string
		{
			arrScriptIncludes = new Array(arrScriptIncludes); //turn into array if string
		}

		for (var i=0; i<arrScriptIncludes.length; ++i)
		{			
			cmm_dhtmlLoadScript(arrScriptIncludes[i]);
		}
	}
}

function fadeOutFinished()
{
    var objDiv = document.getElementById("divContent");

    completelyFadeOutText(objDiv);

    openNewPageThenFadeIn(gstrPageId, gstrPage, gstrCategory);
}

function fadeInFinished()
{
	var objDiv = document.getElementById("divContent");

	if (objDiv.filters)
	{
		objDiv.filters.alpha.enabled = false;
		document.getElementById("divCategoryContent").filters.alpha.enabled = false;
	}	

	document.getElementById("divBackSidePics").style.backgroundImage = document.getElementById("divSidePics").style.backgroundImage;
	document.getElementById("divSidePics").style.backgroundImage = document.getElementById("divBackSidePics").style.backgroundImage; //hack?
    gisLocked = false;
}

function fadeOutAll()
{
	var objDiv = document.getElementById("divContent");

	if (objDiv.filters)
	{
		objDiv.filters.alpha.enabled = true;
		document.getElementById("divCategoryContent").filters.alpha.enabled = true;
	}	
		
	for (var i=1; i<=24; i++) 
	{
		setTimeout("setOpacity('divSidePics',"+((25-i)*4)+")", i * 50);
		setTimeout("setOpacity('divContent',"+((25-i)*4)+")", i * 50);
		if (gstrCategory != garrCategoryVisited[gintCurrentPagePos - 1])
	    {
			setTimeout("setOpacity('divCategoryContent',"+((25-i)*4)+")", i * 50);
		}
    }
	
	setTimeout("fadeOutFinished()", 1300);
	
}

function fadeInAll()
{
	for (var i=1; i<=49; i++) 
	{
		setTimeout("setOpacity('divSidePics',"+(i*2)+")", 250 + (i * 40));
		setTimeout("setOpacity('divContent',"+(i*2)+")", 250 + (i * 40));
		if (gstrCategory != "")
		{
			if (gstrCategory != garrCategoryVisited[gintCurrentPagePos - 1])
			{	
				setTimeout("setOpacity('divCategoryContent',"+(i*2)+")", 250 + (i * 40));
			}
		}
    }
	
	setTimeout("fadeInFinished()", 2250);

}
