/* получение объекта для отправки запроса */
function getXmlObject(){
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
		return request;
	}
	else if (window.ActivXObject){
	    var versions=["MSXML2.XmlHttp.6.0","MSXML2.XmlHttp.3.0"];
	    for (var i=0;i<versions.lenght;i++){
	    	try {
	    		var request=new ActiveXObject(versions([i]));
	    		return request;
	    	}
	    	catch (error){
	    		//
	    	}
	    }
	    return false;
	}
	else return false;
}

/* функция отправки запроса методом get */
function loadHTML(URL,div) {
	ContentDiv=document.getElementById(div);
	request = getXmlObject();
	if (!request) return true;
	var hash='&hash='+Math.random();
	URL=URL+hash;
	try{
		request.open("GET", URL, true);
		request.onreadystatechange=validateRequest;
		request.send(null);
		return false;
	}
	catch (e){
		return true;
	}
}

/* функция отправки запроса методом get с подтверждением выполнения запроса */
function loadHTMLc(URL,div){
	if (!confirm('Вы действительно хотите выполнить удаление?')) return false;
	return loadHTML(URL,div);
}

/* функция обработки результата запроса без пропадания объекта запроса */
function validateRequest(){
	try{
		var LoadDiv=document.getElementById('load');
		if (request.readyState==4){
			if (LoadDiv!==null) LoadDiv.innerHTML='&nbsp;';
			if (request.status == 200){
			    ContentDiv.innerHTML=request.responseText;
			    return true;
			}
			ContentDiv.innerHTML='Ошибка запроса: '+request.statusText;
		}
		else {
			if (LoadDiv!==null) LoadDiv.innerHTML='<center><img src="img/animation.gif" border=0></center>';
		}
	}
	catch(e){
		ContentDiv.innerHTML='Ошибка запроса';
	}
}

/* отпрвка форм */
function loadHTMLf(URL,div,NameF) {
	ContentDiv=document.getElementById(div);
	var index;
	var poststr=new String();
	for (index in document.forms[NameF].elements){
		if (document.forms[NameF].elements[index].name){
		     poststr+=document.forms[NameF].elements[index].name+"="+document.forms[NameF].elements[index].value+"&";
		}
	}
	poststr+="action="+NameF;
	/*ContentDiv.innerHTML=poststr;
	return false;*/
	request = getXmlObject();
	if (!request) return true;
	try{
		request.open("POST", URL, true);
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		request.setRequestHeader("Content-length", poststr.length);
		request.setRequestHeader("charset","cp-1251");
		request.setRequestHeader("Connection", "close");
		request.onreadystatechange=validateRequestProgress;
		request.send(poststr);
		return false;
	}
	catch (e){
		return true;
	}
}

/* функция обработки результата запроса с полосой прогересса вместо объекта запроса */
function validateRequestProgress(){
	if (request.readyState==4){
		if (request.status == 200){
		    ContentDiv.innerHTML=request.responseText;
		    return true;
		}
		ContentDiv.innerHTML='Ошибка запроса: '+request.statusText;
	}
	else {
		ContentDiv.innerHTML='<center><img src="images/animation.gif" border=0></center>';
	}
}
