var oWatchTables = new Array()
var oWatchValues = new Array()
var oWatchTableTypes = new Array()
var sDebugBuffer = ""
var iEnableDebuggingBreaks = true

var bTesting = true;

function showDebug()
	{
	if (bTesting) setInnerHTML("debugsec", bodyLink());
	}

function bodyLink()
	{
	var sBuffer = ""
	sBuffer += "<img src='img/debuginfo.gif'  vspace='2' hspace='1' style='cursor: pointer;' onmouseup=\"infowin('body')\" title='View form values and debugging info in this iframe'>"
	return(sBuffer)
	}

function debugLinks()
	{
	var sBuffer = ""
	sBuffer += "<img src='cached/images/debug/control.gif'  vspace='2' hspace='1' style='cursor: pointer;' onmouseup='controlwin()' title='View cached values and arrays within the control frame'>"
	sBuffer += "<img src='cached/images/debug/info.gif'  vspace='2' hspace='1' style='cursor: pointer;' onmouseup=\"infowin('" + sContainer + "')\" title='View form values and debugging info in this iframe'>"
	sBuffer += "<img src='cached/images/debug/sql.gif'  vspace='2' hspace='1' style='cursor: pointer;' onmouseup='sqlwin()' title='List and view stored procedures'>"
	sBuffer += "<img src='cached/images/debug/logs.gif' vspace='2' hspace='1' style='cursor: pointer;' onmouseup='logwin()' title='View log files'>"
	return(sBuffer)
	}

function controlwin()
	{
	window.open("utility/controlview.asp","ControlWin","height=700,width=800,resizable,scrollbars")
	}

function infowin(sPage)
	{
	window.open("config/infowin.php?page=" + sPage,"InfoWin","height=700,width=800,resizable,scrollbars")
	}

function sqlwin()
	{
	window.open("utility/queries/queries_v3.asp","SQLWin","height=400,width=800,resizable,scrollbars")
	}

function logwin()
	{
	window.open("utility/logviewer/logwin.asp","LogViewWin","height=800,width=700,resizable,scrollbars")
	}

function showWatchValue(sName, sVal)
	{
	var sBuffer = sName + ": <b>" + String(sVal) + "</b><br>"
	return sBuffer;
	}


function addWatchValue(sName)
	{
	oWatchValues[oWatchValues.length] = sName;
	}

function addWatchTable(oTable, sName, sType)
	{
	if (String(sType) == "undefined") sType="ARRAY"
	oWatchTables[sName] = oTable;
	oWatchTableTypes[sName] = sType;
	}

function Break(s) {
	if (iEnableDebuggingBreaks) {
		iEnableDebuggingBreaks = confirm(s);
	}
}

function eNuggets(s, r) {
	ePrint(s, nuggets(r,"nohtml"));
}
	
function ePrint(s) {
	var sBuffer = String(s).replace(/\</g,"&lt;")
	var iReturn = ""
	var args = ""
	if (arguments.length > 1) {
		sBuffer += "\2";
		for (var a=1;a<arguments.length;a++) {
			if (a > 1) sBuffer += "<br>";
			sBuffer += String(arguments[a]).replace(/\</g,"&lt;");
		}
	}
	
	if (sDebugBuffer == "") { 
		sDebugBuffer = sBuffer;
	}
	else {
		sDebugBuffer += "\1" + sBuffer;
	}
	
	try {
		if (String(sBuffer).toUpperCase().indexOf("ERROR") >= 0) {
			args += "ts=" + top.d.serverANSIDate()
			args += "&ec=-1"
			args += "&it=1&st=0&id=0&note=" + escape("<b>" + sBuffer.replace("\2", "</b> "))
			iReturn = Request("ajax/RecordUserActivity.asp", args)
		}
	}
	catch (e) { }
}

function nuggets(sString, sOptions) {
	if (!sOptions) sOptions = "";
	sString = String(sString)
	if (sOptions == "nohtml") {
		sString = sString.replace(/\1/g, "[1]")
		sString = sString.replace(/\2/g, "[2]")
		sString = sString.replace(/\3/g, "[3]")
		sString = sString.replace(/\4/g, "[4]")
		sString = sString.replace(/\5/g, "[5]")
		sString = sString.replace(/\6/g, "[6]")
		sString = sString.replace(/\7/g, "[7]")
	}
	else {
		sString = sString.replace(/\1/g, "<span style='color:blue;'>[1]</span>")
		sString = sString.replace(/\2/g, "<span style='color:blue;'>[2]</span>")
		sString = sString.replace(/\3/g, "<span style='color:blue;'>[3]</span>")
		sString = sString.replace(/\4/g, "<span style='color:blue;'>[4]</span>")
		sString = sString.replace(/\5/g, "<span style='color:blue;'>[5]</span>")
		sString = sString.replace(/\6/g, "<span style='color:blue;'>[6]</span>")
		sString = sString.replace(/\7/g, "<span style='color:blue;'>[7]</span>")
	}
	return sString;
}                                                         


