
function smartDownload(url, handler, params) {
	var u=url.split('?');
	url=u.shift();
	var p=u.join('?');

	if(params == null) params = p;
	else{
		var params_array = new Array();
		for(key in params){
			params_array.push(key+'='+encodeURIComponent(params[key]));
		}
		params = params_array.join('&');
	}
	url=url+'?'+params;

	$.get(url,  function(response) {handler(response)}, params );
}

function request_chkError(src) {
	if (src.substr(0,3)!='+OK') {
		alert(src);
		return false;
	}
	return src.substr(3)?src.substr(3):true;
}

function request(url, callback) {
	smartDownload(url,
		function(src) {
			var ret;
			if (ret=request_chkError(src)) {
				if (callback) callback(ret);
			}
		}
	);
}


