function AjaxConnection() {
	var xmlhttp, bComplete = false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) { 
		try { 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (e) {
			try { 
				xmlhttp = new XMLHttpRequest(); 
			} catch (e) { 
				xmlhttp = false; 
			}
		}
	}
	if (!xmlhttp) {
		return null;
	}
	this.connect = function(sURL, sMethod, sVars, fnDone) {
		if (!xmlhttp) {
			return false;
		}
		bComplete = false;
		sMethod = sMethod.toUpperCase();

		try {
			if (sMethod == "GET") {
				xmlhttp.open(sMethod, sURL+"?"+sVars, true);
				sVars = "";
			} else {
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			}
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && !bComplete) {
					bComplete = true;
					fnDone(xmlhttp);
				}
			};
			xmlhttp.send(sVars);
		} catch(z) { 
			return false; 
		}
		return true;
	};
	return this;
}

// Use to store parameters pass from HTML to JS
var _opts = {};

function getJsParams() {
	searchScript(document);
}

function addJsParams(_url) {
	var qi = _url.indexOf('?');
	if (_url && qi > -1) {
		var param;
		var params = _url.substr(qi + 1).split('&');
		for (var i = 0, p; p = params[i]; i++) {
			param = p.split('=');
			_opts[param[0]] = unescape(param[1]);
		}
	}
}

function searchScript(el) {
	for (var i = 0; i < el.childNodes.length; i++) {
		if (el.childNodes[i].src) {
			_url = String(el.childNodes[i].src);
			addJsParams(_url);
		}
		searchScript(el.childNodes[i])
	}
}

//window.onload = getJsParams;
