
//|----------------------------------
//| String Formatting Functions
//|----------------------------------

function PadString(sStringToPad, nLength, sPadChars, bPadOnLeft) {
	var sOutput = "";
	sOutput = sStringToPad;
	while (GetStr(sOutput).length < nLength)
		{
		if (bPadOnLeft)
			{ sOutput = sPadChars + sOutput; }
		else
			{ sOutput = sOutput + sPadChars; }
		}
	return sOutput;
}

//|---------------------------------------------------------------------------
//| Type Conversion Functions
//|---------------------------------------------------------------------------
function GetNumeric(vInput) {
	var nOutput = 0;
	if (!isNaN(vInput))
		{
		try { nOutput = parseFloat(vInput); }
		catch (e) { nOutput = 0; }
		}
	return nOutput;
}

function GetStr(vInput) {
	var sOutput = "";
	try { sOutput = vInput.toString(); }
	catch (e) { sOutput = ""; }
	return sOutput;
}

function GetInt(vInput) {
	var nOutput = 0;
	if (!isNaN(vInput))
		{
		try { nOutput = parseInt(vInput); }
		catch (e) { nOutput = 0; }
		}
	return nOutput;
}

function GetBit(vInput) {
	var nOutput;
	nOutput = GetInt(vInput);
	if (nOutput > 0) { nOutput = 1; }
	return nOutput;
}

//|---------------------------------------------------------------------------
//| Numeric & Math Functions
//|---------------------------------------------------------------------------
function GreaterOf(nInput1, nInput2) {
	if (GetNumeric(nInput1) > GetNumeric(nInput2))
		{ return nInput1; }
	else
		{ return nInput2; }
}

function LesserOf(nInput1, nInput2) {
	if (GetNumeric(nInput1) < GetNumeric(nInput2))
		{ return nInput1; }
	else
		{ return nInput2; }
}

function LimitTo(nInput, nMin, nMax) {
	return LesserOf(GreaterOf(nInput, nMin), nMax);
}

