
/*
 * 该功能类似 ASP 里的 Request,获取并分析URL的附带参数
 * @params 需要获取参数名称
 * @params 需要获取参数的地址
 */
function request(strKey,strHref)
{
	var strParameter;
	strHref = strHref?strHref:window.location.href;

	if(strHref.search(/\?/)!=-1)
	{
		strHref=strHref.substr(strHref.search(/\?/)+1);
		strHref=strHref.split(/&/);
		for(var i = 0; i<strHref.length; i++)
		{
			if(strHref[i].search("^"+strKey+"=")!=-1)
			{
				strParameter=strHref[i].substr(strKey.length+1)
			}
		}
		
		return(strParameter);
	}
}

function checkall(form, checkall) {
	var checkall = checkall ? checkall : "chkall";
	for(var i = 0; i <= form.elements.length - 1; i++) {
		var e = form.elements[i];

		if (e.type == "checkbox")
		{
			e.checked = checkall.checked;

			if (e.value != "checkbox")
			{
				if (e.checked)
				{
					$$$("GoodsId_" + e.value).value = e.value;
				}else{
					$$$("GoodsId_" + e.value).value = 0;
				}
			}
		}
	}
}

function toFloat(f,s)
{   
	var re=/^[\d]+[\.]{0,1}[\d]*$/;   
	if (!re.test(f)){return false;}
	var t = Math.pow(10,s);
	var val = Math.round(f*t);
	var dort = val-Math.floor(val/t)*t;
	for (i=s;i>1;i--)
	{
		if (dort<Math.pow(10,i-1))
		{
			dort='0'+dort;
		}
	}

	return ((s>0)?(Math.floor(val/t)+'.'+dort):(Math.floor(val/t)));
}


/**
 * TAG过滤
 **/
function doTag(strTag)
{
	var strHTML = "";

	if (strTag.length != 0)
	{
		var ArrayTag = strTag.split(" ");

		for (var i = 0;i<=ArrayTag.length;i++)
		{
			if (typeof(ArrayTag[i]) != "undefined")
			{
				strHTML += "<a href=\'/global/search.asp?k=?"+ encodeURI(ArrayTag[i]) +"' target=\'_blank\'>" + ArrayTag[i] + "</a> ";
			}
		}
	}else{
		strHTML = strTag;
	}

	document.write (strHTML);
}


function setStatus(ExistsIsLogined,UserNick)
{
	if (ExistsIsLogined == 0)
	{
		$$$("divLoginWelcomeText").innerHTML = LABEL_FP_LOGIN_NONLOGIN;
	}else{
		$$$("divLoginWelcomeText").innerHTML = LABEL_FP_LOGIN_NOWLOGIN.replace("{0}",UserNick);
	}

	try{
		$$$("divWelcomeText").innerHTML = UserNick;
	}catch(e){;}
}

function setQuantityBasket(IsMyQuantityInBasket,IsMyFavoritesInBasket)
{
	try{
		$$$("divBasketItemText").innerHTML = LABEL_FP_BASKET_ITEM.replace("{0}",IsMyQuantityInBasket);
		$$$("divFavoritesItemText").innerHTML = LABEL_FP_FAVORITES_ITEM.replace("{0}",IsMyFavoritesInBasket);
	}catch(e){;}
}

function setQty(IsMyQuantityInBasket)
{
	try{
		$$$("divQty").innerHTML = IsMyQuantityInBasket;
	}catch(e){;}
}

function $write(strHTML){
	document.write (strHTML);
}

function $$$(id) {
	return document.getElementById(id);
}

/*
 * 加载安全验证机制
 * @params 屏蔽鼠标右键,截图及保存页面
 */
function initSec()
{

}

function doQuery(form)
{
	if (form.s.value == '')
	{
		return false;
	}else{
		top.location.href = '/html/q/?'+encodeURI(form.s.value)+'/';
		return false;
	}
}

