/**
*
* COPYRIGHT JOHN SHERLOCK 2008
*
*/

function getOpacity(div)
{
	if(div.style.filter && div.style.filter!='')
	{
		var filter = div.style.filter;
		var substr1 = filter.indexOf("=")+1;
		var substr2 = filter.indexOf(")");

		return getIntValue(filter.substring(substr1, substr2));
	}
	else if(div.style.opacity && div.style.opacity != '')
	{
		var opacity = div.style.opacity;

		if(opacity >0 && opacity <=1)
			opacity = opacity *100;

		return opacity;
	}
}

function getIntValue(strValue)
{
	if(strValue.indexOf('px') == strValue.length-2 && strValue.length > 1)
		return parseInt(strValue.substring(0,strValue.length-2));
	else
		return parseInt(strValue);
}


function setDivOpacity(div, opacity)
{
	div.style.opacity = opacity/100;
	div.style.filter = 'alpha(opacity='+opacity+')';
}


function callNextFunction(nextFunction)
{
	if(nextFunction != null)
		nextFunction.call();

}

function recenter(divId, horz, vert, relative, nextFunctionCondition, nextFunction)
{
	var div = $(divId);

	var parent = div.parentNode;

	var x, y, horzCenter, vertCenter;

	if(relative)
	{
		w = parent.clientWidth;
		h = parent.clientHeight;
	}
	else
	{
		w = document.body.clientWidth;
		h = document.body.clientHeight;
	}
	horzCenter = w/2;
	vertCenter = h/2;

	var halfWidth = div.clientWidth/2;
	var halfHeight = div.clientHeight/2;

	var left = Math.round(horzCenter - halfWidth);
	var top = Math.round(vertCenter - halfHeight)-40;

	if (top < 0) top = 0;
	if (left < 0) left = 0;

	if(horz == null || horz == true)
		div.style.left = left;
	if(vert == null || vert == true)
		div.style.top = top;
}


function changeOpacity(divId, opacity)
{
	var div = $(divId);

	div.style.opacity = opacity/100;
	div.style.filter = 'alpha(opacity=' + opacity + ')';
}


String.prototype.endsWith = function(str)
{
	return (this.match(str+"$")==str)
}

function executeFunctions(functions)
{
	var functionChain = '';
	var tmpFuncChain = '';
	var functionChainTail = '';

	for(i=0;i<functions.length;i++)
	{
		var func = functions[i];

		if(i<functions.length-1)
		{
			func = func.toString();
			if(func.endsWith('\n}'))
				func = func.substring(0,func.length-4);
			else
				func = func.substring(0,func.length-((saf)?3:2));

			functionChain += func + ', ';
			functionChainTail += ');}';
		}
		else
		{
			func = func.toString();
			functionChain += (func + functionChainTail);
			
			if(functionChain.indexOf('\n')!=-1)
				tmpFuncChain = functionChain.substring(14, functionChain.length-1);
			else {
				if(saf)
					tmpFuncChain = functionChain.substring(13, functionChain.length-1);
				else if(ie)
					tmpFuncChain = functionChain.substring(11, functionChain.length-1);
				else
					tmpFuncChain = functionChain.substring(12, functionChain.length-1);
			}
		}

	}
	//tmpFuncChain = 'fadeOut("loading", 100, null, function () { setDivVis("contentWindow", "visible", function () { resizeWidth("contentWindow", 15, 600, null, function () { resizeHeight("contentWindow", 15, 400, "getIntValue(div.style.height) == goal", function () { fadeInLogo(0, function () { showGallery() });});});});});';
	//alert('#' + tmpFuncChain + '#');
	//$('code').innerHTML = tmpFuncChain;
	//setTimeout(tmpFuncChain,10);
	
	//fadeOut('loading', 100, null, function (){setDivVis('contentWindow', 'visible', function (){resizeWidth('contentWindow', 15, 600, null, function (){resizeHeight('contentWindow', 15, 400, 'getIntValue(div.style.height) == goal', function (){fadeInLogo(0, function (){showGallery()});});});});});
	//fadeOut('loading', 100, null), function () {setDivVis('contentWindow', 'visible'), function () {resizeWidth('contentWindow', 15, 600, null), function () {resizeHeight('contentWindow', 15, 400, 'getIntValue(div.style.height) == goal'), function () {fadeInLogo(0), function () {showGallery();});});});});});
	
	eval(tmpFuncChain);
}


function setCurrentContent(divId, nextFunction)
{
	currentContent = divId;
	
	addScreen(divId);

	if(nextFunction != null)
		callNextFunction(nextFunction);
}

function setDivTop(divId, top, nextFunction)
{
	var div = $(divId);
	div.style.top = top;

	if(nextFunction != null)
		callNextFunction(nextFunction);	
}

function setDivLeft(divId, left, nextFunction)
{
	var div = $(divId);
	div.style.left = left;

	if(nextFunction != null)
		callNextFunction(nextFunction);	
}

function setDivWidth(divId, top)
{
	var div = $(divId);
	div.style.width = top;
}

function setDivHeight(divId, top)
{
	var div = $(divId);
	div.style.width = top;
}

function setDivPositionStyle(divId, style, nextFunction)
{
	var div = $(divId);
	div.style.position = style;

	if(nextFunction != null)
		callNextFunction(nextFunction);	
}

function hideDiv(divId)
{
	var div = $(divId);
	div.style.visibility = 'hidden';
}

function show(divId)
{
	var functions = new Array(
		function(){fadeOut(currentContent,null,null)},
		function(){fadeIn(divId,100,null)},
		function(){setCurrentContent(divId)}
	);
	executeFunctions(functions);
}

function setDivVis(divId, vis, nextFunction)
{
	var div = $(divId);
	div.style.visibility = vis;

	if(nextFunction != null)
		callNextFunction(nextFunction);		
}
