function LeftStr(sStr, nLen){
	return sStr.substr(0, nLen)
}

function RightStr(sStr, nLen){
	return sStr.substr(sStr.length - nLen)
}

function MidStr(sStr, nStart, nLen){
	if (MidStr.arguments.length == 3){
		return sStr.substr(nStart, nLen)
	} else {
		return sStr.substr(nStart)
	}
}

function IsAlpha(sStr) {
	//var sChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ"
	var sChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
	sStr = sStr.toUpperCase()

	for (var j=0; j < sStr.length; j++) {
		if (sChars.indexOf(sStr.substr(j,1), 0) == -1) {
			return false
		}
	}

	return true
}

function RightTrim(sStr){
	return String(sStr).replace(/[ ]+$/g, '')
}

function getXMLSafeAttributeValue(sValue) {
	var s=sValue.replace(/&/g,'&#0038;')
	s=s.replace(/</g,'&#0060;')
	s=s.replace(/"/g,'&#0034;')
	return s
}

function getJavaScriptSafeValue(sValue) {
	var s=sValue.replace(/\\/g,'\\\\')
	s=s.replace(/'/g,"\\'")
	s=s.replace(/"/g,'\\"')
	return s
}

/* ChY - 3/14/2006
This function undoes character replacement done in the function EscapeMe() in BBNextGen\Blackbaud\web\Core\WebLib.vb
*/
function replaceHTMLEntities(sStr) {
	sStr = sStr.replace('&#39;','\'');
	sStr = sStr.replace('&#34;','\"');
	sStr = sStr.replace('&amp;','\&');
	sStr = sStr.replace('&nbsp;','\ ');
	sStr = sStr.replace('&lt;','\<');
	sStr = sStr.replace('&gt;','\>');
	return sStr
}
