
var language = new Array(6);
var pField = new Array(2);
var returnValue = 0;
var blSaleException = "SALE";

var bladdToCart_DollarLabel = "addToCart_Dollar_FullPrice";
var bladdToCart_PriceLabel  = "addToCart_Price_FullPrice";
var bladdToCart_CentsLabel  = "addToCart_Cents_FullPrice";
var bladdToCart_SaleLabel   = "addToCart_Label_Sale";

language[0] = _language["product-detail-text1"];
language[1] = _language["product-detail-text2"];
language[2] = _language["product-detail-text3"];
language[3] = _language["product-detail-text4"];
language[4] = _language["product-detail-text5"];
language[5] = _language["product-detail-text6"];
language[6] = _language["product-detail-text7"];

function doSelected(obj,form,flag)
{
	var _form = document.forms[form];
	var colorElement = _form.elements["color"];
	var sizeElement =  _form.elements["size"];

	if (flag == 0)
	{
		sizeElement.value = obj.value;

		for (var i=1;i<intSize+1;i++)
		{
			var sizeObj = document.getElementById("idxs" + i);

			if (i == obj.getAttribute("position"))
			{
				if (sizeObj.className == "selected")
				{
					sizeObj.className = "noselected";
					sizeElement.value = 0;
				}else{
					sizeObj.className = "selected";
				}
			}else{
				sizeObj.className = "noselected";
			}
		}
	}else{
		colorElement.value = obj.value;

		for (var i=1;i<intColor+1;i++)
		{
			var colorObj = document.getElementById("idxc" + i);

			if (i == obj.getAttribute("position"))
			{
				if (colorObj.className == "selected")
				{
					colorObj.className = "noselected";
					colorElement.value = 0;
				}else{
					colorObj.className = "selected";
				}
			}else{
				colorObj.className = "noselected";
			}
		}
	}

	doKey(obj)
}

function doKey(obj)
{
	return (_detail("frmDetail","count",obj,1));
}

function doKeyForButton(_flag,_num)
{
	var _obj = frmDetail.count;
	var _value = parseInt(_obj.value);

	if (_flag == 0)
	{
		_obj.value = _value + _num;
	}else{
		_obj.value = _value - _num;
	}

	doKey(_obj);
}

/**
 * 获取当前商品的扩展及价格库存资料
 * @params 表单名称
 * @params 统计字段
 * @params 当前控件
 * @parmas 是否使用对话框
 **/
function _detail(_form,_input,_this,_state)
{
	var _iframe = window.frm_detail;
	var _form   = document.forms[_form];

	var _interface = _form.elements["interface"].value;
	var _interface_images = "";

	var _count = _form.elements[_input];

	this._state = _state?1:_state;

	InitializeInterface(_iframe,_form,_interface);
	InitializeProductProperty(_iframe,_form);
	_detail_price("frmDetail");

	// <summary>
	// 判断输入的数量是否符合系统标准
	// </summary>
	if ((!isNumberString(_count.value)) || (_count.value == 0))
	{
		if (this._state == 0)
		{
			alert (language[0].replace(/<.*?>/g, ""));
		}else{
			setInnerHTML("desc",language[0]);
		}
		return (false);
	}else{
		/**
		 * 通过XMLHTTP获取当前商品数量。
		 * @params 商品ID
		 * @params 颜色ID
		 * @params 规格ID
		 */

		var xmlhttp;
		var isIE = false;
		var isErr = false;
		var url = "_detail_size_color_stock.asp?ProductId="+pField[0]+"&size="+pField[1]+"&color="+pField[2];
		var _btnaddbag = document.getElementById("btnaddbag");
		var _btnaddbag_default = "";

		/**
		 * 通过XMLHTTP获取当前商品数量。
		 * @params 商品ID
		 * @params 规格ID
		 * @params 颜色ID
		 */
		if (window.XMLHttpRequest)
		{
			url += "&ie=1";
			xmlhttp = new XMLHttpRequest();
			xmlhttp.open("GET",url,false)
			xmlhttp.send(null);
		}else if (window.ActiveXObject){
			isIE = true;
			url += "&ie=1";
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			xmlhttp.open("GET",url,false)
			xmlhttp.send();
		}

		var errInfo = "";

		if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
		{
			returnValue = parseInt(xmlhttp.responseText);
			isErr = false;

			if (_count.value > returnValue)
			{
				if (returnValue <= 0)
				{
					if (this._state == 0)
					{
						alert (language[1].replace(/<.*?>/g, ""));
					}else{
						errInfo = language[5].replace("{0}",returnValue);
						setInnerHTML("descTotal",errInfo);
						setInnerHTML("desc",language[1]);

						_btnaddbag.src = _interface_images + "_off.gif";
						_btnaddbag_default = "btn_add_to_bag_off.gif";

						try
						{
							_btnaddbag.onerror = loadImages();
						}catch (e){
							_btnaddbag.src = _images + _btnaddbag_default;
						}
						_btnaddbag.style.disabled = true;
					}
				}else{
					if (this._state == 0)
					{
						alert ((language[2] + returnValue).replace(/<.*?>/g, ""));
					}else{
						setInnerHTML("desc",language[2] + returnValue);
					}
				}

				_count.value = IIf(returnValue == 0,1,returnValue);
				return (false);
			}else{
				errInfo = language[4].replace("{0}",_count.value);

				if (this._state == 0)
				{
					alert (errInfo.replace(/<.*?>/g, ""));
				}else{
					setInnerHTML("desc",errInfo);
				}

				_btnaddbag.src = _interface_images + ".gif";
				_btnaddbag_default = "btn_add_to_bag.gif";

				try
				{
					_btnaddbag.onerror = loadImages();
				}catch (e){
					_btnaddbag.src = _images + _btnaddbag_default;
				}

				_btnaddbag.style.disabled = false;
			}
			
			errInfo = language[5].replace("{0}",returnValue);
			setInnerHTML("descTotal",errInfo);

			_form.elements["max"].value = returnValue;
		}else{
			isErr = true;
		}
		
		if (isErr)
		{
			alert (language[3].replace(/<.*?>/g, ""));
			return (false);
		}

		function loadImages()
		{
			_btnaddbag.src = _images + _btnaddbag_default;
		}
	}
}

