///////////////////////////////////////////
//         String Enhanced Methods       //
///////////////////////////////////////////
function numToString(number)
{
	number += "";
	return number;
}


function replaceString(workingString, findText, replaceText)
{
var preString = new String();
var newString = new String();

	var findTextlength = findText.length;
	var pos = workingString.indexOf(findText);

	newString = "";
	while (pos != -1)
	{
		preString = workingString.substring(0, pos);
		workingString = workingString.substring(pos+findTextlength, workingString.length);
		
		newString += preString + replaceText;
			
		pos = workingString.indexOf(findText);
	}

	newString += workingString;

	return newString;
}


function countOccurrences(workingString, findText)
{
var preString = new String();
var count = 0;

	var findTextlength = findText.length;
	var pos = workingString.indexOf(findText);

	while (pos != -1)
	{
		count++;
		
		preString = workingString.substring(0, pos);
		workingString = workingString.substring(pos+findTextlength, workingString.length);
		
		pos = workingString.indexOf(findText);
	}

	return count;
}


function returnPreString(workingString, findText)
{
var pos = workingString.indexOf(findText);
var preString;

	preString = workingString.substring(0, pos);

	return preString;
}


function returnPostString(workingString, findText)
{
var pos = workingString.indexOf(findText);
var postString;

	postString = workingString.substring(pos+findText.length, workingString.length);

	return postString;
}


function inStr(sourceString, searchString)
{
	if (sourceString.indexOf(searchString) != -1)
		return true;
	else
		return false;
}


function replaceProblemChars(tweakstring)
{
	tweakstring = replaceString (tweakstring, "|", "<pipe>");
	tweakstring = replaceString (tweakstring, "\'", "<SQ>");
	tweakstring = replaceString (tweakstring, "\"", "<DQ>");
	tweakstring = replaceString (tweakstring, "#", "<numsign>");

	return tweakstring;
}


function removeProblemChars(tweakstring)
{
	tweakstring = replaceString (tweakstring, "|", "");
	tweakstring = replaceString (tweakstring, "\'", "");
	tweakstring = replaceString (tweakstring, "\"", "");
	tweakstring = replaceString (tweakstring, "#", "");

	return tweakstring;
}


function removeTabs(tweakstring)
{
	tweakstring = replaceString (tweakstring, "\t", " ");

	return tweakstring;
}


function insertProblemChars(tweakstring)
{
	tweakstring = replaceString (tweakstring, "<pipe>", "|");
	tweakstring = replaceString (tweakstring, "<SQ>", "\'");
	tweakstring = replaceString (tweakstring, "<DQ>", "\"");
	tweakstring = replaceString (tweakstring, "<numsign>", "#");
	
	return tweakstring;
}


function prepSearchStr(str)
{
	if ( (str != "") && (str != "%") )
	{
		str = replaceString(str,"*","%");
		str = replaceString(str," ","%");
		str = replaceString(str,"\n","%");
		str = replaceString(str,"\r","%");
		str = "%" + str + "%";
	}
	else
		str = "%";

	str = replaceString(str,"%%","%");
	
	return str;
}


function checkNoData(str)
{
	str = "" + str;
	str = str.toUpperCase();
	str = replaceString (str, " ", "");
	str = replaceString (str, "\n", "");
	str = replaceString (str, "\r", "");

	if ( (str == "NA") || (str == "N/A") || (str == "TBD") || (str == "NONE") || (str == "-") ||
			(str == "") || (str == "\0") || (str == "null") || (str == "SAME AS ADMIN") ||
			(str == "NOT APPLICABLE") || (str == "NOT INSTALLED") || (str == "UNKNOWN") ||
			(str == "UNDEFINED") || (str.length <= 0) )
		return true;
	else
		return false;
}


function removePunctuation(str)
{
	str = replaceString(str, "%", "");
	str = replaceString(str, "-", "");
	str = replaceString(str, "!", "");
	str = replaceString(str, ".", "");
	str = replaceString(str, ",", "");
	str = replaceString(str, ":", "");
	str = replaceString(str, ";", "");
	str = replaceString(str, "\n", "");
	str = replaceString(str, "\r", "");
	str = replaceString(str, "\"", "");
	str = replaceString(str, "\'", "");
	str = replaceString(str, "  ", "");

	return str;
}


function removeSpecialChars(str)
{
	str = replaceString(str, "(", "");
	str = replaceString(str, ")", "");
	str = replaceString(str, "[", "");
	str = replaceString(str, "]", "");
	str = replaceString(str, "{", "");
	str = replaceString(str, "}", "");
	str = replaceString(str, "<", "");
	str = replaceString(str, ">", "");

	str = replaceString(str, "!", "");
	str = replaceString(str, " @ ", "");
	str = replaceString(str, "#", "");
	str = replaceString(str, "$ ", "");
	str = replaceString(str, "^", "");
	str = replaceString(str, "&", "");

	str = replaceString(str, "|", "");
	str = replaceString(str, "\\", "");

	str = replaceString(str, "-", " ");
	str = replaceString(str, "?", "");
	str = replaceString(str, "/", "");
	str = replaceString(str, ",", "");
	str = replaceString(str, ":", "");
	str = replaceString(str, ";", "");
	str = replaceString(str, "\n", "");
	str = replaceString(str, "\r", "");
	str = replaceString(str, "\"", "");
	str = replaceString(str, "\'", "");
	str = replaceString(str, "  ", "");

	return str;
}


function removeExtraWhiteSpace(str)
{
	while (inStr(str, "  "))
		str = replaceString(str, "  ", " ");
	
	return str;
}


function removeWhiteSpace(str)
{
	while (inStr(str, " "))
		str = replaceString(str, " ", "");
	
	return str;
}


function removeExtraTabs(str)
{
	while (inStr(str, "\t\t"))
		str = replaceString(str, "\t\t", "\t");
	
	return str;
}


///////////////////////////////////////////
//         End Date String Prototype     //
///////////////////////////////////////////
