function Ajax(ele,recvType,msgDivId) {
	var aj = new Object();
	aj.srcEle=ele;
	aj.srcLeft=0;
	aj.srcTop=0;
	aj.targetUrl = '';
	aj.sendString = '';
	aj.recvType = recvType ? recvType : 'HTML';//HTML XML
	aj.resultHandle=null;
	aj.timer=null;
	aj.float=true;
	if (msgDivId!=null){
		aj.msgDiv = document.getElementById(msgDivId);
		if (aj.msgDiv!=null){
			aj.float=false;
		}
	}
	if (aj.float){
		aj.msgDiv = document.getElementById("iwmsAjaxMsg");
	}
	if (aj.msgDiv==null){
		var o=document.createElement("DIV");
		o.id="iwmsAjaxMsg";
		o.style.display="none";
		o.style.position="absolute";
		o.style.border="1px solid #999";
		o.style.padding="3px";
		o.style.background="infobackground";
		o.style.font="9pt 宋体 arial";
		o.style.color="#000";
		o.style.whiteSpace="nowrap";
		o.style.filter="alpha(opacity=80)";
		o.style.opacity="0.8";
		ele.ownerDocument.body.appendChild(o);
		aj.msgDiv=o;
	}
//	alert(aj.msgDiv);

	aj.message = function(msg,hideTime){
		if (aj.float){
			aj.msgDiv.innerHTML=msg;
			var pos=aj.getPos(aj.srcEle,aj.msgDiv);
			aj.msgDiv.style.top=pos.y+"px";
			aj.msgDiv.style.left=pos.x+"px";
			aj.msgDiv.style.display="block";
		}else{
			aj.msgDiv.innerHTML=msg;
			aj.msgDiv.style.visibility="visible";
		}
		
		if (aj.timer!=null){
			window.clearTimeout(aj.timer);
		}
		
		if(hideTime){
			aj.hideMessage(hideTime);
		}
	}
	
	aj.hideMessage = function(time){
		if (time && time>0){
			aj.timer=window.setTimeout(aj.hideMessage,time);
		}else{
			if (aj.float){
				aj.msgDiv.style.display="none";
			}else{
				aj.msgDiv.style.visibility="hidden";
				aj.msgDiv.innerHTML="";
			}
		}
	}
	
	aj.getPos = function(ele,msg){
		var pos=[0,0];
		var vis=[msg.style.display.toString(),msg.style.visibility.toString()];
		var cw=document.documentElement.clientWidth;
		var sl=document.documentElement.scrollLeft;
		var p=ele;
		msg.style.display="block";
		msg.style.visibility="hidden";
		do{
			pos[0] += p.offsetLeft || 0;
			pos[1] += p.offsetTop  || 0;
			p=p.offsetParent;
		}while(p);

		pos[1] += ele.offsetHeight;
		
		if (pos[0]+msg.offsetWidth>cw+sl){
			pos[0]=cw+sl-msg.offsetWidth;
			if(pos[0]<0){
				pos[0]=0;
			}
		}
		msg.style.display=vis[0];
		msg.style.visibility=vis[1];
		return {x:pos[0],y:pos[1]};
	}
	
	aj.createXMLHttpRequest = function() {
		var request = null;
		if(window.XMLHttpRequest) {
			request = new XMLHttpRequest();
			if(request.overrideMimeType) {
				request.overrideMimeType('text/xml');
			}
		} else if(window.ActiveXObject) {
			var versions = ['Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
			for(var i=0; i<versions.length; i++) {
				try {
					request = new ActiveXObject(versions[i]);
					if(request) {
						return request;
					}
				} catch(e) {
					//alert(e.message);
				}
			}
		}
		if(request){
			aj.message("成功建立xmlhttp对象",2000);
		}else{
			aj.message("建立xmlhttp对象失败",2000);
		}
		
		return request;
	}

	aj.XMLHttpRequest = aj.createXMLHttpRequest();

	aj.processHandle = function() {
		if(aj.XMLHttpRequest.readyState == 1) {
			aj.message('正在建立连接...');
		} else if(aj.XMLHttpRequest.readyState == 2) {
			aj.message('正在发送数据...');
		} else if(aj.XMLHttpRequest.readyState == 3) {
			aj.message('正在接受数据...');
		} else if(aj.XMLHttpRequest.readyState == 4) {
			if(aj.XMLHttpRequest.status == 200) {
				aj.message('正在处理数据...',1000);
				if(aj.recvType == 'HTML') {
					aj.resultHandle(aj.XMLHttpRequest.responseText);
				} else if(aj.recvType == 'XML') {
					aj.resultHandle(aj.XMLHttpRequest.responseXML);
				}
			} else {
				aj.message('连接服务器失败，请重新尝试！',2000);
			}
		}
	}

	aj.get = function(targetUrl, resultHandle) {
		if (aj.XMLHttpRequest==null){
			return;
		}
		aj.targetUrl = targetUrl;
		aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		if(window.XMLHttpRequest) {
			aj.XMLHttpRequest.open('GET', aj.targetUrl);
			aj.XMLHttpRequest.send(null);
		} else {
		        aj.XMLHttpRequest.open("GET", targetUrl, true);
		        aj.XMLHttpRequest.send();
		}
	}

	aj.post = function(targetUrl, sendString, resultHandle) {
		if (aj.XMLHttpRequest==null){
			return;
		}
		aj.targetUrl = targetUrl;
		aj.sendString = sendString;
		aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		aj.XMLHttpRequest.open('POST', targetUrl);
		aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		aj.XMLHttpRequest.setRequestHeader("charset","gb2312");
		aj.XMLHttpRequest.send(aj.sendString);
	}
	
	return aj;
}

