// JavaScript Document
/*
Description: Collection of various string methods not included in JS, that would usually come with technologies like VBScript.
Author: Various, Maneesh Bidaye
Date: Feb 22/08
*/

//Only prepend str with fragment str if it already has not been prepended.
function prependStr(stringToAdd, originalString) {
	if (originalString.indexOf(stringToAdd)==-1) 
		return stringToAdd + originalString;
	else
		return originalString;
}

function rtrim(strInput) {

  while (1) {
    if (strInput.substring(strInput.length - 1, strInput.length) != " ")
      break;
    strInput = strInput.substring(0, strInput.length - 1);
  }

  return strInput;
}

function ltrim(strInput) {

  while (1) {
    if (strInput.substring(0, 1) != " ")
      break;
    strInput = strInput.substring(1, strInput.length);
  }

  return strInput;
}

function trim(strInput) {
  var tmpstr = ltrim(strInput);
  return rtrim(tmpstr);
}

function sentenceCase(strInput) {
	strInput = trim(strInput);
	strInput = ' ' + strInput;
	strInput=strInput.toLowerCase();
	var firstcharlc=strInput.charAt(1);
	var firstcharuc=firstcharlc.toUpperCase();
	firstcharuc = " " + firstcharuc;
	firstcharlc = " " + firstcharlc;
	strInput=strInput.replace(firstcharlc, firstcharuc);
	
	
	strInput=trim(strInput);
	
	var len = strInput.length;
	
	var spacePos = strInput.indexOf(' ');
	
	while (spacePos != -1) 
	{
	var firstcharlc = strInput.charAt(spacePos+1);
	var firstcharuc=firstcharlc.toUpperCase();
	
	firstcharuc = " " + firstcharuc;
	firstcharlc = " " + firstcharlc;
	strInput=strInput.replace(firstcharlc, firstcharuc);
	strInput=trim(strInput);
	spacePos = strInput.indexOf(' ',spacePos+1);
	}
	
	return strInput;
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}