
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


function ClipStringRev(str, searchFor, bAfterString)
{	//returns a string
	//pStartPos default=0
	//bAfterString default = false
	
	//if not found returns empty string
	
	var pos=str.indexOf(searchFor,pStartPos);
	if (pos < 0)
	{
		return str;
	}else{
		if (bAfterString)pos=pos+searchFor.length;
		return str.substr(pos);
	}	
}

function ClipStringRev2(str, searchFor, bAfterString)
{//returns a string
	//searches from end
	//if not found returns the original string

	var pos=str.lastIndexOf(searchFor);
	if (pos < 0)
	{
		return str;
	}else{
		if (bAfterString)pos=pos+searchFor.length;
		return str.substr(pos);
	}
}

function ClipString(str, searchFor, pStartPos, bAfterString)
{
	//clips off everything after the SearchFor
	
	var pos=str.indexOf(searchFor);
	if (pos < 0)
	{
		return str;
	}else{
		if (bAfterString)pos=pos+searchFor.length;
		return str.substr(0,pos);
	}
}

function fGetValueInString(sDump, sBeginningSearchString, sEndCharacter, bGoToEndIfEndCharNotFound, sDefaultValue, iStartAtPos)
{
	//can be used to parse xml
	//returns a string
	
	//DEFAULTS:
	//sEndCharacter=";"
	//bGoToEndIfEndCharNotFound = True
	//sDefaultValue=""
	//iStartAtPos=0
	
	var pDim = 0;
	var pDim2 =0;  //char position
	
	var sRet = sDefaultValue;
	
	pDim = sDump.indexOf(sBeginningSearchString,iStartAtPos);
	if (pDim >= 0) 
	{
		pDim = pDim + sBeginningSearchString.length;
		if (sEndCharacter == "") 
		{
		    pDim2 = sDump.length;
		}
		else
		{
		    pDim2 = sDump.indexOf(sEndCharacter, pDim);
		    if (pDim2 < 0)
		    {
		        if (bGoToEndIfEndCharNotFound)
		        {
		            pDim2 = sDump.length + 1;
		        }
		    }
		}
		
		if (pDim>0 && pDim2>0)	
		{
			sRet= sDump.substr(pDim, pDim2 - pDim);
		}
		
	}
	return sRet;
}

