$(document).ready(function() {
	$("#productSearch").on("input",
	function() {
		var str = $(this).val();
		$.ajax({
			type: "GET",
			url: "Searchproduct.php",
			dataType: "html",
			contentType: "application/json;charset=utf-8",
			data: {
				"str": str
			},
			timeout: 20000,
			success: function(e) {
				$("#productlist").show();
				$("#productlist ul").html(e);
			}
		});
	});

	$(".productlist li").live("click",
	function() {
		var id = $(this).data("id");
		var unit = $(this).data("unit");
		var productName = $(this).find(".name").html();
		
		// 检查该产品是否已存在
		var existingProduct = false;
		$("input[name='productId[]']").each(function() {
			if ($(this).val() == id) {
				existingProduct = true;
				return false; // 跳出循环
			}
		});
		
		if (existingProduct) {
			// 如果产品已存在,显示提示并阻止添加
			// 从HTML内容中提取纯文本产品名称(不包含分类标签)
			var tempDiv = document.createElement("div");
			tempDiv.innerHTML = productName;
			var plainProductName = tempDiv.textContent || tempDiv.innerText || "";
			plainProductName = plainProductName.split('[')[0].trim(); // 移除分类部分
			
			alert("产品「" + plainProductName + "」已添加,不能重复添加");
			$("#productlist").hide();
			$("#productSearch").val("");
			return false;
		}
		
		var n = "<div class='proname'>" + productName + "</div>";
		var pic = "<div class='propic'>" + $(this).find(".pic").html() + "</div>";
		var item = "<div class='proitem'><div class='prodelet'></div>" + n + pic + "<div class='proprice'><div class='priceitem'><input type='hidden' name='productId[]' value="+id+"><label>≥</label><input type='number' autocomplete='off' class='txt3 num' name='num[]'><label class='unit'>" + unit + "</label> <label>售价</label><input type='text' class='txt3 price' autocomplete='off' name='price[]'><label>RMB</label> <span class='additem'></span><span class='delitem'></span><span class='note'></span></div></div></div>";
		$(".prowapper").append(item);
		$("#productlist").hide();
		$("#productSearch").val("");
	})

	$(".prodelet").live("click",
	function() {
		$(this).parent().remove();
	})

	$(".priceitem .additem").live("click",
	function() {
		var priceitem = $(this).parent().clone();
		var i = $(this).parent().index();
		var lastnum = $(".priceitem").eq(i).find(".num").val();
		var lastprice = $(".priceitem").eq(i).find(".price").val();
		var productId = $(this).parent().find("input[name='productId[]']").val();
		
		if (lastnum == "" || lastprice == "") //未输入无法继续添加
		{
			return false
		} else {
			// Make sure cloned item has array notation for field names
			priceitem.find("input[name='productId[]']").val(productId);
			priceitem.find(".num").val("");
			priceitem.find(".price").val("");
			$(this).parent().after(priceitem);
		}
	})

	$(".priceitem .delitem").live("click",
	function() {
		var n = $(this).parent().siblings().length;
		if (n > 0) {
			priceitem = $(this).parent().remove();
		} else {
			return false
		}
	})

	$(".priceitem .price").live("blur",
	function() {
		var pprice; //Pre数量
		var cprice = $(this).val(); //当前数量
		
		// 找到当前价格所在的产品区域
		var currentProduct = $(this).closest('.proprice');
		// 在当前产品内找出所有价格项
		var priceItems = currentProduct.find('.priceitem');
		// 获取当前价格项在当前产品内的索引
		var currentIndex = $(this).closest('.priceitem').index();
		
		// 只有当不是第一个价格项时才需要验证
		if (currentIndex > 0) {
			// 获取同一产品内的上一个价格项的价格
			pprice = priceItems.eq(currentIndex - 1).find(".price").val();
			// 使用parseFloat进行数值比较而不是eval
			if (pprice && parseFloat(cprice) > parseFloat(pprice)) {
				$(this).parent().find(".note").html("当前售价不能高于上一项");
				$(this).select();
			}
			else {
				$(this).parent().find(".note").html("");
			}			
		}
	})

	$(".priceitem .num").live("blur",
	function() {
		var pnum; //Pre数量
		var cnum = $(this).val(); //当前数量
		
		// 找到当前数量所在的产品区域
		var currentProduct = $(this).closest('.proprice');
		// 在当前产品内找出所有价格项
		var priceItems = currentProduct.find('.priceitem');
		// 获取当前价格项在当前产品内的索引
		var currentIndex = $(this).closest('.priceitem').index();
		
		// 只有当不是第一个价格项时才需要验证
		if (currentIndex > 0) {
			// 获取同一产品内的上一个价格项的数量
			pnum = priceItems.eq(currentIndex - 1).find(".num").val();
			// 使用parseFloat进行数值比较而不是eval
			if (pnum && parseFloat(cnum) < parseFloat(pnum)) {
				$(this).parent().find(".note").html("当前数量不能小于上一项");
				$(this).select();
			}
			else {
				$(this).parent().find(".note").html("");
			}
		}
	})

});