var requests=new Array();

function createRequest(id) {
	try {
		requests[id] = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			requests[id] = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (othermicrosoft) {
			try {
				requests[id] = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (failed) {
				request[id] = false;
			}
		}
	}
}

function XMLsend(url, type, catData, func) {
	var max=requests.length;
	createRequest(max);
	if (!requests[max]) return false;
	else {
		requests[max].onreadystatechange = function() {
			if (requests[max].readyState == 4) {
				if (requests[max].status == 200) {
					func(requests[max].responseText);
				} else alert('Ошибка при передачи данных: ' + requests[max].status);
			}
		}
		if(type=='POST') {
			requests[max].open('POST', url, true);
			requests[max].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			requests[max].setRequestHeader('Connection', 'close');
			requests[max].send(catData+'&ajax=1');
		}
		else {
			catData+=(url.match(/\?/) ? '&' : '?')+'ajax=1';
			requests[max].open('GET', url+(url.match(/\?/) ? '&' : '?')+catData, true);
			requests[max].send(null);
		}
		return true;
	}
}

function form_parse(form_name) {
	var form=document[form_name];
	var name;
	var value;
	var data='';
	var type;
	for (var i=0; i<form.elements.length; i++) {
		type=form.elements[i].type.toLowerCase();
		if (((type!='radio' && type!='checkbox') || ((type=='radio' || type=='checkbox') && form.elements[i].checked==true)) && form.elements[i].name!='')
		{
			name=encodeURIComponent(form.elements[i].name);
			value=encodeURIComponent(form.elements[i].value);
			data+=(data!='' ? '&' : '')+name+'='+value;
		}
	}
	return new Array(form.action, data);
}