//
//	lm: 14-05-2007
//	aem@teletype.ru
//

//
function makeAjaxPassage () {
	if (typeof XMLHttpRequest != 'undefined') {
		return new XMLHttpRequest();	
	} 
	if (typeof ActiveXObject != 'undefined') {
		var mt = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
		for (var i = 0; i < mt.length; i++) {
			try {
				return new ActiveXObject(mt[i]);
			} catch(ex) {
				//
			}
		}	
	}
	return false;
}

//
function sendRequest (id, action) {
	var obj = makeAjaxPassage();
	if (obj) {
		var f = document.getElementById (id);
		var b = getRequestBody (f);
//		alert( b );
		obj.open('POST', action, true);
		obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
		obj.setRequestHeader("Content-length", b.length);
		obj.setRequestHeader("Connection", "close");
		obj.onreadystatechange = function () {
			if (obj.readyState == 4) {
				if (obj.status == 200) {
					getResponse (obj.responseText, f);
				}
			}            
		}
		obj.send(b); 
	}       
}

//       
function getRequestBody (f) {
	var ap = new Array();
	for (var i = 0 ; i < f.elements.length; i++) {
		var sp = encodeURIComponent(f.elements[i].name);
		sp += '=';
		sp += encodeURIComponent(f.elements[i].value);
		ap.push (sp);
	}
	return ap.join ('&');
}

//
function getResponse (data, from) {
	// hide true server response with using ajax
	if(document.getElementById('hwa')){var hwa = document.getElementById('hwa').style.display = 'none';}
	
	var r = document.getElementById(from.id + '-response');
	r.innerHTML = decodeURIComponent (data);
	
	// clear message field if ok
	var temp2 = data.search('green-response');

	if (temp2 > 0) {
		var temp2 = document.getElementById('message').value;
		for (var i = 0 ; i < from.elements.length; i++) {
			if(from.elements[i].type == 'text' || from.elements[i].tagName.toLowerCase() == 'textarea') from.elements[i].value = '';
		}
	}

}
