function ajaxReq(Method){
	this.name = this;

	// default or 'POST' = POST method.. 'GET' = GET method..
	if(Method == 'GET'){
		this.method = Method;
	}else{
		this.method = 'POST';
	}
}

ajaxReq.prototype.httpRequest = function(target_url, post_data, Func, Btn){

	var OBJ;
	var URL  = target_url;
	var DATA = post_data;
	var FUNC = Func;
	var METHOD = this.method;
	var Limit=10;

	try{
		if(window.XMLHttpRequest){
			OBJ = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			OBJ = new ActiveXObject("Microsoft.XMLHTTP");
		}else{
			OBJ = false;
		}
	}catch(e){	OBJ = false; }

	if(!OBJ){GenerateFail();}

	var TIMER = setInterval(
		function(){
			Limit--;
			if(Limit <= 0){
				clearInterval(TIMER);
				OBJ.abort();
				alert(err_Timeout);
				return false;}
		},1000);

	OBJ.open(METHOD, URL, true);
	OBJ.onreadystatechange=function(){
		if(OBJ.readyState == 4){
			clearInterval(TIMER);
			if(OBJ.responseText){
				FUNC(OBJ.responseText);
			}else{
				alert(err_Abort);
				if(Btn){Btn.disabled = false;}
			}
		}
	}
	OBJ.setRequestHeader("content-type", "application/x-www-form-urlencoded;charset=UTF-8");
	OBJ.send(DATA);
}
ajaxReq.prototype.stopDefAndProp = function(){ return false; }

function GenerateFail(){
	alert(err_Unsupport);
	return false;
}


function addListener(elem,eventType,Func,cap){
	if(elem.addEventListener){
		elem.addEventListener(eventType,Func,cap);
	}else if(elem.attachEvent){
		elem.attachEvent('on'+eventType,Func);
	}else{
		alert(err_Unsupport);
		return false;
	}
}
