﻿/********************************************
	本文件用于购物车相关操作。
	power by LiShilin@Gmail.com 2008-04-30
********************************************/

//更新数量
var spanObjectID= "";//定义显示总价格的span对象id
var spanCountObjectID = "";//定义显示行价格的span对象id
var spanCountNumObjectId="";//定义显示总的数量的span对象的id
var spanRemarkId="";//定义备注对象的id
 
function UpdateCartNum(selObj,objID,sqlWhere,spanID,spanCountID,spanCountNumID)
{
	spanObjectID = spanID;
	spanCountObjectID = spanCountID;
	spanCountNumObjectId=spanCountNumID;	
	var isTrue=false;	
	//输入框方式：
	var newnum = selObj.value.Trim();
	if(newnum == "")
	{	    
		alert("请正确输入购买数量。");
		selObj.focus();
	}
	else
	{	   
	    var txtname = selObj.id;
	    var tagName="";	  
	    var list=new Array();
	    tagName=txtname.substring(0,(txtname.lastIndexOf('_')+1));	   
	    var a=0;
	    for(var j=0;j<1000;j++)
	    { 
	        if(document.getElementById(tagName+j.toString())!=null)
	        {
	            list[a] = document.getElementById(tagName+j.toString()).value;
	            a++;
	        }
	    }
		for(var i=0;i<list.length;i++)
        {			
            if(parseInt(list[i])==0)
            { 
                if((i+1)<list.length)
                {					
                    if(list[i+1] !=list[i])
                    {				
					    isTrue=true;			   
				    }
                }                             
            }
		    else
		    {
			    isTrue=true;
		    }
        }        
	    if(isTrue)
	    {		
	        var url = "/Shop/BuyForm.aspx?action=update&newnum=" + newnum + "&params=" + objID+"&sqlWhere="+sqlWhere;		
	        //document.write(url);
	        //打开进度条
	        ShowState();    		
	        if(GetXmlDoc(url,TranUpdateReturn) == "error")
	        {    		    
		        ShowMsg("<img src=/Images/System/smallerror.gif align=absmiddle />无法更新数量，请稍候重试。",3000);
	        }
	    }else{
	        alert("请正确输入购买数量。");
	        selObj.focus();		    
	    }			
		
	}
}

//更新备注
function UpdataRemark(objId,proId)
{
    spanRemarkId=objId;
    //输入框方式：
	var newRemark = objId.value.Trim();
	if(newRemark=="")
	{
	    objId.focus();
	}else
	{
	    var url = "/Shop/BuyForm.aspx?action=updateRemark&newRemark=" + newRemark + "&params=" + proId;		
		//document.write(url);
		//打开进度条
		ShowState();
		
		if(GetXmlDoc(url,UpdataRemarkReturn) == "error")
		{
		    
			ShowMsg("<img src=/Images/System/smallerror.gif align=absmiddle />无法更新数量，请稍候重试。",3000);
		}	
	}
}

function UpdataRemarkReturn()
{
    if(XmlHttp.readyState == 4)
	{
	   spanRemarkId.value=XmlHttp.responseText;
	   HiddenState();	   
	}
}

//处理更新操作的返回数据
function TranUpdateReturn()
{
	if(XmlHttp.readyState == 4)
	{
		var root = XmlHttp.responseXML.documentElement;
		if(root != null)
		{
			var result = root.selectNodes("result")[0].text;
			if(result == "1")
			{
				var money = root.selectNodes("money")[0].text;
				var count = root.selectNodes("count")[0].text;
				var totalMoney=root.selectNodes("totalMoney")[0].text;
				$("ctl00_ContentPlaceHolder1_UPlaceHolder1_ctl00_TradeCart1_"+spanCountObjectID).innerText = money;
				$("ctl00_ContentPlaceHolder1_UPlaceHolder1_ctl00_TradeCart1_"+spanObjectID).innerText=totalMoney;
				$("ctl00_ContentPlaceHolder1_UPlaceHolder1_ctl00_TradeCart1_"+spanCountNumObjectId).innerText=count;				
			
				//document.getElementById("ctl00_ContentPlaceHolder1_UPlaceHolder1_ctl00_TradeCart1_"+spanCountObjectID).innerText = root.selectNodes("count")[0].text;
				HiddenState();
			}
		}
		else
		{
			ShowMsg("<img src=/Images/System/smallerror.gif align=absmiddle />程序出错。",3000);
		}
	}
}



/***********************************************
	进度条操作
***********************************************/
//进度条操作：显示
function ShowState()
{
	var state = $("Tranning");
	if(state == null)
	{
		state = CreateStateDiv();
		document.body.appendChild(state);
	}
	if(arguments.length > 0 && typeof arguments[0] == "string")//如果传递了参数（提示文字），则将参数放入层
	{
		state.innerHTML = arguments[0];
	}
	else//否则采用默认图片及文字
	{
		state.innerHTML = "<img src=/Images/System/smallloading.gif align=absmiddle />正在更新，请稍候...";
	}
	state.style.top = (document.documentElement.scrollTop+(document.documentElement.clientHeight-state.offsetHeight)/2)+"px";
	state.style.left = (document.documentElement.scrollLeft+(document.documentElement.clientWidth-state.offsetWidth)/2)+"px";
	state.style.display = "inline";
}
/*************************************************
	检测购物信息的输入
*************************************************/
function CheckInfoInput()
{
	if($("txtReceiveUser").value.Trim() == "")
	{
		alert("请输入收货人姓名");
		return false;
	}
	if($dropGet($("selProvinceID")) == "none")
	{
		alert("请选择省份");
		return false;
	}
	if($("txtAddress").value.Trim() == "")
	{
		alert("请输入详细街道地址");
		return false;
	}
	if($("txtZipCode").value.Trim() == "")
	{
		alert("请输入邮编");
		return false;
	}
	if(($("txtPhone").value.Trim() == "") && ($("txtMobile").value.Trim() == ""))
	{
		alert("电话号码或手机手机至少要输入一个");
		return false;
	}
	if($("txtEmail").value.Trim() != "")
	{
		var reg = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ig;
		if($("txtEmail").value.Trim().match(reg) == null)
		{
			alert("电子邮件格式不正确");
			return false;
		}
	}
	return true;
}
/****************************************************
	显示支付方式的信息
****************************************************/
function ShowPayInfo(arrayName,infoContain)
{
	if(arrayName != null && $(infoContain)!=null)
		$(infoContain).innerHTML = (arrayName[1] == "" ? "" : "<img src='" + arrayName[1] + "' alt='" + arrayName[0] + "' title='" + arrayName[0] + "' />")+"<br /><strong>" + arrayName[0] + "</strong><br />" + arrayName[2].replace(/@@@/ig,"<br />");
}
/***************************************************
	填充页面上的用户收货地址
***************************************************/
function FillAddress(arrayName)
{
	if(arrayName != null)
	{
		$("txtReceiveUser").value = arrayName[0];
		$("hidProvince").value = arrayName[1];
		$("hidCity").value = arrayName[2];
		$("txtAddress").value = arrayName[3];
		$("txtZipCode").value = arrayName[4];
		$("txtPhone").value = arrayName[5];
		$("txtMobile").value = arrayName[6];
		$("txtFax").value = arrayName[7];
		$("txtEmail").value = arrayName[8];
		BindProvince("selProvinceID","dropCity","hidProvince","hidCity");
	}
}