function JavaScriptStringEncode(sString) {
	return (sString+"").replace(/[\0-\x1F\"\\\x7F-\xA0\u0100-\uFFFF]/g, function (sChar) {
		switch (sChar) {
			case "\b": return "\\b";
			case "\t": return "\\t";
			case "\n": return "\\n";
			case "\f": return "\\f";
			case "\r": return "\\r";
			case "\\": return "\\\\";
			case "\"": return "\\\"";
		}
		var iChar = sChar.charCodeAt(0);
		if (iChar < 0x10) return "\\x0" + iChar.toString(16);
		if (iChar < 0x100) return "\\x" + iChar.toString(16);
		if (iChar < 0x1000) return "\\u0" + iChar.toString(16);
		return "\\u" + iChar.toString(16);
	});
}