function InitializeInterface(_iframe,_form,_interface)
{
	var url = "";
	var display = "none";

	if (_interface.length > 0)
	{
		if (_interface == "review")
		{
			if ((_iframe.location == "about:blank") || (_iframe.location == ""))
			{
				url = "review.asp";
				display = "block";
			}
		}else{
			url = "asp-bin/modules/"+_interface;
			_interface_images = url+"/images/btn_add_to_bag";
			display = "none";
		}

		_iframe.location = url + "?id=" + _form.elements["Id"].value;
		document.getElementById("div_detail").style.display = display;
	}else{
		_interface_images = _images + "btn_add_to_bag";
	}

}

function InitializeProductProperty(_iframe,_form)
{
	var sizeElement =  _form.elements["size"];
	var colorElement = _form.elements["color"];
	
	/**
	 * 商品ID
	 */
	try
	{
		pField[0] = _form.elements["Id"].value;
	}
	catch (e){pField[0] = 0;}
	
	/**
	 * 规格ID
	 */
	try
	{
		pField[1] = sizeElement.options[sizeElement.selectedIndex].value;
	}
	catch (e){pField[1] = sizeElement.value;}
	
	/**
	 * 颜色ID
	 */
	try
	{
		pField[2] = colorElement.options[colorElement.selectedIndex].value;
	}
	catch (e){pField[2] = colorElement.value;}

	/**
	 * 根据参数重置商品图片
	 **/
	setChoosePicture("imgcolour","ArrayPictureColour",pField[1],pField[2]);
	setChoosePicture("imgsmall","ArrayPictureSmall",pField[1],pField[2]);
	setChoosePicture("imgmiddle","ArrayPictureMiddle",pField[1],pField[2]);
	setChoosePicture("imglarge","ArrayPictureBig",pField[1],pField[2]);
}

/**
 * 根据用户组的折扣率计算出商品的价格
 * @params 表单
 **/
function _detail_price(_form)
{
	var _form  = document.forms[_form];
	var _original = _form.OriginalPrice.value;
	var _price = _form.CurrentPrice.value;
	var _special = _form.SpecialPrice.value;
	
	var _interface = _form.elements["interface"].value;

	var _saleprice;
	var _arryprice;
	
	setDivDisplay("divOriginal","none");
	setDivDisplay("divCurrent","none");

	var url = "_detail_price.asp?interface=" + _interface + "&productId="+pField[0]+"&size="+pField[1]+"&color="+pField[2];

	if (window.XMLHttpRequest)
	{
		url += "&ie=0";
		xmlhttp = new XMLHttpRequest();
		xmlhttp.open("GET",url,false)
		xmlhttp.send(null);
	}else if (window.ActiveXObject){
		isIE = true;
		url += "&ie=1";
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.open("GET",url,false)
		xmlhttp.send();
	}

	if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
	{
		var responseText = xmlhttp.responseText.split("|");

		_saleprice = responseText[0];
		_arryprice = _saleprice.split(".");

		_form.OriginalPrice.value = responseText[3];

		if ((responseText[1] == 1) || (responseText[2] == 1))
		{
			_form.CurrentPrice.value = responseText[4];
			_form.SpecialPrice.value = _saleprice;
		}else{
			_form.CurrentPrice.value = _saleprice;
			_form.SpecialPrice.value = 0;
		}
		
		_original = _form.OriginalPrice.value;
		_price = _form.CurrentPrice.value;
		_special = _form.SpecialPrice.value;
	}

	try
	{
		var isPSale = new Array(1);

		setInnerHTML("addToCart_PriceLabel",formatCurrency(_arryprice[0]));
		setInnerHTML("addToCart_CentsLabel","." + (typeof(_arryprice[1])=="undefined"?"00":_arryprice[1]));
		
		if (_price != _original)
		{
			setDivDisplay("divOriginal","block");
		}

		if (_special == 0)
		{
			if (getInnerHTML("addToCart_SaleLabel").length != 0)
			{
				blSaleException = getInnerHTML("addToCart_SaleLabel");
			}

			setInnerHTML("addToCart_SaleLabel","");
			isPSale[0] = "Sale";
			isPSale[1] = "FullPrice";
		}else{
			setInnerHTML("addToCart_SaleLabel",blSaleException);
			isPSale[0] = "FullPrice";
			isPSale[1] = "Sale";
		}
		
		setDivClassName("addToCart_DollarLabel",getDivClassName("addToCart_DollarLabel").replace(isPSale[0],isPSale[1]));
		setDivClassName("addToCart_PriceLabel",getDivClassName("addToCart_PriceLabel").replace(isPSale[0],isPSale[1]));
		setDivClassName("addToCart_CentsLabel",getDivClassName("addToCart_CentsLabel").replace(isPSale[0],isPSale[1]));
		setDivClassName("addToCart_SaleLabel",getDivClassName("addToCart_SaleLabel").replace(isPSale[0],isPSale[1]));
		
		if (_saleprice > 0)
		{
			setDivDisplay("divCurrent","block");
		}

		try{
			var isbuyprice = (_original==0?_saleprice:_original) - _saleprice;
			
			if (isbuyprice > 0)
			{
				setInnerHTML("addToCart_SaveLabel",Math.round(isbuyprice/(_original==0?_saleprice:_original) * 100) + "% ");
				setInnerHTML("addToCart_DollarSavedLabel",parseFloat(isbuyprice).toFixed(2));
				setInnerHTML("addToCart_StrikeLabel",parseFloat(_original).toFixed(2));
			}
		}catch (exception){;}

		setInnerHTML("addToCart_RetailLabel",parseFloat(_saleprice).toFixed(2));
	}catch (exception){;}
}

