/*-----------------------------------------------------------------------------*/
function Token_Extract(InString, sDelimiter, Token) {
/*-----------------------------------------------------------------------------*/
/*Purpose:  Think of InString as a row in a table.  Then, think of sDelimiter  */
/*          as a way that each column in InString is separated.  Token is the  */
/*          column number of interest (1-based).                               */

	var sResult

	sResult = "";

	//Make sure that neither of the input parameters are null
	if (InString != null && sDelimiter != null) {

		//Make sure that they are not empty strings
		if (InString.length > 0 && sDelimiter.length > 0) {

			var curToken;
			var OldToken;
			var TokenCounter;
			var LocalInString;
			var sRemaining;

			curToken = -1;
			OldToken = -1;
			TokenCounter = 0;
			LocalInString = "";
			sRemaining = "";

			LocalInString = InString + sDelimiter;

			for (TokenCounter = 1; TokenCounter < Token + 1; TokenCounter++) {

				if (curToken != -1)
					OldToken = curToken + sDelimiter.length;
				else
					OldToken = curToken + 1;

				sRemaining = LocalInString.substring(OldToken, OldToken + (LocalInString.length - OldToken));

				curToken = sRemaining.indexOf(sDelimiter);
				if (curToken == -1) return sResult;

				curToken += OldToken;
			}

			if (OldToken > -1) sResult = LocalInString.substring(OldToken, curToken);
		}
	}

	return sResult;
}
	
/*-----------------------------------------------------------------------------*/
function Left(sInput, iInput) {
/*-----------------------------------------------------------------------------*/

	var sResult = "";
	var iMaxChar = 0;

	if (sInput.length < 1) return sInput;

	sResult = sInput;
	iMaxChar = sInput.length - 1;

	if (iInput < sInput.length) {
		sResult = sInput.substring(0, iInput);
	}

	return sResult;
}

/*-----------------------------------------------------------------------------*/
function Format_Number_As_Currency(ThisNumber) {
/*-----------------------------------------------------------------------------*/
/*Purpose:  Appends 2 trailing zeros at the end of a number.                   */

	strLeft = Token_Extract(ThisNumber.toString(), ".", 1)
	strRight = Token_Extract(ThisNumber.toString(), ".", 2)
	if (strRight.length > 1) {
		strRight = Left(strRight, 2)
	} else if (strRight.length == 1) {
		strRight = strRight + '0';
	} else {
		strRight = strRight + '00';
	}
		
	return strLeft + '.' + strRight
}

/*-----------------------------------------------------------------------------*/
function IsFloat(sNumber) {
/*-----------------------------------------------------------------------------*/

	var iASCII;
	var iPeriodCounter = 0;

	if (sNumber.length == 0) return false;

	for (var intCounter = 0; intCounter < sNumber.length; intCounter++) {
		iASCII = sNumber.charAt(intCounter);
		if (iASCII < '0' || iASCII > '9') {
			if (iASCII == '.') {
				iPeriodCounter++;
				if (iPeriodCounter > 1) return false;
			} else {
				return false;
			}
		}
	}

	return true;
}

function CloseWindow()
{
	window.close();
}

function gotoTopic(astrTopicFilename) {
				
	Topicwindow = window.open(astrTopicFilename + '.asp', '_blank' ,'height=600,width=640,toolbar=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1');
	Topicwindow.focus();
}
