var isDHTML = 0;
var isLayers = 0;
var isAll = 0;
var isID = 0;
var time;
var isScrolling = false;
var autoScroll = false;
var initialised; 
var isIE = 0;

if (navigator.appName.indexOf('Microsoft Internet Explorer') != -1) isIE = 1;
if (document.getElementById) 
{
	isID = 1; 
	isDHTML = 1;
}
else
{
	if (document.all)
	{
		isAll = 1;
		isDHTML = 1;
	}
	else
	{
		browserVersion = parseInt(navigator.appVersion);
		if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4))
		{
			isLayers = 1;
			isDHTML = 1;
		}
	}
}

/*------------------------------------------------------------
	Document Text Sizer- Copyright 2003 - Taewook Kang.  All rights reserved.
	Coded by: Taewook Kang (txkang.REMOVETHIS@hotmail.com)
	Web Site: http://txkang.com
	Script featured on Dynamic Drive (http://www.dynamicdrive.com)
	
	Please retain this copyright notice in the script.
	License is granted to user to reuse this code on 
	their own website if, and only if, 
	this entire copyright notice is included.
--------------------------------------------------------------*/

//Specify affected tags. Add or remove from list:
var tgs = new Array( 'div','td','tr');

//Specify spectrum of different font sizes:
var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );
var startSz = 1;

function isNum(argvalue) 
{
	argvalue = argvalue.toString();

	if (argvalue.length == 0) return false;

	for (var n = 0; n < argvalue.length; n++)
	if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9") return false;

	return true;
}

function changeFontSize( trgt,inc ) 
{
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	
	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 4 ) sz = 4;
	startSz = sz;
		
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0 ; i < tgs.length ; i++ ) 
	{
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}

function findDOM(objectID,withStyle)
{
	if (withStyle == 1) 
	{
		if (isID) 
		{ 
			return (document.getElementById(objectID).style); 
		}
		else 
		{
			if (isAll) 
			{ 
				return (document.all[objectID].style); 
			}
			else 
			{
				if (isLayers) 
				{ 
					return (document.layers[objectID]); 
				}
			};
		}
	}
	else 
	{
		if (isID) 
		{ 
			return (document.getElementById(objectID)); 
		}
		else 
		{
			if (isAll) 
			{ 
				return (document.all[objectID]); 
			}
			else 
			{
				if (isLayers) 
				{ 
					return (document.layers[objectID]); 
				}
			};
		}
	
	}
}

function scrollPageTo(x,y)
{
	if (isIE)
	{
		document.body.scrollLeft = x;
		document.body.scrollTop = y;
		return;
	}
	else
	{
		scrollTo(x,y);
		return;
	}
}

function swapButton(objectID,newImg)
{
	var dom = findDOM(objectID,0);
	dom.src = newImg;
}

function setDisplay(objectID,state)
{
	var dom = findDOM(objectID,1);
	dom.display = state;
}

function getDisplay(objectID)
{
	var dom = findDOM(objectID,1);
	return dom.display;
}

function setVisibility(objectID,state)
{
	var dom = findDOM(objectID,1);
	dom.visibility = state;
}

function getVisibility(objectID)
{
	var dom = findDOM(objectID,1);
	return dom.visibility;
}

function setAlpha(objectID, state)
{
	var dom = findDOM(objectID,1);
	dom.filters.item("Alpha").opacity=state;
}

function nestedScrollUD(parentLayerName, childLayerName, where, leftPos, startPos)
{
	if (where == 'up')
	{
		scrollUp = true;
		nestAnimateUp(parentLayerName, childLayerName, leftPos);
	}
	else if (where == 'down')
	{
		scrollDown = true;
		nestAnimateDown(parentLayerName, childLayerName, leftPos, startPos);
	}
}

function nestAnimateUp(parentLayerName, childLayerName, leftPos){
	
	var top = parseInt(getNestedLayerTop(parentLayerName, childLayerName))

	if ((scrollUp == true) && (top > stopPos)){
		top = top - speed;
		moveNestedLayerTo(parentLayerName, childLayerName, top, leftPos);
		newParentLayerName = parentLayerName;
		newChildLayerName = childLayerName;
		newLeftPos = leftPos;
//		newStopPos = stopPos;
		timerID=setTimeout('nestAnimateUp(newParentLayerName, newChildLayerName, newLeftPos);',10);
	}
}

function nestAnimateDown(parentLayerName, childLayerName, leftPos, startPos){
	
	var top = parseInt(getNestedLayerTop(parentLayerName, childLayerName))

	if ((scrollDown == true) && (top < startPos)){
		top = top + speed;
		moveNestedLayerTo(parentLayerName, childLayerName, top, leftPos);
		newParentLayerName = parentLayerName;
		newChildLayerName = childLayerName;
		newLeftPos = leftPos;
		newStartPos = startPos;
		timerID=setTimeout('nestAnimateDown(newParentLayerName, newChildLayerName, newLeftPos, newStartPos);',10);
	}
}

function moveNestedLayerTo(parentLayerName, childLayerName, top, left)
{
	if(isNav6){
		eval(layerRef+'("'+childLayerName+'")'+styleSwitch+'.top=top');
		eval(layerRef+'("'+childLayerName+'")'+styleSwitch+'.left=left');}
	
	else if (isNav){
		eval(layerRef+'["'+parentLayerName+'"]'+'.'+layerRef+'["'+childLayerName+'"]'+styleSwitch+'.top=top');
		eval(layerRef+'["'+parentLayerName+'"]'+'.'+layerRef+'["'+childLayerName+'"]'+styleSwitch+'.left=left');
	}
	else{
		eval(layerRef+'["'+childLayerName+'"]'+styleSwitch+'.top=top');
		eval(layerRef+'["'+childLayerName+'"]'+styleSwitch+'.left=left');
	}
}