function Member()
{
	var ajax = new AJAXRequest;

	// <summary>
	// 检查用户是否存在
	// </summary>
	this.Exists = function(tpl_mail,getType)
	{
		var mail = tpl_mail.value;

		if (mail.length != 0)
		{
			ajax.get(
				uri + "global/register.asp?op=exists&mail=" + escape(mail) + "&getype=" + getType,
				function (obj)
				{
					var returnValue = obj.responseText;

					var chkField = tpl_mail.value;
					var chkObj   = tpl_mail;

					if (chkField != "")
					{
						if (getType == 0)
						{
							var	emailExp = /^$|[a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]+$/i;   
							if (emailExp.test(chkField))
							{
								if (returnValue == 0)
								{
									$$$("exitsusermail").value = "mail_extis_false";
									$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_EMAIL_CHECKEXIST_FALSE;
								}else{
									$$$("exitsusermail").value = "mail_extis_true";
									$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_EMAIL_CHECKEXIST_TRUE;
								}
							}else{
								$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_EMAIL_FAILDTEXT;
							}
						}else{
							if (returnValue == 0)
							{
								$$$("exitsusername").value = "username_extis_false";
								$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_USERNAME_CHECKEXIST_FALSE;
							}else{
								$$$("exitsusername").value = "username_extis_true";
								$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_USERNAME_CHECKEXIST_TRUE;
							}
						}
					}
				}
			)
		}
	}

	// <summary>
	// 验证注册表单
	// </summary>
	this.ChkForm = function()
	{
		var form = $$$("frmRegister");
		var returnValue = $$$("returnValue").value;

		if (returnValue == "0")
		{
			// <summary>
			// 检查两次输入的注册密码是否一致
			// </summary>
			if(form.confirm_password.value != form.password.value)
			{
				alert (LABEL_FP_REGISTER_PASSWORD_FAILDTEXT);

				form.password.focus();
				form.confirm_password.focus();
				return false;
			}

			return true;
		}else{
			var chkField = form.mail.value;
			var chkObj   = form.mail;

			if (chkField == "")
			{
				// <summary>
				// 注册帐号电子邮件不允许为空
				// </summary>
				alert (LABEL_FP_REGISTER_EMAIL_FAILDTEXT);
				chkObj.focus();
				return false;
			}else{
				var	emailExp = /^$|[a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]+$/i;   
				if (!emailExp.test(chkField))
				{
					alert (LABEL_FP_REGISTER_EMAIL_FAILDTEXT);
					chkObj.focus();
					return false;
				}
			}

			chkField = form.username.value;
			chkObj   = form.username;

			if (chkField == "")
			{
				alert (LABEL_FP_REGISTER_USERNAME_ISNULL);
				chkObj.focus();
				return false;
			}

			chkField = form.mobile.value;
			chkObj   = form.mobile;

			if (chkField == "")
			{
				alert (LABEL_FP_REGISTER_MOBILE_ISNULL);
				chkObj.focus();
				return false;
			}else{
				var pattern = /13\d{9}/;
				if (!pattern.test(chkField))
				{
					alert (LABEL_FP_REGISTER_MOBILE_FAILDTEXT);
					chkObj.focus();
					return false;
				}
			}

			chkField = form.password.value;
			chkObj   = form.password;

			if (chkField == "")
			{
				alert (LABEL_FP_REGISTER_PASSWORD_ISNULL);
				chkObj.focus();
				return false;
			}else{
				chkField = form.password.value;
				chkComfirmField = form.confirm_password.value;

				if (chkField != chkComfirmField)
				{
					alert (LABEL_FP_REGISTER_PASSWORD_FAILDTEXT);
					return false;
				}
			}

			chkObj   = $$$("exitsusermail");
			chkField = chkObj.value;

			if (chkField == "mail_extis_true")
			{
				$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_EMAIL_CHECKEXIST_TRUE;
				return false;
			}

			chkObj   = $$$("exitsusername");
			chkField = chkObj.value;

			if (chkField == "username_extis_true")
			{
				$$$("divReturnValue").innerHTML = LABEL_FP_REGISTER_USERNAME_CHECKEXIST_TRUE;
				return false;
			}

			return true;
		}
	}

	delete (ajax);
}

