﻿// system.ajax.js 对应 system/ajax

// 创建 XMLHttpRequest 对象
function CreateXMLHttpRequest()
{	
	var myXMLHttpRequest = false;
	// 需要考虑不同浏览器和不同版本的区别	
	// 在 Microsoft 浏览器上创建 XMLHttpRequest 对象
	try
	{		
		myXMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			myXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			myXMLHttpRequest = false;
		}
	}
		
	// 非 Microsoft 浏览器上创建的方法
	if(!myXMLHttpRequest && typeof XMLHttpRequest != 'undefined')
	{
		myXMLHttpRequest = new XMLHttpRequest();
	}
	
	if(!myXMLHttpRequest)
	{
		alert("Error Initializing XMLHttpRequest!");
		return false;
	}
	
	return myXMLHttpRequest;
}

function mac_collection_add(PrimaryKeyID, PrimaryKeyTable)
{		
	var myXMLHttpRequest = CreateXMLHttpRequest();
	var AjaxUrl = "system/ajax/mac_collection_add.aspx?ID=" + PrimaryKeyID + "&pkt=" + PrimaryKeyTable + "&Random=" + (new Date().getTime().toString());
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;

	function AjaxUpdatePage()
	{
		// 可以用这种方法来观察运行的状态
		// alert(myXMLHttpRequest.readyState);	
			
		if (myXMLHttpRequest.readyState < 4)
		{
			document.getElementById("mac_collection_add").innerHTMl = "数据提交中...";
		}
		else
		{
			var myResponse = myXMLHttpRequest.responseText;	
			
			// 调试的时候，可以用来查看返回的字符串，如果弹不出对话框，有可能需要清空一下临时文件
			// alert(myResponse);
			
			if(myResponse == 0)
			{
				// 成功
				// alert("提示：收藏成功");
				document.getElementById("mac_collection_add").innerHTML = "收藏成功";
			}
			else if(myResponse == 1)
			{
				// 失败
				document.getElementById("mac_collection_add").innerHTML = "收藏失败";
			}		
			else
			{			
				// 失败
				document.getElementById("mac_collection_add").innerHTML = "网络繁忙，收藏失败";
				return false;
			}
		}
	}
	
	myXMLHttpRequest.send(null);
}

/* shop.cart.aspx */
function mpa_cart_edit(strAction, nProductID, nQuantityID, nProductPrice, nTotalPrice, AllTotalPrice)
{	
	var myXMLHttpRequest = CreateXMLHttpRequest();		
	
	// 利用正则表达式，判断用户的输入是否为正整数	
	var RegExpression = /^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/;
	var ObjExp = new RegExp(RegExpression);
	
	QuantityValue = document.getElementById(nQuantityID).value;
	
	if(strAction == "Left")
	{
		QuantityValue = Number(QuantityValue) - 1;
		document.getElementById(nQuantityID).value = QuantityValue;
	}
	
	if(strAction == "Right")
	{
		QuantityValue = Number(QuantityValue) + 1;
		document.getElementById(nQuantityID).value = QuantityValue;
	}
	
	if(!ObjExp.test(QuantityValue))
	{		
		QuantityValue = 1;
		document.getElementById(nQuantityID).value = 1;
	}
	
	if(document.getElementById(nQuantityID).value == "")
	{
		QuantityValue = 1;
		document.getElementById(nQuantityID).value = 1;
	}
				
	// 将修改的数据写入数据库中	
	var AjaxUrl = "system/ajax/mpa_cart_edit.aspx?ProductID=" + nProductID + "&Quantity=" + QuantityValue + "&Random=" + (new Date().getTime().toString());
	
	// Open a connection to the server, 默认 false， 异步， 为了同步更新数据，这里选 true
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	
	// Setup a function for the server to run when it's done
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{
		if (myXMLHttpRequest.readyState < 4)
		{
			document.getElementById(nTotalPrice).innerHTML = "计算中...";	
			document.getElementById(AllTotalPrice).innerHTML = "计算中...";
		}
		else
		{
			var myResponse = myXMLHttpRequest.responseText;	
			document.getElementById(nTotalPrice).innerHTML = (nProductPrice * QuantityValue).toFixed(2);
			document.getElementById(AllTotalPrice).innerHTML = myResponse;
			
			// 重新计算上面的购物车数据
			mpa_cart_get_quantity("cart_quantity");
			mpa_cart_get_totalprice("cart_totalprice");
		}
	}
	
	// Send the request
	myXMLHttpRequest.send(null);				
}

function mpa_cart_get_quantity(spanid)
{
	var myXMLHttpRequest = CreateXMLHttpRequest();
	var AjaxUrl = "system/ajax/mpa_cart_get_quantity.aspx?Random=" + (new Date().getTime().toString());
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{
			document.getElementById(spanid).innerHTML = myXMLHttpRequest.responseText;
		}			
	}
	
	myXMLHttpRequest.send(null);
}