function moveObject(objectID, deltaX, deltaY)
{
	var domStyle = findDOM(objectID, 1);
	var dom = findDOM(objectID,0);

	if (domStyle.pixelLeft)
	{
		domStyle.pixelLeft = deltaX;
		domStyle.pixelTop = deltaY;
	}
	else
	{
		if (dom.offsetLeft != null)
		{
			var plusLeft = dom.offsetLeft;
			var plusTop = dom.offsetTop;
			domStyle.left = deltaX+plusLeft;
			domStyle.top = deltaY + plusTop;
		}
		else dom.moveTo(deltaX, deltaY);
	}
}

function moveObjectBy(objectID, deltaX, deltaY)
{
	var domStyle = findDOM(objectID, 1);
	var dom = findDOM(objectID,0);

	if (domStyle.pixelLeft)
	{
		domStyle.pixelLeft += deltaX;
		domStyle.pixelTop += deltaY;
	}
	else
	{
		if (dom.offsetLeft != null)
		{
			var plusLeft = dom.offsetLeft;
			var plusTop = dom.offsetTop;
			domStyle.left = deltaX+plusLeft;
			domStyle.top = deltaY + plusTop;
		}
		else dom.moveBy(deltaX, deltaY);
	}
}

function findLeft(objectID) 
{
	var domStyle = findDOM(objectID,1);
	var dom = findDOM(objectID,0);
	if (domStyle.left) return parseInt(domStyle.left);
	if (domStyle.pixelLeft) return parseInt(domStyle.pixelLeft);
	if (dom.offsetLeft) return parseInt(dom.offsetLeft);
	return (null);
}

function findTop(objectID)
{
	var domStyle = findDOM(objectID,1);
	var dom = findDOM(objectID,0);
	if (domStyle.top) return parseInt(domStyle.top);
	if (domStyle.pixelTop) return parseInt(domStyle.pixelTop);
	if (dom.offsetTop) return parseInt(dom.offsetTop);
	return (null);
}

function findLivePageHeight()
{
	if (window.innerHeight != null) return window.innerHeight;
	if (document.body.clientHeight != null) return document.body.clientHeight;
	return (null);
}

function findLivePageWidth()
{
	if (window.innerWidth != null) return window.innerWidth;
	if (document.body.clientWidth != null) return document.body.clientWidth;
	return (null);
}

function findXCoord(evt)
{
	if (evt.x) return evt.x;
	if (evt.pageX) return evt.pageX;
}

function findYCoord(evt)
{
	if (evt.y) return evt.y;
	if (evt.pageY) return evt.pageY;
}

function setLayer(objectID,layerNum)
{
	var dom = findDOM(objectID,1);
	dom.zIndex = layerNum;
}

function startScroll(objectID, maxHeight, amount, scrollType) // 0 = NORMAL, 1 = AUTOSCROLL
{
	var lyrheight = 0;
	var clipTop = 0, clipLeft = 0, clipBottom = 0, clipRight = 0, topPos = 0;

	if (!isDHTML) return;

	// window.alert('Running');

	var domStyle = findDOM(objectID,1);
	var dom = findDOM(objectID,0);

	// Get Rect Properties

	var clipProperties = domStyle.clip+'';
	var spaceCount = 0;
	var tmpData = '';

	for (var i = 5; i < (clipProperties.length-1); i++)
	{
		if (clipProperties.charAt(i) == ' ')
		{
			switch (spaceCount)
			{
				case 0 : clipTop = parseInt(tmpData.substring(0,((tmpData.length)-2))); break;
				case 1 : clipRight = parseInt(tmpData.substring(0,((tmpData.length)-2))); break;
				case 2 : clipBottom = parseInt(tmpData.substring(0,((tmpData.length)-2))); break;
				case 3 : clipLeft = parseInt(tmpData.substring(0,((tmpData.length)-2))); break;
			}
			spaceCount++;
			tmpData = '';
		}
		else tmpData += clipProperties.charAt(i);		
	}

	topPos = parseInt(domStyle.top.substring(0,(domStyle.top.length-2)));

	//window.alert(scrollType);

	if (((maxHeight>0) && (topPos>(0-maxHeight))) || (topPos<=0))
	{
		clipTop -= amount;
		clipBottom -= amount;
		topPos += amount;

		if (topPos>0)
		{
			topPos = 0;
			if (scrollType == 1)
			{
				scrollDir = -1;
				if (time) clearTimeout(time);
				time = setTimeout("restartScroll()",5000);	
				return;
			}
		}
		
		if ((maxHeight>0) && (topPos<(0-maxHeight)))
		{
			topPos = (0-maxHeight);
			if (scrollType == 1)
			{
				scrollDir = 1;
				if (time) clearTimeout(time);
				time = setTimeout("restartScroll()",5000);	
				return;
			}
		}

		domStyle.top = topPos+'px';

		if (time) clearTimeout(time);
		if (scrollType == 0)
		{
			time = setTimeout("startScroll('"+objectID+"',"+maxHeight+","+amount+","+scrollType+")",50);
		}
		else 
		{
			time = setTimeout("startScroll('"+objectID+"',"+maxHeight+","+amount+","+scrollType+")",200);
		}	
	}
}

function stopScroll()
{
	if (time) clearTimeout(time);
}


