function LTrim(str) {
	for (var i=0; ((str.charAt(i)<=' ')&&(str.charAt(i)!='')); i++);
	return str.substring(i,str.length);
}
function RTrim(str) {
	for (var i=str.length-1; ((str.charAt(i)<=' ')&&(str.charAt(i)!='')); i--);
	return str.substring(0,i+1);
}

function Trim(str) {
	return LTrim(RTrim(str));
}

/*
 mode:
  1 = if not, '"' becomes '&quot;'
  2 = ''' becomes '&#039;'
*/
function htmlspecialchars(data, mode) {
	data = data.replace(/&/g, '&amp;');
	data = data.replace(/</g, '&lt;');
	data = data.replace(/>/g, '&gt;');
	if (!(mode & 1)) data = data.replace(/"/g, '&quot;');
	if (mode & 2) data = data.replace(/'/g, '&#039;');
	return data;
}

// from: http://www.11tmr.com/11tmr.nsf/d6plinks/MWHE-695L9Z
function getURLParam(strParamName){
	var strReturn = "";
	var strHref = window.location.href;
	if ( strHref.indexOf("?") > -1 ) {
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
			if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}
		}
	}
	return strReturn;
}