/*
 * 初始化商品类
 */
function Goods()
{
	var ajax = new AJAXRequest;

	// 页面初始化
	this.Init = function()
	{
		var goodsid = $$$("goodsid").value;
		var originalprice = $$$("originalprice").value;
		var sellprice = $$$("sellprice").value;
		var saleprice = $$$("saleprice").value;
		var returnValue = 0;

		$$$("partnerid").value = request("partnerid")?request("partnerid"):"af8138cc-966f-454f-8615-272db64f4218";
		$$$("packageid").value = request("packid")?request("packid"):"0";
		$$$("tip").innerHTML = LABEL_FP_GOODS_QUANTITYWARNING;

		if ($$$("packageid").value != "0")
		{
			$$$("btnBuy").src =  $$$("btnBuy").src.replace("btn_buy.gif","btn_pkage_buy.gif");
		}

		ajax.get(
			uri + "global/common/price.asp?GoodsId=" + goodsid,
			function(obj){
				returnValue = obj.responseText;

				$$$("nowprice").value = returnValue;

				if (defsale)
				{
					this.sellprice = (saleprice==0?returnValue:saleprice);
				}else{
					this.sellprice = sellprice;
				}

				if (returnValue.length != 0)
				{
					if (this.sellprice == 0)
					{
						this.sellprice = sellprice;
					}
				}

				returnValue = this.sellprice;
				returnValue = (returnValue==0?sellprice:returnValue);

				$$$("nowprice").value = returnValue;
				$$$("NowPrice[]").value = returnValue;
				$$$("div_originalprice").innerHTML = originalprice.indexOf(".") == -1?originalprice + ".00":originalprice;
				$$$("div_sellprice").innerHTML = returnValue.indexOf(".") == -1?returnValue + ".00":returnValue;
				$$$("div_salepercent").innerHTML = Math.round((100 - (returnValue / originalprice) * 100) * 100)/100 + "%";
			}
		)

		// 获取商品库存
		var goodsid = $$$("goodsid").value;
		var size = $$$("size-selector").value;
		var colour = $$$("colour-selector").value;
		var quantity = $$$("quantity").value;
		var moq = $$$("moq").value

		return (this.__chkQty(goodsid,size,colour,quantity,0));
	}

	// 校验库存数量
	this.QTY = function()
	{
		// 获取商品库存
		var goodsid = $$$("goodsid").value;
		var size = $$$("size-selector").value;
		var colour = $$$("colour-selector").value;
		var quantity = $$$("quantity").value;
		var moq = $$$("moq").value;

		return (this.__chkQty(goodsid,size,colour,quantity,0));
	}
	
	// 提交订单数据
	this.ChkForm = function(form,submited)
	{
		if (typeof(submited) == "undefined")
		{
			submited = 0;
		}

		// 获取商品库存
		var goodsid = $$$("goodsid").value;
		var size = $$$("size-selector").value;
		var colour = $$$("colour-selector").value;
		var quantity = $$$("quantity").value;
		var moq = $$$("moq").value;

		return (this.__chkQty(goodsid,size,colour,quantity,submited));
	}

	/**
	 * 设置商品库存
	 * @params 商品货号
	 * @params 商品尺码
	 * @params 商品颜色
	 * @params 商品库存
	 * @params 商品是否提交
	 **/
	this.__chkQty = function(goodsid,size,colour,quantity,submited)
	{
		var moq = $$$("moq").value;
			moq = parseInt(moq);

		var Types = $$$("Types[]").value;

		if (Types == 1)
		{
			if ((size == "null") || (colour == "null"))
			{
				$$$("quantity").value = 1;
				$$$("quantity").disabled = true;
				$$$("divBuy").style.display = "none";
				$$$("divAME").style.display = "none";
				$$$("divNoBuy").style.display = "block";

				return false;
			}else{
				var re=/^[0-9]+$/i;
				if(re.test(quantity))
				{
					ajax.get(
						uri + "global/common/quantity.asp?GoodsId=" + goodsid + "&size=" + escape(size) + "&colour=" + escape(colour) + "&quantity=" + quantity,
						function(obj){
							var returnValue = obj.responseText;
							returnValue = returnValue.split("|");
							returnValue[0] = parseInt(returnValue[0]);

							$$$("quantity").disabled = false;

							if (returnValue[0] <= 0)
							{
								alert (LABEL_FP_GOODS_QUANTITYNOTSTOCKNOW);

								$$$("divBuy").style.display = "none";
								$$$("divAME").style.display = "block";
								$$$("divNoBuy").style.display = "none";
								
								return false;
							}else{
								if ((parseInt(quantity) <= returnValue[0]) || (returnValue[0] == "True"))
								{
									if (parseInt(quantity) >= moq)
									{
										$$$("divBuy").style.display = "block";
										$$$("divAME").style.display = "none";
										$$$("divNoBuy").style.display = "none";

										if (submited == 1)
										{
											$$$("tip").innerHTML = LABEL_FP_GOODS_SUCCESSBUY.replace("{0}",quantity);
											$$$("tip").className = "tip_text tip_success";

											// <summary>
											// none  : 设置为 NONE 将不直接跳转购物车
											// block : 设置为 BLOCK  将直接跳转购物车
											// </summary>
											if ($$$("returnForms").value == "block")
											{
												$$$("frmGoods").target = "";
											}
										}

										if (returnValue[1] == "boolean")
										{
											$$$("div_stockstatus").innerHTML = LABEL_FP_GOODS_INSTOCK;
										}else{
											$$$("div_stockstatus").innerHTML = returnValue[0];
										}

										$$$("tip").innerHTML = LABEL_FP_GOODS_QUANTITYWARNING;
										$$$("tip").className = "tip_text";
										
										return true;
									}else{
										$$$("tip").innerHTML = LABEL_FP_GOODS_MOQ.replace("{0}",moq);
										return false;
									}
								}else{
									$$$("divBuy").style.display = "none";
									$$$("divAME").style.display = "block";
									$$$("divNoBuy").style.display = "none";

									$$$("tip").innerHTML = LABEL_FP_GOODS_QUANTITYNOTSTOCKNOW;
									$$$("tip").className = "tip_text tip_faild";
									$$$("returnValue").value = "false";

									if (returnValue[1] == "boolean")
									{
										$$$("div_stockstatus").innerHTML = LABEL_FP_GOODS_OUTSTOCK;
									}else{
										$$$("div_stockstatus").innerHTML = returnValue[0];
									}

									return false;
								}
							}
						}
					)
				}else{
					$$$("quantity").value = 1;
					return false;
				}
			}	
		}else{
			$$$("quantity").value = 1;
			$$$("divBuy").style.display = "block";
			$$$("divAME").style.display = "none";
			$$$("divNoBuy").style.display = "none";
		}
	}

	delete (ajax);
}

