// IE support
if (window.ActiveXObject && !window.XMLHttpRequest) {
	window.XMLHttpRequest = function() {
		try {return new ActiveXObject("Microsoft.XMLHTTP")}
		catch (e){p('Your Browser does not support XMLHttpRequest: '+e.toString(), '__xmlhttpIE');};
		return null;
	};
}
// Gecko support
if (!window.ActiveXObject && window.XMLHttpRequest) {
	window.ActiveXObject = function(type) {
		return new XMLHttpRequest();
	};
}


// получение ссылки на объект HTML

function getObj(n)
{
	if(document.getElementById) return document.getElementById(n);
	if(document.all) return document.all[n];
	return null;
}
// тоже самое
function _go(n){return getObj(n);}

// спрятать/показать див
function showDiv(val)
{
	var obj=getObj(val);
	if(obj!=null) obj.style.display = "block";
}

function hideDiv(val)
{
	var obj=getObj(val);
	if(obj!=null) obj.style.display = "none";
}

function ajax_post(url, post, response_func, response_func_param) {
	var req = new XMLHttpRequest();
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState==4 && (req.status == 200 || req.status == 304)) {
				if(response_func_param==null) response_func(req.responseText);
				else response_func(req.responseText, response_func_param);
			}
			if (req.readyState!=4) ajax_loading_func(response_func_param);
		};
		req.open('POST', url);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
		req.send(post);
		//alert(req.getAllResponseHeaders());
	}
}

function ajax_get(url, response_func, response_func_param) {
	var req = new XMLHttpRequest();
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState==4 && (req.status == 200 || req.status == 304) ) {
				if(response_func_param==null) response_func(req.responseText);
				else response_func(req.responseText, response_func_param);
			}
			if (req.readyState!=4) ajax_loading_func(response_func_param);
		};
		req.open('GET', url);
		req.send(null);
	}
}


// если нужно: текст - в html-safe текст
function escape_text(text) {return String(text).replace(/\&/g, "&amp;").replace(/\'/g, "&#039;").replace(/\"/g, '&quot;').replace(/</g, "&lt;").replace(/>/g, "&gt;");}

// обратно
function unescape_text(text) {return String(text).replace(/\&amp;/g, "&").replace(/\&#039;/g, "'").replace(/\&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/g, ">");}


// обычный трим
function trim(s) {return String(s).replace(/^[\s\t]+/g, "").replace(/[\s\t]+$/g, "");}