/**
*
*  Javascript trim, ltrim, rtrim
*  http://www.webtoolkit.info/
*
* Javascript trim implementation removes all leading and trailing occurrences
* of a set of characters specified. If no characters are specified it will trim
* whitespace characters from the beginning or end or both of the string.
*
* Without the second parameter, they will trim these characters:
*       " " (ASCII 32 (0x20)), an ordinary space.
*       "\t" (ASCII 9 (0x09)), a tab.
*       "\n" (ASCII 10 (0x0A)), a new line (line feed).
*       "\r" (ASCII 13 (0x0D)), a carriage return.
*       "\0" (ASCII 0 (0x00)), the NUL-byte.
*       "\x0B" (ASCII 11 (0x0B)), a vertical tab.
*
**/

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}