/**
 * 判断是否为整型
 * @params 判断参数
 **/
function isNumberString(_value)
{
	var re=/^[0-9]+$/i;

	if(re.test(_value))
	{
		return true;
	}else{
		return false;
	}
}

function AppendZero(blValue)
{
	if (typeof(blValue) == "undefined")
	{
		blValue = "00";
	}else{
		if (blValue.length == 1)
		{
			blValue = blValue + "0";
		}else{
			blValue = blValue;
		}
	}

	return (blValue);
}

/**
 * 初始化商品信息页
 * @params FORM 表单
 **/
function _onloadInitiazlie(_form)
{
	var form = document.forms[_form];

	try{
		doSelected(document.getElementById("idxs1"),'frmDetail',0);
	}catch(e){;}

	try{
		doSelected(document.getElementById("idxc1"),'frmDetail',1);
	}catch(e){;}

	try{
		var sizeElement = form.elements["size"];
		var colorElement = form.elements["color"];

		if (typeof(request("sid")) != "undefined")
		{
			for (var i=0;i<=sizeElement.options.length;i++)
			{
				var element = sizeElement.options[i];
				if (element.value == request("sid"))
				{
					element.selected = true;
					break;
				}
			}
		}

		if (typeof(request("cid")) != "undefined")
		{
			for (var i=0;i<=colorElement.options.length;i++)
			{
				var element = sizeElement.options[i];
				if (element.value == request("cid"))
				{
					element.selected = true;
					break;
				}
			}
		}
	}catch(e){;}
}

/**
 * 设置当前规则和颜色定义的图片资料
 * @params 图片对象
 * @params 命名接口规则
 * @params 规格ID
 * @params 颜色ID
 **/
function setChoosePicture(Key,Namespace,SizeId,ColorId)
{
	try{
		var _def = eval(Namespace + "[0][0]");
		var _src = "";
		
		try{
			var _now = eval(Namespace + "["+ColorId+"]["+SizeId+"]");

			if ((_now != 0) && (typeof(_now) != "undefined"))
			{
				_src = _now;
			}else{
				_src = _def;
			}
			document.getElementById(Key).src = _src;
		}catch(e){
			try
			{
				document.getElementById(Key).src = _def;
			}
			catch (e){;}
		}
	}catch(exception){;}
}

/**
 * 设置HTML信息元素
 * @params HTML对象
 * @params HTML输出信息
 **/
function setInnerHTML(Key,Value)
{
	try{
		document.getElementById(Key).innerHTML = Value;
	}catch(e){;}
}

function getInnerHTML(divId,blDisplay)
{
	try{
		return (document.getElementById(divId).innerHTML);
	}catch(e){;}
}

function setDivDisplay(divId,blDisplay)
{
	try{
		document.getElementById(divId).style.display = blDisplay;
	}catch(e){;}
}

function getDivClassName(divId)
{
	try{
		var blDivClassName = document.getElementById(divId).className;

		if (blDivClassName.length == 0)
		{
			blDivClassName = eval("bl" + divId);
		}

		return (blDivClassName);
	}catch(e){;}
}

function setDivClassName(divId,strClassName)
{
	try{
		document.getElementById(divId).className = strClassName;
	}catch(e){;}
}