var agtype;

function AJAXCall(method, parameters, callback) {
	var req = null;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("POST", "/AJAXService.php?method=" + method, true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.setRequestHeader('Content-Length', parameters.length);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			try {
				var rep = eval('(' + req.responseText + ')'); 
				eval(callback);
			} catch (e) {
				//alert(e);
				//alert("Error - " + req.responseText);
			}
		}
	}
	req.send(parameters);
}

function GoogleCall(query, callback) {
	query = query.replace(/ /g, "+");
	var req = null;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", "/AJAXProxy.php?crit=" + query, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			try {
				var rep = eval('(' + req.responseText + ')'); 
				eval(callback);
			} catch (e) {
				//alert(e);
				//alert("Error - " + req.responseText);
			}
		}
	}
	req.send(null);
}

function AGCall(sp, ep, callback, type) {
	agtype = type;
	var req = null;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", "/AGProxy.php?sp=" + sp + "&ep=" + ep + "&type=" + type, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			try {
				var rep = req.responseText;
				if (agtype == 1) {
					rep = rep.substring(11);
					rep = rep.substring(0, rep.length - 4);
					rep = eval('(' + rep + ')');
				} 
				eval(callback);
			} catch (e) {
				//alert(e);
				//alert("Error - " + req.responseText);
			}
		}
	}
	req.send(null);
}

function weatherCall(maxlat, minlat, maxlng, minlng, callback, type) {
	var req = null;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", "/AGProxy.php?maxlat=" + maxlat + "&minlat=" + minlat + "&maxlng=" + maxlng + "&minlng=" + minlng + "&type=" + type, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			try {
				var rep = req.responseText;
				eval(rep);
				eval(callback);
			} catch (e) {
				//alert(e);
				//alert("Error - " + req.responseText);
			}
		}
	}
	req.send(null);
}