﻿// Javascript String Function

//  check for valid numeric strings	
function IsNumeric(mpSTRING) {
    var strValidChars = "0123456789.-";
    var strChar;
    var blnResult = true;

    if (mpSTRING.length == 0) return false;

    //  test mpSTRING consists of valid characters listed above
    for (i = 0; i < mpSTRING.length && blnResult == true; i++)
      {
      strChar = mpSTRING.charAt(i);
      if (strValidChars.indexOf(strChar) == -1) blnResult = false;
      }
    return blnResult;
}
   
function InsertAtCursor(mlTEXTAREA, mlVALUE) {
    //IE support
    if (document.selection) {
        mlTEXTAREA.focus();
        sel = document.selection.createRange();
        sel.text = mlVALUE;
    }
    //MOZILLA/NETSCAPE support
    else if (mlTEXTAREA.selectionStart || mlTEXTAREA.selectionStart == '0') {
        var startPos = mlTEXTAREA.selectionStart;
        var endPos = mlTEXTAREA.selectionEnd;
        mlTEXTAREA.value = mlTEXTAREA.value.substring(0, startPos)
        + mlVALUE
        + mlTEXTAREA.value.substring(endPos, mlTEXTAREA.value.length);
    } else { mlTEXTAREA.value += mlVALUE; }
}
// calling the function
//insertAtCursor(document.formName.fieldName, ‘this value’);

function InStr(strSearch, charSearchFor)
/*
    InStr(strSearch, charSearchFor) : Returns the first location a substring (SearchForStr)
       was found in the string str.  (If the character is not
       found, -1 is returned.)
                               
    Requires use of:
	    Mid function
	    Len function
*/
{
	for (i=0; i < Len(strSearch); i++)
	{
	    if (charSearchFor == Mid(strSearch, i, 1))
	    {
			return i;
	    }
	}
	return -1;
}

function LTrim(str)
/***
        PURPOSE: Remove leading blanks from our string.
        IN: str - the string we want to LTrim

        RETVAL: An LTrimmed string!
***/
{
        var whitespace = new String(" \t\n\r");

        var s = new String(str);

        if (whitespace.indexOf(s.charAt(0)) != -1) {
            // We have a string with leading blank(s)...

            var j=0, i = s.length;

            // Iterate from the far left of string until we
            // don't have any more whitespace...
            while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
                j++;


            // Get the substring from the first non-whitespace
            // character to the end of the string...
            s = s.substring(j, i);
        }

        return s;
}

function RTrim(str)
/***
        PURPOSE: Remove trailing blanks from our string.
        IN: str - the string we want to RTrim

        RETVAL: An RTrimmed string!
***/
{
        // We don't want to trip JUST spaces, but also tabs,
        // line feeds, etc.  Add anything else you want to
        // "trim" here in Whitespace
        var whitespace = new String(" \t\n\r");

        var s = new String(str);

        if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
            // We have a string with trailing blank(s)...

            var i = s.length - 1;       // Get length of string

            // Iterate from the far right of string until we
            // don't have any more whitespace...
            while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
                i--;


            // Get the substring from the front of the string to
            // where the last non-whitespace character is...
            s = s.substring(0, i+1);
        }

        return s;
}

function Trim(str)
/***
        PURPOSE: Remove trailing and leading blanks from our string.
        IN: str - the string we want to Trim

        RETVAL: A Trimmed string!
***/
{
        return RTrim(LTrim(str));
}

function Replicate_Char(cChar, nLen){
	var newText="";
	for (var i=0;i<=nLen-1;i++) {
	    newText = newText + cChar;
	}
	return newText;
}

function String_Left(str, n)
/***
        IN: str - the string we are LEFTing
            n - the number of characters we want to return

        RETVAL: n characters from the left side of the string
***/
{
        if (n <= 0)     // Invalid bound, return blank string
                return "";
        else if (n > String(str).length)   // Invalid bound, return
                return str;                // entire string
        else // Valid bound, return appropriate substring
                return String(str).substring(0,n);
}

function String_Right(str, n)
/***
        IN: str - the string we are RIGHTing
            n - the number of characters we want to return

        RETVAL: n characters from the right side of the string
***/
{
        if (n <= 0)     // Invalid bound, return blank string
           return "";
        else if (n > String(str).length)   // Invalid bound, return
           return str;                     // entire string
        else { // Valid bound, return appropriate substring
           var iLen = String(str).length;
           return String(str).substring(iLen, iLen - n);
        }
}

 function String_Mid(String, Start, Length)
{
if (String == null)
return (false);

if (Start > String.length)
return '';

if (Length == null || Length.length == 0)
return (false);

return String.substr((Start - 1), Length);
}