function Order()
{
	var ajax = new AJAXRequest;

	this.initialize = function()
	{
		this.GetMemberIntegral();

		var orderid = $$$("orderid").value;
		ajax.get(
			uri + "global/common/payed.asp?orderid=" + orderid,
			function (obj)
			{
				var returnValue = obj.responseText;

					returnValue = returnValue.split("|");

					var b_orderpayprice = returnValue[0];
					var b_orderpayed = returnValue[1];

						b_orderpayprice = parseInt(b_orderpayprice);
						b_orderpayed = parseInt(b_orderpayed);

					if (b_orderpayprice > 0)
					{
						if (b_orderpayed >= b_orderpayprice)
						{
							b_orderpayed = b_orderpayprice;
						}
					}else{
						b_orderpayed = b_orderpayed + b_orderpayprice;
					}

					if (b_orderpayprice > 0)
					{
						b_orderpayprice = b_orderpayprice - b_orderpayed;
					}else{
						b_orderpayprice = "0.00";
					}

				// <summary>
				// 为付款金额等于 0 时, 自动屏蔽余款和礼品卡支付方法
				// </summary>
				if (b_orderpayprice == 0)
				{
					$$$("divIntegral").style.display = "none";
					$$$("divGiftcard").style.display = "none";
				}

				$$$("offline").checked = true;
				$$$("b_orderpayed").innerHTML = toFloat(b_orderpayed,2);
				$$$("b_orderpayprice").innerHTML = toFloat(b_orderpayprice,2);
				$$$("b_now_pay_price").innerHTML = toFloat(b_orderpayprice,2);
				$$$("now_pay_price").value = b_orderpayprice;
			}
		)
	}

	this.setUsedIntegral = function(thisObj)
	{
		var max_integral  = $$$("max_my_integral").value;
		var use_integral  = thisObj.value;
		var now_pay_price = 0;

		var re=/^[0-9.]+$/i;
		if(re.test(use_integral))
		{
			use_integral  = parseInt(use_integral);
			max_integral  = parseInt(max_integral);
			now_pay_price = parseInt($$$("now_pay_price").value);

			if (max_integral >= now_pay_price)
			{
				max_integral = now_pay_price;
			}

			max_integral = toFloat(max_integral,2);

			if (use_integral <= max_integral)
			{
			}else{
				alert ("余款最高输入金额为: " + max_integral);
				thisObj.value = max_integral;
			}
		}else{
			thisObj.value = 0;
			alert ("请输入有效的金额格式, 请不要使用全角、英文、汉字和标点符号等。")
		}
		$$$("integral").value = thisObj.value;
	}

	this.GetMemberIntegral = function()
	{
		ajax.get(
			uri + "global/my.asp?op=getintegral",
			function (obj)
			{
				var returnValue = obj.responseText;

				$$$("my_integral").innerHTML = toFloat(returnValue,2);
				$$$("max_my_integral").value = returnValue;
			}
		)
	}

	// <summary>
	// 获取礼品卡的卡片信息
	// </summary>
	this.GetGiftCard = function()
	{
		var cardid = $$$("card_id").value;
		var cardpassword = $$$("card_password").value;

		if (cardid.length == 0)
		{
			alert ("请输入礼品卡卡号");
		}
		
		if (cardpassword.length == 0)
		{
			alert ("请输入礼品卡密码");
		}

		if ((cardid.length != 0) && (cardpassword.length != 0))
		{
			ajax.get(
				uri + "global/common/giftcard.asp?number=" + cardid + "&password=" + cardpassword,
				function (obj)
				{
					var returnValue = obj.responseText;
					    returnValue = returnValue.split("|");

					var retStatus = returnValue[0];
					var retPrice  = returnValue[1];
					var retExpire = returnValue[2];

					switch (retStatus)
					{
						// 卡片可以使用
						case "valid":
						$$$("card_price").value = toFloat(retPrice,2);
						$$$("b_card_price").innerHTML = toFloat(retPrice,2);
						$$$("b_card_expiredatetime").innerHTML = retExpire;
						$$$("btn_pay_card").disabled = false;
						break;

						// 卡片不可用或不存在
						case "invalid":
						$$$("btn_pay_card").disabled = true;
						break;

						// 卡片已被使用
						case "isused":
						$$$("btn_pay_card").disabled = true;
						break;

						// 卡片过期
						case "isexpire":
						$$$("btn_pay_card").disabled = true;
						break;
					}
				}
			)
		}

		delete (ajax);
	}
}