// JavaScript Document
//初始化XMLhttp对象
function createXMLHttpRequest()
{
	//兼容性判断并生成对象
	if (window.ActiveXObject)
	{
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		xmlHttp=new XMLHttpRequest;
	}
}

function getId(str)
{
	//如果页面中存在该对象
	if(document.getElementById(str))
	{
		return document.getElementById(str);  //返回，返回值为该对象
	}
	return false;  //没有对象返回false
}

/*
档对后台数据发出请求，返回一个XML文
method: 	提交方式POST,GET
action: 	提交目标
buffer: 	是否缓存
data:   	提交的数据
pageType:   页面属性
resultType: 结果的类型,1:获取网页内容，2:false,true
*/
function startRequest(method,action,buffer,data,pageType,resultType)
{
	createXMLHttpRequest();
	xmlHttp.onreadystatechange= handleStateChange;
	xmlHttp.open(method,action,buffer);
	noteAjaxResulttype=resultType;
	//判断页面类型
	switch(pageType)
	{
		case "html":
			xmlHttp.setRequestHeader("Content-Type", "text/html; charset=utf-8");
			break;
		case "xml":
			xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
			break;
		case "form":
			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
			break;
		default:
			xmlHttp.setRequestHeader("Content-Type", "text/html; charset=utf-8");
			break;
	}
	var SendData = data+"&timeStamp=" + new Date().getTime();
	//xmlHttp.send(null);
	xmlHttp.send(SendData);  //发送数据
}

//判断获数据保存的状态
function handleStateChange()
{
	if (xmlHttp.readyState == 4)
	{
		if (xmlHttp.status == 200) //发送成功

		{
			//getId(noteTextAjaxBoard).innerHTML = xmlHttp.responseText;
			recieveRequest();
		}
		else if(xmlHttp.status == 404)
		{
			getId(noteTextAjaxBoard).innerHTML = noteAjaxNotFound; //找不到页面时给出提示
		}
		else
		{
			getId(noteTextAjaxBoard).innerHTML = noteAjaxLoading;  //信息加载中
		}
	}
	else
	{
		getId(noteTextAjaxBoard).innerHTML = noteAjaxLoading;  //失败时添加失败信息
	}

}

function recieveRequest()
{
	if(noteAjaxResulttype==1)  //获取网页内容
	{
		//alert(xmlHttp.responseText);
		if(xmlHttp.responseText=="username")
		{
			getId(noteTextAjaxBoard).innerHTML = ""; 
			alert("对不起该用户已经被注册过,请更换!");
			getId("user_username").focus();
			getId("reg_button").disabled = false;
		}
		else if(xmlHttp.responseText=="")
		{
			getId(noteTextAjaxBoard).innerHTML = ""; 
			getId("reg_button").disabled = true;
			alert("注册成功！");
			location="../index.php";
		}
		else
		{
			alert(xmlHttp.responseText);
			getId("reg_button").disabled = false;
			
		}
	}
	else if(noteAjaxResulttype==2)  //专为登陆设置的
	{
		//alert(xmlHttp.responseText);
		if(xmlHttp.responseText=="username")
		{
			getId(noteTextAjaxBoard).innerHTML = noteUsernameError;  //显示用户名错误信息
		}
		else if(xmlHttp.responseText=="password")
		{
			getId(noteTextAjaxBoard).innerHTML = notePasswordError;  //显示密码错误信息
		}
		else
		{
			getId(noteTextAjaxBoard).innerHTML = xmlHttp.responseText; 
		}
	}
	else if(noteAjaxResulttype==3)  //评论
	{
		if(xmlHttp.responseText=="ok"){
			getId("content").value = "";
			getId(noteTextAjaxBoard).style.display="none";
			alert(noteMessage);
		}else{
			alert(xmlHttp.responseText);
		}
	}
	else  //返回的查询结果，false,true
	{
		return true;
	}
}

//Send Data
function sendData(formName){
	var data ;
	for(i=0;i<getId(formName).elements.length;i++)
	{
		curElement = getId(formName).elements[i];
		if(curElement.type=="checkbox")
		{
			if(curElement.checked)
				curElement.value = 1;
			else
				curElement.value = 0;
			}
			if(curElement.type=="select")
			{
				if(curElement.selectedIndex!=-1)
					data += "&" + curElement.name + "=" + curElement.options[curElement.selectedIndex].value;
			}
			else
			{
				if(curElement.type=="radio")
				{
					if(curElement.checked)
						data += "&" + curElement.name + "=" + curElement.value;
					}
					else
					{
						data += "&" + curElement.name + "=" + encodeURIComponent(curElement.value);
					}
				}
			}
		//escape
		return data;
}

//AJAX函数结束