/*
	Collected Javascript used to handle dynamic background sizing, and various other 
	functions.
*/
function  elemHeight ( elementName, offset )
{
  var h = document.getElementById( elementName ).clientHeight - offset;
	return h;
}
function  elemWidth ( elementName, offset )
{
  var w = document.getElementById( elementName ).clientWidth - offset;
	return w;
}

function  elemTop ( elementName, offset )
{
  var h = document.getElementById( elementName ).offsetTop - offset;
	return h;
}
function  elemLeft ( elementName, offset )
{
  var w = document.getElementById( elementName ).offsetLeft - offset;
	return w;
}

function setBgBitmapWidths() 
{ 
	
	if ( !document.getElementById( 'Content' )  )
	{
		alert( "Invalid: Content element ID is not found" );
		return;
	}

	var fixedBorderSize = 16;
	var eTop = elemTop('Content',0);
	var eLeft= elemLeft('Content',0);
	var eWidth= elemWidth('Content',0);
	var eHeight= elemHeight('Content',0);


	/* Border Content with fixedWidth image border... */
	document.getElementById('TopLeftBgnd').style.display = 'none';
	document.getElementById('TopBgnd').style.display = 'none';
	document.getElementById('TopRightBgnd').style.display = 'none';
	document.getElementById('LeftBgnd').style.display = 'none';
	document.getElementById('RightBgnd').style.display = 'none';
	document.getElementById('BottomLeftBgnd').style.display = 'none';
	document.getElementById('BottomBgnd').style.display = 'none';
	document.getElementById('BottomRightBgnd').style.display = 'none';


	document.getElementById('TopBgnd').style.top   = eTop - fixedBorderSize;
	document.getElementById('TopBgnd').style.left  = eLeft;
	document.getElementById('TopBgnd').style.width = eWidth;
	document.getElementById('TopBgnd').style.height= fixedBorderSize;
	
	document.getElementById('BottomBgnd').style.top    = eTop + eHeight;
	document.getElementById('BottomBgnd').style.left   = eLeft;
	document.getElementById('BottomBgnd').style.width  = eWidth;
	document.getElementById('BottomBgnd').style.height = fixedBorderSize;
	
	document.getElementById('LeftBgnd').style.top     = eTop;
	document.getElementById('LeftBgnd').style.left    = eLeft - fixedBorderSize;
	document.getElementById('LeftBgnd').style.width   = fixedBorderSize;
	document.getElementById('LeftBgnd').style.height  = eHeight;
	
	document.getElementById('RightBgnd').style.top    = eTop;
	document.getElementById('RightBgnd').style.left   = eLeft + eWidth - 1;
	document.getElementById('RightBgnd').style.width  = fixedBorderSize;
	document.getElementById('RightBgnd').style.height = eHeight;

	/* Corners */
	document.getElementById('TopLeftBgnd').style.top		= eTop - fixedBorderSize;
	document.getElementById('TopLeftBgnd').style.left		= eLeft - fixedBorderSize;
	document.getElementById('TopLeftBgnd').style.width 		= fixedBorderSize;
	document.getElementById('TopLeftBgnd').style.height 	= fixedBorderSize;
	
	document.getElementById('TopRightBgnd').style.top 		= eTop - fixedBorderSize;
	document.getElementById('TopRightBgnd').style.left		= eLeft + eWidth - 1;
	document.getElementById('TopRightBgnd').style.width 	= fixedBorderSize;
	document.getElementById('TopRightBgnd').style.height 	= fixedBorderSize;
	
	document.getElementById('BottomLeftBgnd').style.top 	= eTop + eHeight;
	document.getElementById('BottomLeftBgnd').style.left	= eLeft - fixedBorderSize;
	document.getElementById('BottomLeftBgnd').style.width  	= fixedBorderSize;
	document.getElementById('BottomLeftBgnd').style.height  = fixedBorderSize;
	
	document.getElementById('BottomRightBgnd').style.top 	= eTop + eHeight;
	document.getElementById('BottomRightBgnd').style.left	= eLeft + eWidth - 1;
	document.getElementById('BottomRightBgnd').style.width 	= fixedBorderSize;
	document.getElementById('BottomRightBgnd').style.height = fixedBorderSize;

	document.getElementById('TopLeftBgnd').style.display = 'block';
	document.getElementById('TopBgnd').style.display = 'block';
	document.getElementById('TopRightBgnd').style.display = 'block';
	document.getElementById('LeftBgnd').style.display = 'block';
	document.getElementById('RightBgnd').style.display = 'block';
	document.getElementById('BottomLeftBgnd').style.display = 'block';
	document.getElementById('BottomBgnd').style.display = 'block';
	document.getElementById('BottomRightBgnd').style.display = 'block';

} 

/*
	get named parameter value from document url (http://site.domain.ext?param=value...
*/
function getUrlParam( name ) 
{  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp( regexS );  
	var results = regex.exec( window.location.href );  
	if( results == null )    
		return "";  
	else    
		return results[1];
}

/*
	Used to force element to redraw (?)
*/
function refreshElement ( elementName )
{
  var s = document.getElementById( elementName ).style.display;
	document.getElementById( elementName ).style.display = 'none';
	document.getElementById( elementName ).style.display = 'block';
	}

function writePara ( str )
{
   document.writeln( '<p>' + str + '</p>' );
}

function sizeStr()
{
	var str;
	str = " wih=" + window.innerHeight +
				" ch=" + elemHeight('Content',0) + 
				" dech=" + document.documentElement.clientHeight ;
	return str;
}

var timerId = null;
var resizeEvCnt=0;
var oResize=null;
var lastTime=0;
var timerDelay=200;

function forceReload()
{
	oResize.onresize = null;
	
	if ( timerId )
	{
		clearTimeout( timerId );
		timerId = null;
	}
	
	window.location.href = window.location.href;
	
	// Resize ends w/reload, causing init(), causing bg bitmaps to be re-enabled.
	//document.getElementById('BackgroundImages').style.display = 'block';
	
	oResize.onresize = doOnResize;
}

function doOnResize ( )
{
	
	//document.getElementById('Content').style.opacity= '0.7';
	//document.getElementById('Content').style.filter  = "alpha(opacity=" + 70  + ")";
	
	if ( document.getElementById('Content') )
	{
		var newTimerId  = setTimeout( "forceReload()", timerDelay );
		
		if ( timerId ) 
		{
			clearTimeout( timerId );
			timerId = null;
		}
		
		// don't display frame elements when sizing, renderrer doesn't track fast enough
		// across a slower link.
		document.getElementById('BackgroundImages').style.display = 'none';
		timerId = newTimerId;
		
		window.status = 'Resizing...';		
	}
}


/*
	body.onLoad handler
*/
function init ( )
{
	// Re-enable after uncommenting the BackgroundImages DIV.
	//setBgBitmapWidths();
	//oResize = window;
	//oResize.onresize = doOnResize;
}

