﻿// JScript File

/*********************************************
*Debug stuff
*********************************************/
var debug = true;
var eDebug = '';
var debug_frame = 'header';
	
if (debug==true)
{
	document.onreadystatechange=addDebug;
}

/*
Debug functions
*/
function addDebug()
{
	var sdiv = '';
	sdiv += '<div ';
	sdiv += 'id="div_debug" class="debug_window"';
	sdiv += '>';
	sdiv += 'Debug window added';
	sdiv += '</div>';
	
	if (top.frames[debug_frame])
	{
		var debug_doc = top.frames[debug_frame].document;
	}
	if (debug_doc!=undefined)
	{
		if (debug_doc.readyState=='complete')
		{
			if (debug==true && eDebug=='')
			{
				if (debug_doc.getElementById('div_debug') == undefined)
				{
					debug_doc.getElementsByTagName('body')[0].appendChild(debug_doc.createElement(sdiv))
					eDebug = debug_doc.getElementById('div_debug');
				}
				else
				{
					eDebug = debug_doc.getElementById('div_debug');
				}
			}
		}
	}
}

function debug_clear()
{
	//Clear message area
	//Use to remove junk before printing out.
	if (eDebug)
	{
		eDebug.innerHTML = '';
	}
}

function debug_print(message, state)
{
	var strTime = '';
        //alert("debug="+debug);

	if (debug==true)
	{
		//clean message if neccessary
		switch (state)
		{
			case 'delayed':
				message = unescape(message);
			break;

			default:
				//nop;
			break;
		}
		//alert(message);
		//eDebug = top.frames[debug_frame].document.getElementById('div_debug');
		if (eDebug)
		{
			strTime = getLogTime()
			eDebug.innerHTML = strTime+' | '+message+'<br />\n'+eDebug.innerHTML;
		}
		else
		{
			message = escape(message);
			setTimeout('debug_print(\''+message+'\',\'delayed\')',500);
		}
	}
}

function getLogTime()
{
	//Returns a formatted time string including miliseconds.
	var strTime = null;
	var objCurDate = new Date();
	var hours = objCurDate.getHours();
	var mins = objCurDate.getMinutes();
	var secs = objCurDate.getSeconds();
	var millis = objCurDate.getMilliseconds();
	var newmillis = objCurDate.getMilliseconds();

	//If less than ten hours add a leading zero
	if (hours<10){hours='0'+hours;}
	
	//If less than ten mins add a leading zero
	if (mins<10){mins='0'+mins;}
	
	//If less than ten seconds add a leading zero
	if (secs<10){secs='0'+secs;}

	//If less than ten milliseconds add two leading zero
	if (millis<10)
	{
		newmillis='00'+millis
	}
	else
	{
		//If less than one hundred milliseconds add a leading zero
		if (millis<100)
		{
			newmillis='0'+millis
		}
	}
	millis = newmillis;

	strTime = hours+':'+mins+':'+secs+'.'+millis;
	
	return strTime;
}


/*********************************************
*END Debug stuff
*********************************************/
