﻿// JavaScript Document
function addItem(item_no){
	// check existing cookie //
	var items = getCookie("items");
	//alert("items="+items);
	
	// no reference cookie, create new cookie //
	if (items==null||items.length==0){
		setCookie("items",item_no+"_1",1);
		document.location.href = "my_basket.jsp?sdn="+item_no;
		return;
	}

	// check whether zero price item //
	if (item_no.indexOf("70801")!=-1){
		if (items.indexOf("70801")!=-1){
			alert("体验款只限一双!");
			return;
		}
	}

	// add to existing cookie //
	if (items.indexOf(item_no+"_")==-1){
		items += ","+item_no+"_1";
		setCookie("items",items,1);
	}

	document.location.href = "my_basket.jsp?sdn="+item_no;
}
function updateItemQty(item_no,order_qty){
	// parse cookie //
	var items = getCookie("items");
	if (items==null||items.length==0) return;
	var item = items.split(",");
	for (var i=0;i<item.length;i++){
		var orderItem = item[i].split("_");
		var orderItem_no = orderItem[0];
		if (orderItem_no==item_no){
			item[i] = orderItem_no+"_"+order_qty;
			break;
		}
	}
	items = item.join(",");
	setCookie("items",items,1);
}
function getItemIndex(item_no){
	for (var i=0;i<itemCount;i++){
		var objItem = getObject("item"+i);
		if (objItem==null) continue;
		if (objItem.value==item_no){
			return i;
		}
	}
	return -1;
}
function setItemQty(item_no,order_qty){
	var itemIndex = getItemIndex(item_no);
	if (itemIndex==-1) return;

	var objQty = getObject("qty"+itemIndex);
	if (objQty==null) return;

	objQty.value = order_qty;
	updateRowAmount(itemIndex);
}
function removeItem(item_no){
	// parse cookie //
	var items = getCookie("items");
	if (items==null||items.length==0) return;
	var item = items.split(",");
	for (var i=0;i<item.length;i++){
		var orderItem = item[i].split("_");
		var orderItem_no = orderItem[0];
		if (orderItem_no==item_no){
			item.splice(i,1);
			//item[i] = "";
			break;
		}
	}
	items = item.join(",");
	setCookie("items",items,1);
}
function removeRow(rowId){
	// check item exists //
	var item = getObject("item"+rowId);
	if (item==null) return;
	
	// item no //
	var item_no = item.value;

	// confirm deletion //
	if (confirm("删除 "+item_no+"?")!=true) return;

	// update cookie //
	var objItem = getObject("item"+rowId);
	if (objItem!=null){
		var item_no = objItem.value;
		removeItem(item_no);
	}	

	// update UI //
	var row = getObject("row"+rowId);
	if (row==null) return;
	setObjectValue(row,"");
	row.style.display = "none";

	updateSummary();
}
function updateRow(rowId){
	var objItem = getObject("item"+rowId);
	var objPrice = getObject("price"+rowId);
	var objQty = getObject("qty"+rowId);
	if (objItem==null||objPrice==null||objQty==null) return;
	var item_no = objItem.value;
	var price = parseInt(objPrice.innerHTML);
	var qty = parseInt(objQty.value,10);

	// fix input //
	if (!(qty>0)){
		qty = 0;
		//setItemQty(item_no,0);
	}

	// force qty to 1 for price=0 //
	if (price==0)
		qty = 1;

	// set qty for fixing input //
	setItemQty(item_no,qty);

	var amt = price*qty;
	setObjectValueById("amt"+rowId,amt);
	updateItemQty(item_no,qty);
	updateSummary();
	
}
function updateRowAmount(rowId){
	var objPrice = getObject("price"+rowId);
	var objQty = getObject("qty"+rowId);
	if (objPrice==null||objQty==null) return;
	var price = parseInt(objPrice.innerHTML);
	var qty = parseInt(objQty.value);
	var amt = price*qty;
	setObjectValueById("amt"+rowId,amt);
}
function updateSummary(){
	var ttlQty = 0;
	var ttlCountedQty = 0;
	var ttlAmt = 0;
	var serial = 0;
	var discount = 0;
	var zeroPriceItemCount = 0;
	for (var i=0;i<itemCount;i++){
		var objQty = getObject("qty"+i);
		var objAmt = getObject("amt"+i);
		var objCat = getObject("cat"+i);
		if (objQty==null||objAmt==null) continue;
		ttlQty += parseInt(objQty.value);
		ttlAmt += parseInt(objAmt.innerHTML);
		if (parseInt(objAmt.innerHTML)==0) zeroPriceItemCount++;
		if (objCat.value!="8189") ttlCountedQty += parseInt(objQty.value);

		// update serial //
		var objSerial = getObject("serial"+i);
		if (objSerial==null) continue;
		setObjectValue(objSerial,++serial);
	}

	// order sub-total //
	setObjectValueById("subTtlQty",ttlQty);
	setObjectValueById("subTtlAmt",ttlAmt);

	// discount //
	if (ttlCountedQty>=5){
		discount = Math.round(ttlAmt*-0.2,0);
	}

	setObjectValueById("discount",discount);
	if (discount!=0) getObject("discountPanel").style.display="block";
	else getObject("discountPanel").style.display="none";

	// discount hints //
	if (discount!=0) getObject("hints_discount").style.display="none";
	else getObject("hints_discount").style.display="block";

	// order total //
	setObjectValueById("ttlQty",ttlQty);
	setObjectValueById("ttlAmt",ttlAmt+discount);

	// delivery advantage //
	if (ttlAmt+discount>=99){
		getObject("free_delivery_yes").style.display="block";
		getObject("free_delivery_no").style.display="none";
	}else{
		getObject("free_delivery_yes").style.display="none";
		getObject("free_delivery_no").style.display="block";
	}

	// zero-value or has zero price item order //
	if (((ttlQty>0&&ttlAmt==0)||zeroPriceItemCount>0)&&getObject&&getObject("payment2Panel")!=null){
		document.checkOutForm.payment[0].checked=true;
		getObject("payment2Panel").style.display="none";
	}else{
		getObject("payment2Panel").style.display="block";
	}
}