////////////////////////////////////////////////////////////////////////////////////////////////////////
// CONFIG SETTINGS
////////////////////////////////////////////////////////////////////////////////////////////////////////

var efCONFIG = new Array();

efCONFIG['IE'] = (navigator.appName == "Microsoft Internet Explorer");


////////////////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////////////////////////

function objectWA(object)
{
	document.write(object);
}

function efExpandItem(name, type)
{
	var aName = name.split("_");
	
	var thisObj = efGetObj(name);
	//var parentClass = type+"BorderBG";
	
	if(thisObj.className.match(/displayNone/))
	{
		efRemoveClass(name, "displayNone");
		efAddClass(name, "displayBlock");
		
		//efAddClass(efGetParent(thisObj, "DIV"), parentClass);
	}
	else
	{
		efRemoveClass(name, "displayBlock");
		efAddClass(name, "displayNone");
		
		//efRemoveClass(efGetParent(thisObj, "DIV"), parentClass);
	}
	
	var i=0;
	while(true)
	{
		i++;
		
		var obj = efGetObj(aName[0]+"_"+i);
		if(obj)
		{
			if(aName[1] != i)
			{
				efRemoveClass(obj, "displayBlock");
				efAddClass(obj, "displayNone");
				
				//efRemoveClass(efGetParent(obj, "DIV"), parentClass);
			}
		}
		else
			break;
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////
// OPACITY FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////////////////////////
	
function efSetOpacity(obj, opacity)
{
	var obj = efGetObj(obj);
	var opacity = (opacity >= 1) ? (opacity/100) : opacity;
	
	if(efCONFIG['IE'])
		obj.style.filter = "alpha(opacity=" + parseInt(opacity*100) + ")";
	else
		obj.style.opacity = opacity;
}

function efGetOpacity(obj)
{
	var obj = efGetObj(obj);
	var opacity = 0;
	
	if(efCONFIG['IE'])
	{
		opacity = obj.style.filter;
		opacity = opacity.split("=");
		opacity = parseInt(opacity[1]);
		
		opacity = (opacity != "") ? opacity : 0;
	}
	else
	{
		opacity = obj.style.opacity;
		opacity = (opacity != "") ? opacity : 1;
	}
	
	opacity = (opacity > 1) ? opacity : (opacity*100);
	
	return opacity;
}

function efFadeOpacity(obj, step, interval, endOpacity, startOpacity)
{
	var obj = efGetObj(obj);
	
	if(!obj)	return;
	
	var opacity = efGetOpacity(obj);
	var newOpacity = (endOpacity >= opacity) ? opacity+step : opacity-step;
	
	newOpacity = (Math.abs(newOpacity - endOpacity) < step) ? endOpacity : newOpacity;
	newOpacity = isNaN(startOpacity) ? newOpacity : startOpacity;
	
	efSetOpacity(obj, newOpacity);
	
	obj = (endOpacity == newOpacity) ? null : obj;
	window.setTimeout(function (){efFadeOpacity(obj, step, interval, endOpacity)}, interval);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////
// HELPER FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////////////////////////

function efGetObj(name)
{
	var result = (typeof(name) == "object") ? name : document.getElementById(name);
	
	return result;
}

function efGetParent(obj, tagName)
{
	tagName = tagName.toUpperCase();
	
	obj = obj.parentNode;
	while(obj.parentNode.tagName != null && obj.tagName.toUpperCase() != tagName)
		obj = obj.parentNode;
		
	return obj;
}

function efAddClass(obj, className)
{
	obj = efGetObj(obj);
	
	obj.className = obj.className + " " + className;
}

function efRemoveClass(obj, className)
{
	obj = efGetObj(obj);
	
	obj.className = obj.className.replace(eval("/"+className+"/gi"), "");
}