//该数组记录用户操作过的附加产品的行号.
	var rowNumArray = new Array();
	//不允许加入重复元素
	function addRowNum(num){
		for(i=0;i<rowNumArray.length;i++){
			if(rowNumArray[i] == num){
				return;
			}
		}
		rowNumArray[rowNumArray.length] = num;
	}
	
	function processTotalMoney(totalAdd,totalRemove){
		var totalObj = document.getElementById('totalMoney');
		var total = totalObj.innerHTML;
		
		var tempPrice = parseFloat(total) + totalAdd;
		tempPrice = tempPrice - totalRemove ;
		
		totalObj.innerHTML = tempPrice.toFixed(1);
	}
	
	function addOrSubtractQty(id,flag){
		var priceUL = document.getElementById('priceID' + id);
		var priceLIs = priceUL.getElementsByTagName('li');
		var numberInput = priceLIs[5].getElementsByTagName('input');
		
		if(flag){
			numberInput[0].value++;
		}else{
			if(numberInput[0].value > 0){
				numberInput[0].value--;
			}
		}
		
		totalMoney(id);
	}
	
	function totalMoney(priceID){
		var priceUL = document.getElementById('priceID' + priceID);
		var priceLIs = priceUL.getElementsByTagName('li');
		var numberInput = priceLIs[5].getElementsByTagName('input');
		var number = numberInput[0].value;
		
		if(!checkIsNotEmpty(number)){
			number = 0;
		}
		
		//判断number是否为数字
		if(!isNotNegativeInteger(number)){
			window.alert('请输入正整数类型的数量!');
			return;
		}
		
		var money = priceLIs[4].innerHTML;
		var totalAdd = money * parseInt(number);
		var totalChildObj = priceLIs[7];
		
		var totalRemove = totalChildObj.innerHTML;
		totalChildObj.innerHTML = totalAdd.toFixed(1);
		
		processTotalMoney(totalAdd,totalRemove);
	}
	
	function countMoney(obj){
		var number = obj.options[obj.selectedIndex].text;
		var money = obj.parentNode.parentNode.lastChild.firstChild.value;
		var totalAdd = money * number;
		var totalChildObj = obj.parentNode.parentNode.lastChild.lastChild;
		var totalRemove = totalChildObj.innerHTML;
		
		if(totalRemove || totalRemove==''){
			totalRemove = 0;
		}
		totalChildObj.innerHTML = totalAdd.toFixed(1);
		processTotalMoney(totalAdd,totalRemove);
	}
	
	//添加行号
	function insertRowNum(obj){
		countMoney(obj);
	
		var temp = obj.parentNode.firstChild;
    	var rowno = temp.value;
    	
    	//判断用户选择select标签值是否为0
		if(obj.options[obj.selectedIndex].text == '0'){
			for(i=0;i<rowNumArray.length;i++){
				//如果用户选择0,刚遍历数组删除其行数
				if(rowNumArray[i] == rowno){
					rowNumArray.splice(i,1);
					return;
				}
			}
		}
		
		addRowNum(rowno);
	}
	
	// 生成主产品参数的标签,传给购物车表单提交
	function generateProductTld(){
		var tldResult = '';
		var productID = document.getElementById('entityId').value;
		tldResult += '<input name="product.id" type="hidden" value="' + productID + '" />';
		
		var priceLength = parseInt(document.getElementById('priceTypeLength').value) + 1;
		
		var productPriceID = '';
		var productStartObj;
		var productStartValue = '';
		var productEndObj;
		var productEndValue = '';
		var productQty = '';
		for(var i = 0; i < priceLength; i++){
			productPriceID = document.getElementById('params.priceTypeId' + i).value;
			tldResult += '<input name="params.priceTypeId' + i + '" type="hidden" value="' + productPriceID + '" />';
			
			productStartObj = document.getElementById('params.useDateStart' + i);
			if(productStartObj){
				productStartValue = productStartObj.value;
				tldResult += '<input name="params.useDateStart' + i + '" type="hidden" value="' + productStartValue + '" />';
			}
			
			productEndObj = document.getElementById('params.useDateEnd' + i);
			if(productEndObj){
				productEndValue = productEndObj.value;
				tldResult += '<input name="params.useDateEnd' + i + '" type="hidden" value="' + productEndValue + '" />';
			}
			
			productQty = document.getElementById('params.qty' + i).value;
			tldResult += '<input name="params.qty' + i + '" type="hidden" value="' + productQty + '" />';
		}
		
		return tldResult;
	}
	
	// 记录赠送产品价格类型的个数.用于数据验证.
	var giftProductLength = 0;
	
	// 生成赠送产品参数标签,传给购物车表单提交
	function generateGiftTld(){
		var tldResult = '';
		
		var giftID = '';
		var giftStartObj;
		var giftStartValue = '';
		var giftEndObj;
		var giftEndValue = '';
		for(var i = 0; i < giftProductLength; i++){
			giftID = document.getElementById('params.giftPriceTypeId' + i).value;
			tldResult += '<input type="hidden" name="params.giftPriceTypeId' + i + '" value="' + giftID + '" />';
			
			giftStartObj = document.getElementById('params.giftUseDateStart' + i);
			if(giftStartObj){
				giftStartValue = giftStartObj.value;
				tldResult += '<input type="hidden" name="params.giftUseDateStart' + i + '" value="' + giftStartValue + '" />';
			}
			
			giftEndObj = document.getElementById('params.giftUseDateEnd' + i);
			if(giftEndObj){
				giftEndValue = giftEndObj.value;
				tldResult += '<input type="hidden" name="params.giftUseDateEnd' + i + '" value="' + giftEndValue + '" />';
			}
		}
		
		return tldResult;
	}
	
	// 生成附加产品标签
	function generateRTTld(){
		var tldResult = '';
		
		var rtId = '';
		var rtStartObj;
		var rtStartValue = '';
		var rtEndObj;
		var rtEndValue = '';
		var rtQryObj;
		var rtQry = '';
		var qryNumber = 0;
		for(var i = 0; i < rowNumArray.length; i++){
			rtId = document.getElementById('params.rtPriceTypeId' + rowNumArray[i]).value;
			tldResult += '<input type="hidden" name="params.rtPriceTypeId' + rowNumArray[i] + '" value="' + rtId + '" />';
			
			rtStartObj = document.getElementById('params.rtUseStartEnd' + rowNumArray[i]);
			if(rtStartObj){
				rtStartValue = rtStartObj.value;
				tldResult += '<input type="hidden" name="params.rtUseStartEnd' + rowNumArray[i] + '" value="' + rtStartValue + '" />';
			}
			
			rtEndObj = document.getElementById('params.rtUseDateEnd' + rowNumArray[i]);
			if(rtEndObj){
				rtEndValue = rtEndObj.value;
				tldResult += '<input type="hidden" name="params.rtUseDateEnd' + rowNumArray[i] + '" value="' + rtEndValue + '" />';
			}
			
			rtQryObj = document.getElementById('params.rtQty' + rowNumArray[i]);
			qryNumber = rtQryObj.selectedIndex;
			rtQry = rtQryObj.options[qryNumber].text;
			tldResult += '<input type="hidden" name="params.rtQty' + rowNumArray[i] + '" value="' + rtQry + '" />';
		}
		
		return tldResult;
	}
	
	// 生成rowsNumList
	function generateRTRowsNum(){
		var tldResult = '';
		for(i=0;i<rowNumArray.length;i++){
			tldResult += '<input type="hidden" name="rowsNumList['+i+']" value="'+rowNumArray[i]+'" />';
		}
		
		return tldResult;
	}
	
	//表单提交前,解析数组,生成标签,用于给后台数组赋值.
	function generateTld(member){
		var tldResult = generateRTRowsNum();
		
		if(member == ''){
			var url = 'shoppingPageAction_payOrder.action?operate=pay';
			tldResult += '<input type="hidden" name="url" value="'+url+'" />';
		}
		$('#rowsArray').html(tldResult);
		
		return true;
	}

	// 验证赠送产品价格类型的数据
	function validateGiftProduct(){
		for(var i = 0; i < giftProductLength; i++){
			var value = document.getElementById('params.giftUseDateEnd' + i).value;
			if(!checkIsNotEmpty(value)){
				window.alert('请输入赠送产品的使用日期!');
				
				return false;
			}
		}
		
		return true;
	}
	
	function giftProductCallbackFun(data){
		giftProductLength = data.entitysAjax.length;
		if(giftProductLength == 0){
			return;
		}
	
		var result = '';		
		$.each(data.entitysAjax, function(index, obj){
			result += '<ul class="gift">';
			result += '<li class="s21_01">';
			result += '<input id="params.giftPriceTypeId'+index+'" type="hidden" value="'+obj[0].id+'" name="params.giftPriceTypeId'+index+'" />';
			result += '<a href="#" onclick="window.open(\'productDetailsPageAction_showProduct.action?entity.id=' + obj[0].product.id + '\');">';
			result += obj[0].name;
			result += '</a>';
			result += '</li>';
			result += '<li class="s21_02"> '+obj[0].endDate.substring(0,10)+'前</li>';
			if(obj[0].useflag == 1){
				//不指定使用日期
				result += '<li class="s21_03"><input id="params.giftUseDateEnd'+index+'" type="hidden" name="params.giftUseDateEnd'+index+'" value="'+obj[0].endDate.substring(0,10)+'" />'+obj[0].endDate.substring(0,10)+'前</li>';
			}else if(obj[0].useflag == 2){
				//指定使用日期时间点
				result += '<li class="s21_03"><input id="params.giftUseDateEnd'+index+'" onclick="setday(this)" readonly="readonly" size="6" type="text" name="params.giftUseDateEnd'+index+'"/></li>';
			}else if(obj[0].useflag == 3){
				//指定使用日期时间段
				result += '<li class="s21_03"><input onclick="setday(this)" readonly="readonly" size="6" type="text" name="params.giftUseDateStart'+index+'"/>';
				result += '&nbsp;To&nbsp;<input id="params.giftUseDateEnd'+index+'" onclick="setday(this)" readonly="readonly" size="6" type="text" name="params.giftUseDateEnd'+index+'"/></li>';
			}
			result += '<li class="s21_04">'+obj[0].sellPrice+'</li>';
			result += '<li class="s21_05">'+obj[0].memberPrice+'</li>';
			//最小份数
			//result += '<li>'+obj[1]+'</li>';
			//最大份数
			result += '<li class="s21_06">'+obj[2]+'</li>';
			result += '</ul>';
		});
		$('#giftProduct').html(result);
		
		$('#giftAll').show();
	}
	
	var firstFlag = false;
	var difference = 0;
	function rtProductCallbackFun(data){
		if(data.entitysAjax.length == 0){
			return;
		}
		
		var result = '';
		$.each(data.entitysAjax, function(index, obj){
			var price = obj[0];
			result += '<ul class="gift">';
			result += '<li class="s2_01"><input id="params.rtPriceTypeId'+(index+difference)+'" type="hidden" name="params.rtPriceTypeId'+(index+difference)+'" value="'+price.id+'" />' ;
			
			//result += '<a href="#" onclick="window.open(\'productDetailsPageAction_showProduct.action?entity.id=' + price.product.id + '\');">'+price.product.name+'['+  price.name+']</a></li>'
			result += '<a href="#" onclick="window.open(\'productDetailsPageAction_showProduct.action?entity.id=' + price.product.id + '\');">'+  price.name+'</a></li>'
			result += '<li class="s2_02">'+price.endDate.substring(0,10)+'前</li>';
			if(price.useflag == 0){
				result += '<li class="s2_03">'+price.endDate.substring(0,10)+'</li>';
			}else if(price.useflag == 1){
				result += '<li class="s2_03"><input id="params.rtUseDateEnd'+(index+difference)+'" type="text" name="params.rtUseDateEnd'+(index+difference)+'" onclick="setday(this)" readonly="readonly" size="6" /></li>';
			}else if(price.useflag == 2){
				result += '<li class="s2_03"><input id="params.rtUseStartEnd'+(index+difference)+'" type="text" name="params.rtUseStartEnd'+(index+difference)+'" onclick="setday(this)" readonly="readonly" size="6" />&nbsp;To&nbsp;';
				result += '<input id="params.rtUseDateEnd'+(index+difference)+'" type="text" name="params.rtUseDateEnd'+(index+difference)+'" onclick="setday(this)" readonly="readonly" size="6" /></li>';
			}else{
				result += '<li class="s2_03"></li>';
			}
			//result += '<li class="s2_04">'+obj[3]+'</li>';
			
			result += '<li class="s2_04">'+price.sellPrice+'</li>';
			
			//会员价
			var memberPrice = price.memberPrice;
			//减免价
			var money = memberPrice - obj[3];
			result += '<li class="s2_05">' + money + '(<label class="orgp">' + memberPrice + '</label>)</li>';
			result += '<li class="s2_06"><input type="hidden" value="'+(index+difference)+'" />';
			result += '<select id="params.rtQty'+(index+difference)+'" name="params.rtQty'+(index+difference)+'" onchange="insertRowNum(this);">';
			var lowerQty = parseInt(obj[1]);//此字段标明最大份数
			var upperQty = parseInt(obj[2]);//不需要最大最小份数控制，默认最小就是0
			for(i=0;i<=upperQty;i++){
				result += '<option>'+i+'</option>';
			}
			result += '</select></li>';
			result += '<li class="s2_07">'+price.ticketStatus.name+'</li>';
			result += '<li class="s2_08"><input type="hidden" value="'+money+'" /><label></label></li>';
			result += '</ul>';
		});
		if(!firstFlag){
			$('#rtProductTable').html(result);
			difference = 2;
			firstFlag = true;
		}else{
			$('#addRtProduct').html(result);
		}
		
		$('#rtAll').show();
	}
	
	var flag = false;
	function showAllRtProduct(){
		if(!flag){
			jQuery.post('productDetailsPageAjax_showAllRtProduct.action',{id:$('#entityId').val()},rtProductCallbackFun,'json');
			flag = true;
		}else{
			$('#addRtProduct').html('');
			flag = false;
		}
		
		return false;
	}
	
	function validateProduct(){
		var num = 0;
		var priceLength = parseInt(document.getElementById('priceTypeLength').value) + 1;
		for(var i = 0; i < priceLength; i++){
			var productQry = document.getElementById('params.qty' + i).value;
			if(checkIsNotEmpty(productQry) && parseInt(productQry) != 0){
				var useDateEnd = document.getElementById('params.useDateEnd' + i);
				if(useDateEnd){
					var useDateEndValue = useDateEnd.value;
					if(!checkIsNotEmpty(useDateEndValue)){
						window.alert('请输入购买主产品的使用日期!');
						return false;
					}
				}
				num++;
			}
		}
		if(num > 0){
			return true;
		}else{
			window.alert('请至少购买一项主产品!');
		}
		
		return false;
	}
	
	// 验证附加产品价格类型的数据
	function validatertProduct(){
		for(var i = 0; i < rowNumArray.length; i++){
			var value = document.getElementById('params.rtUseDateEnd' + rowNumArray[i]).value;
			if(!checkIsNotEmpty(value)){
				window.alert('请输入附加产品的使用日期!');
				
				return false;
			}
		}
		
		return true;
	}
	
	function submitForm(memberCd){
		if(!validateProduct()){
			return false;
		}
		
		if(!validateGiftProduct()){
			return false;
		}
		
		if(!validatertProduct()){
			return false;
		}
		
		showWait();
		
		generateTld(memberCd);
		document.getElementById('myform').submit();
		
		return false;
	}
	
	function showShoppingCar(){
		if(!validateProduct()){
			return;
		}
	
		if(!validateGiftProduct()){
			return;
		}
		
		showWait();
		shoppingCarIframe.paramsDiv.innerHTML = generateProductTld() + generateRTRowsNum() + generateGiftTld() + generateRTTld();
		shoppingCarIframe.shoppingForm.submit();
		hideWait();
		d_x();
	}
	
	function closeShoppingCar(){
		document.getElementById('myform').reset();
		rowNumArray = new Array();
		d_y();
	}