	function tryThese() {
		var returnValue;
		for (var int_i = 0, length = arguments.length; int_i < length; int_i++) {
			var fun_lambda = arguments[int_i];
			try {
				returnValue = fun_lambda();
				break;
			} catch (e) {}
		}
		return returnValue;
	}
	function myajax( str_src , str_parameters , fun_function ){
		var obj_ajax = this;
		this.getHttpRequest = function(){
			return tryThese(
			  function() {return new ActiveXObject('Microsoft.XMLHTTP')},
			  function() {return new XMLHttpRequest()},
			  function() {return new ActiveXObject('Msxml2.XMLHTTP')}
			) || false;
		}
		this.httpRequest = null;
		this.contentType = 'application/x-www-form-urlencoded';
		this.src = str_src;
		this.parameters = str_parameters;
		this.onready = fun_function;
		this.checkResponse = function(){
			try{
				if( obj_ajax.httpRequest.readyState == 4 ){
					if( obj_ajax.httpRequest.status && obj_ajax.httpRequest.status != 200 ){
						alert( obj_ajax.httpRequest.status );
						return false;
					}
					if( obj_ajax.checkXML ){
						if( !obj_ajax.checkXMLResponse() )
							return false;
					}
					obj_ajax.onready( obj_ajax.httpRequest );
				}
			}catch( err_e ){}
		}
		this.sendData = function(){
			this.httpRequest = this.getHttpRequest();
			this.httpRequest.open( 'POST' , this.src , false );
			this.httpRequest.setRequestHeader( "Content-Type" , this.contentType );
			this.httpRequest.send( this.parameters );
			this.checkResponse();
		}
	}