function mpa_cart_get_totalprice(spanid)
{
	var myXMLHttpRequest = CreateXMLHttpRequest();
	var AjaxUrl = "system/ajax/mpa_cart_get_totalprice.aspx?Random=" + (new Date().getTime().toString());
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{
			document.getElementById(spanid).innerHTML = myXMLHttpRequest.responseText;
		}			
	}
	
	myXMLHttpRequest.send(null);
}

// 用于会员区的菜单部分
function get_user_menu_ajax(FieldName, spanid)
{
	var myXMLHttpRequest = CreateXMLHttpRequest();
	var AjaxUrl = "menu.ajax.aspx?FieldName=" + FieldName + "&Random=" + (new Date().getTime().toString());
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{
			document.getElementById(spanid).innerHTML = myXMLHttpRequest.responseText;
		}			
	}
	
	myXMLHttpRequest.send(null);
}

// comment.add.ascx 登陆过程
function ajax_comment_add_login()
{
	var Username = document.form1.comment_add_Username.value;
	var MPassword = document.form1.comment_add_MPassword.value;	
	if(Username == "")
	{
		alert("提示：用户名不允许为空，请重新输入！");
		document.form1.comment_add_Username.focus();
		return false;
	}
	if(MPassword == "")
	{
		alert("提示：密码不允许为空，请重新输入！");
		document.form1.comment_add_MPassword.focus();
		return false;
	}
	
	var myXMLHttpRequest = CreateXMLHttpRequest();
    var ajax_url = "comment.add.login.ajax.aspx?Username="+escape(Username)+"&MPassword="+escape(MPassword)+"&Random="+(new Date().getTime().toString());
	myXMLHttpRequest.open("GET", ajax_url, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{			
			if(myXMLHttpRequest.responseText == "failure")
			{
				alert("提示：身份验证失败，请重新登录！");
			}
			else
			{
				document.getElementById("comment_add_login").innerHTML = myXMLHttpRequest.responseText;
			}
		}
	}
	
	myXMLHttpRequest.send(null);
}

// comment.add.ascx 发表评论
function ajax_comment_add(PrimaryKeyID, PrimaryKeyTable)
{
	var UserIDIsShow = "0";
	if(document.form1.comment_add_UserIDIsShow.checked == true)
	{
		UserIDIsShow = "1"; 
	}	
	var ClientIPIsShow = "0";
	if(document.form1.comment_add_ClientIPIsShow.checked == true)
	{
		ClientIPIsShow = "1"; 
	}	
	var Content = document.form1.comment_add_Content.value;	
	if(Content == "")
	{
		alert("提示：评论内容不允许为空，请重新输入！");
		document.form1.comment_add_Content.focus();
		return false;
	}
	if(Content.length > 1000)
	{
		alert("提示：评论内容输入超过1000个字符，请重新输入！");
		document.form1.comment_add_Content.focus();
		return false;
	}
	var VerifyCode = document.form1.comment_add_VerifyCode.value;
	if(VerifyCode == "")
	{
		alert("提示：验证码不允许为空，请重新输入！");
		document.form1.comment_add_VerifyCode.focus();
		return false;
	}
	
	var myXMLHttpRequest = CreateXMLHttpRequest();
    var ajax_url = "comment.add.ajax.aspx?ID="+escape(PrimaryKeyID)+"&pkt="+escape(PrimaryKeyTable)+"&UserIDIsShow="+escape(UserIDIsShow)+"&ClientIPIsShow="+escape(ClientIPIsShow)+"&Content="+escape(Content)+"&VerifyCode="+escape(VerifyCode)+"&Random="+(new Date().getTime().toString());
	myXMLHttpRequest.open("GET", ajax_url, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{			
			if(myXMLHttpRequest.responseText == "VerifyCode_ERROR")
			{
				alert("提示：验证码输入错误，请重新输入！");
			}
			else
			{	
				alert("提示：评论提交成功，等待审核中！");
				document.form1.comment_add_Content.value = "";
				document.form1.comment_add_VerifyCode.value = "";
				document.form1.comment_add_validata.src = "system/VerifyCode.aspx?"+(new Date().getTime().toString())+"";
				// document.getElementById("comment_add_login").innerHTML = myXMLHttpRequest.responseText;
			}
		}
	}
	
	myXMLHttpRequest.send(null);
}

// 评论：顶
function ajax_comment_ding(FieldName, CommentID)
{
	var myXMLHttpRequest = CreateXMLHttpRequest();
	var AjaxUrl = "comment.ding.ajax.aspx?FieldName="+FieldName+"&CommentID="+CommentID+"&Random="+(new Date().getTime().toString());
	myXMLHttpRequest.open("GET", AjaxUrl, true);
	myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
	
	function AjaxUpdatePage()
	{		
		if (myXMLHttpRequest.readyState == 4)
		{
			document.getElementById("comment_ding_"+CommentID+"").innerHTML = myXMLHttpRequest.responseText;
		}			
	}
	
	myXMLHttpRequest.send(null);
}
