var xmlHttp;//XMLHTTPRequest对象
/**
*校验登录名的方法
*这里使用XMLHTTPRequest对象来进行AJAX的异步数据交互
*/
function verify() {
	/**
	*0.使用dom方式获取文本框中的数据
	*document.getElementById("loginName")是dom中获得元素节点的一种方法
	*.value可以获得一个元素的value属性值
	*/
	var loginName = document.getElementById("loginName").value;
	if (loginName == null || loginName == "") {
		return;
	}
	/**
	*1.创建XMLHTTPRequest对象	
	*/
	createXMLHttpRequest();
	/**
	*2.注册回调函数
	*注册回调函数时,只要函数名,不要加括号
	*我们需要注册函数名,如果加括号,就会注册函数返回值,这是错误的
	*/
	xmlHttp.onreadystatechange = callback;
	/**
	*3.设置连接信息
	*第一个参数表示http的请求方式,支持所有http请求方式,主要是用GET和POST
	*第二个参数表示请求的url地址,GET方式请求的参数也在url中
	*第三个参数表示与服务器的交互方式,true表示异步,false表示同步
	*/
	/**
	*解决中文乱码问题
	*1.页面请求的数据做一次encodeURI,服务器使用new String(old.getBytes("iso8859-1"),"gbk");
	*2.页面请求数据做两次encodeURI,服务器端做两次解码URLDecoder.decode(loginName, "gbk");
	*/
	var url = "/crm/user.do?op=verifyName&loginName=" + encodeURI(loginName);
	xmlHttp.open("GET", url, true);
	/**
	*4.发送数据,开始和服务器端进行交互
	*同步方式下,send方法在服务器端数据回来后才执行完
	*异步方式下,send方法立即执行结束
	*/
	xmlHttp.send(null);
}
/**
*检测登录名的回调函数
*/
function callback() {
	/**
	*5.接收响应数据
	*/
	/*判断XMLHTTPRequest对象的状态是交互完成*/
	if (xmlHttp.readyState == 4) {
		/*判断http是否交互成功*/
		if (xmlHttp.status == 200) {
			/*获取服务器返回的数据*/
			/*以纯文本方式获得返回数据*/
			var responseText = xmlHttp.responseText;
			/*通过dom方式获得对应div/span元素*/
			var node = document.getElementById("loginNameError");
			if (responseText != null && "" != responseText) {
				/*将数据显示给用户*/
				/*设置节点中的html内容*/
				node.innerHTML = "<font color='red'>" + responseText + "</font>";
				/*选中文本框中的内容*/
				document.getElementById("loginName").focus();
				document.getElementById("loginName").select();
				return false;
			} else {
				node.innerHTML = "";
			}
		}
	}
}

/**
*创建XMLHTTPRequest对象的方法
*这是使用XMLHTTPRequest对象最复杂的一步
*需要针对IE和Firefox等不同类型浏览器的不同对象写不同的创建代码
*/
function createXMLHttpRequest() {
	if (window.XMLHttpRequest) {
		/*针对Firefox、Mozillar、Oprea、Safari、IE7、IE8*/
		xmlHttp = new XMLHttpRequest();
		/*针对某些特定版本的Mozillar浏览器的BUG进行修正*/
		if (xmlHttp.overrideMimeType) {
			xmlHttp.overrideMimeType("text/xml");
		}
	} else {
		if (window.ActiveXObject) {
			/*针对IE6、IE5.5、IE5
			*两个可以创建XMLHTTPRequest对象的控件名称存放在js数组中
			*前一个版本较新
			*/
			var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
			for (var i = 0; i < activexName.length; i++) {
				try {
					/*取出一个控件名进行创建,如果创建成功结束循环
					*如果创建失败,会抛出异常,然后可以继续循环,继续尝试创建
					*/
					xmlHttp = new ActiveXObject(activexName[i]);
					break;
				}
				catch (e) {
				}
			}
		}
	}
	/*确认XMLHTTPRequest对象创建成功*/
	if (!xmlHttp) {
		alert("/u60a8/u5f53/u524d/u6d4f/u89c8/u5668/u4e0d/u652f/u6301/u672c/u529f/u80fd/uff0c/u8bf7/u66f4/u6362/u66f4/u9ad8/u7248/u672c/u6d4f/u89c8/u5668/uff01");
		return;
	}
}