function newAjaxReq(){
	if(window.XMLHttpRequest && !(window.ActiveXObject)) { // branch for native XMLHttpRequest object;
		try {
			req = new XMLHttpRequest();
	        }catch(e){
			req = false;
	        }
	}else if(window.ActiveXObject){ // branch for IE/Windows ActiveX version
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
	      	}catch(e){
	       		try {
	          		req = new ActiveXObject("Microsoft.XMLHTTP");
	        	} catch(e) {
	          		req = false;
	        	}
		}
	}
	return req;
}

function URLEncode (clearString) {
	var output = "";
	var x = 0;
	clearString = clearString.toString();
	var regex = /(^[a-zA-Z0-9_.]*)/;
	while (x < clearString.length) {
		var match = regex.exec(clearString.substr(x));
		if (match != null && match.length > 1 && match[1] != "") {
			output += match[1];
			x += match[1].length;
		} else {
			if (clearString[x] == " ")
				output += "+";
			else {
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				output += "%" + hexVal.toUpperCase();
			}
			x++;
		}
	}
	return output;
}
