/*  .-=====================================================-.  */
/*  |-|  DHTML Library v1.1 for support contact gmccartn  |-|  */
/*  |-|  Created: [11/05/04]   Last Modified: [08/03/05]  |-|  */
/*  |-|  v1.0 to v1.1 ==================================  |-|  */
/*  |-|  Added: minList & maxList functions               |-|  */
/*  |-|  Changed: getMaxLayerHeight now accepts arrays    |-|  */
/*  '-=====================================================-'  */

var undef;
var dom=(document.getElementById)?true:false;
var ie=(document.all)?true:false;
var nn=(document.layers)?true:false;
var visible=(!nn)?'visible':'show';
var hidden=(!nn)?'hidden':'hide';
var alerts='';

function blurIt(theObj)
{
	if(ie)
	{
		theObj.blur();
	}
}

function isNaA(a)
{
	return !((typeof(a)=='object')&&(!isNaN(a.length)));
}

var top='[ Latest at top ]\n'
function addalert(theAlert)
{
	/* only use window.status in dev */
	//window.status=theAlert;
	alerts=top+theAlert+'\n'+alerts.substr((top.length));
}

function clearalerts()
{
	alerts=top;
}

function colourLayer(theLayer,theColour)
{
	if(layerCheck(theLayer))
	{
		if(dom)
		{
			document.getElementById(theLayer).style.backgroundColor=theColour;
		}
		else if(ie)
		{
			document.all[theLayer].style.backgroundColor=theColour;
		}
		else if(nn)
		{
			document.layers[theLayer].bgColor=theColour;
		}
	}
}

function swapImg(theImg,theSrc)
{
	if(document.images[theImg]&&theSrc!='')
	{
		document.images[theImg].src=theSrc;
	}
}

function layerCheck(theLayer)
{
	if(dom)
	{
		return (document.getElementById(theLayer))?true:false;
	}
	else if(ie)
	{
		return (document.all[theLayer])?true:false;
	}
	else if(nn)
	{
		return (document.layers[theLayer])?true:false;
	}
}

function setLayerStyle(theLayer,theAttrib,theValue)
{
	if(layerCheck(theLayer))
	{
		if(dom)
		{
			document.getElementById(theLayer).style[theAttrib]=theValue;
		}
		else if(ie)
		{
			document.all[theLayer].style[theAttrib]=theValue;
		}
		else if(nn)
		{
			document.layers[theLayer][theAttrib]=theValue
		}
	}
}

function getLayerStyle(theLayer,theAttrib,theType)
{
	if(layerCheck(theLayer))
	{
		var ret;
		if(dom)
		{
			ret=document.getElementById(theLayer).style[theAttrib];
		}
		else if(ie)
		{
			ret=document.all[theLayer].style[theAttrib];
		}
		else if(nn)
		{
			ret=document.layers[theLayer][theAttrib];
		}
		if(ret!=undef&&theType=='#') ret=parseInt(ret);
		return ret;
	}
}

function showLayer(theLayer)
{
	setLayerStyle(theLayer,'visibility',visible);
}

function hideLayer(theLayer)
{
	setLayerStyle(theLayer,'visibility',hidden);
}

function moveLayerTo(theLayer,xPos,yPos)
{
	var x=xPos;
	var y=yPos;
	if(!isNaA(xPos))
	{
		x=xPos[0];
		y=xPos[1];
	}
	addalert('info: moveLayerTo('+theLayer+','+x+','+y+')');
	if(!isNaN(x)) setLayerStyle(theLayer,'left',x);
	if(!isNaN(y)) setLayerStyle(theLayer,'top',y);
}

function getLayerHeight(theLayer)
{
	//addalert('info: getLayerHeight('+theLayer+')');
	if(layerCheck(theLayer))
	{
		var ret;
		if(dom)
		{
			ret=document.getElementById(theLayer).offsetHeight;
		}
		else if(ie)
		{
			ret=document.all[theLayer].clientHeight;
		}
		else if(nn)
		{
			ret=document.layers[theLayer].document.height;
		}
		if(ret!=undef) ret=parseInt(ret);
		return ret;
	}
}

function getLayerWidth(theLayer)
{
	if(layerCheck(theLayer))
	{
		var ret;
		if(dom)
		{
			ret=document.getElementById(theLayer).offsetWidth;
		}
		else if(ie)
		{
			ret=document.all[theLayer].clientWidth;
		}
		else if(nn)
		{
			ret=document.layers[theLayer].document.width;
		}
		if(ret!=undef) ret=parseInt(ret);
		return ret;
	}
}

function getLayerSize(theLayer,theType)
{
	var w=getLayerWidth(theLayer);
	var h=getLayerHeight(theLayer);
	return [w,h];
}

function getLayerOffset(theLayer)
{
	if(layerCheck(theLayer))
	{
		if(dom)
		{
			var x=document.getElementById(theLayer).offsetLeft;
			var y=document.getElementById(theLayer).offsetTop;
		}
		else if(ie)
		{
			var x=document.all[theLayer].offsetLeft;
			var y=document.all[theLayer].offsetTop;
		}
		else if(nn)
		{
			var x=document.layers[theLayer].pageX;
			var y=document.layers[theLayer].pageY;
		}
		return [x,y];
	}
}

function setLayerClip(theLayer,Ctop,Cright,Cbottom,Cleft)
{
	if(!nn)
	{
		setLayerStyle(theLayer,'clip','rect('+Ctop+' '+Cright+' '+Cbottom+' '+Cleft+')');
	}
	else
	{
		with(document.layers[theLayer].clip)
		{
			right=Cright;
			top=Ctop;
			bottom=Cbottom;
			left=Cleft;
		}
	}
}

function getMaxLayerHeight()
{
	var sizes=new Array();
	var theArgs=getMaxLayerHeight.arguments;
	for(var i=0;i<theArgs.length;i++)
	{
		if(isNaA(theArgs[i]))
		{
			if(layerCheck(theArgs[i]))
			{
				sizes[sizes.length]=getLayerHeight(theArgs[i]);
			}
			else if(!isNaN(theArgs[i]))
			{
				sizes[sizes.length]=theArgs[i];
			}
		}
		else
		{
			for(var j=0;j<theArgs[i].length;j++)
			{
				if(layerCheck(theArgs[i][j]))
				{
					sizes[sizes.length]=getLayerHeight(theArgs[i][j]);
				}
				else if(!isNaN(theArgs[i][j]))
				{
					sizes[sizes.length]=theArgs[i][j];
				}
			}
		}
	}
	return maxList(sizes);
}

function minList(theArray)
{
	if(!isNaA(theArray))
	{
		var wee=theArray[0];
		for(var i=0;i<theArray.length;i++)
		{
			wee=Math.min(wee,theArray[i]);
		}
		return wee;
	}
	else
	{
		return theArray;
	}
}

function maxList(theArray)
{
	if(!isNaA(theArray))
	{
		var huoge=theArray[0];
		for(var i=0;i<theArray.length;i++)
		{
			huoge=Math.max(huoge,theArray[i]);
		}
		return huoge;
	}
	else
	{
		return theArray;
	}
}
