/**
 * 购物车js 添加、删除、修改、分页构建、跳转页面数据构建
 * 
 * 
 */

/**
 * 添加购物车
 * 
 * 
 * 
 * @param {}
 *            basePrice 价格
 * @param {}
 *            wareNumber 商品编号
 * @param {}
 *            objId 控件编号
 * @param {}
 *            index 页码
 */
function addCart(basePrice, wareNumber, objId) {
	
	if (memberId == null || memberId == '') {
		alert('请登陆')
		return
	}
	
	var amount=null
	// pageIndex.setSize(index)
	if (vailInteger(objId)) {//商品详情页面
		
		
		amount=objId
	} else {//渠道页面
		 amount = document.getElementById(objId).value;
		var sucess = vailInteger(amount);
		if (amount > 2100 || amount < 1 || sucess == false) {
			alert('请输入正确的购买数量')
			 document.getElementById(objId).value = 1
			 document.getElementById(objId).focus()
			return
		}
	}
	if(arguments.length>3)
	{
		if(arguments[3]<amount)  
		{
			alert("对不起！您购买的商品数量大于库存数量！")
			 document.getElementById(objId).value = 1
			 document.getElementById(objId).focus()
			return
		}
	}
	sendXMLHttpReques(getContextPath()
					+ '/saigoo/trade/struts/AddCart.do?wareNumber='
					+ wareNumber + '&amount=' + amount + "&z=" + new Date(),
			new addCartCallBack())

}

function isTrue(basePrice, wareNumber, objId) {
	if (window.confirm('该商品库存数量可能不足，您是否继续购买？')) {
		if (memberId == null || memberId == '') {
			alert('请登陆')
			return
		}

		// pageIndex.setSize(index)
		var amount =  document.getElementById(objId).value;
		var sucess = vailInteger(amount);
		if (amount > 100 || amount < 1 || sucess == false) {
			alert('请输入正确的购买数量')
			 document.getElementById(objId).value = 1
			 document.getElementById(objId).focus()
			return
		}
		sendXMLHttpReques(
				getContextPath()
						+ '/saigoo/trade/struts/AddCart.do?wareNumber='
						+ wareNumber + '&amount=' + amount + "&z=" + new Date(),
				new addCartCallBack())

	}
}
/**
 * 添加购物车回调函数
 * 
 * 
 */
function addCartCallBack() {
	this.execute = function() {
	message=req.responseText;
	 if(message == 9)
	 {
	  alert("库存不足");
	  return ;
	 }
		var wareInfo = req.responseXML.getElementsByTagName('wareInfo');
		var wareId = wareInfo[0].getElementsByTagName("wareId")[0].firstChild.data;
		var wi =  document.getElementById(wareId)
		if (wi == undefined || wi == null) {

			if (getNowSize() - getPageSize() == 0) {

				 document.getElementById('cartWare')
						.removeChild(document.getElementById('cartWare')
								.getElementsByTagName('ul')[document
								.getElementById('cartWare')
								.getElementsByTagName('ul').length
								- 1])
			}
		}
		createControlForAdd(wareInfo, '1');
		buildPagination(pageIndex.getSize());

	}
}

/**
 * 创建添加商品的控件
 * 
 * 
 * 
 * @param {}
 *            wareInfo 商品信息
 * @param {}
 *            wareSum 商品总价
 * @param {}
 *            wareId 商品编号
 * 
 * @param {}
 *            type 1：添加 2：补齐
 * 
 * 
 */
// function createControlForAdd(wareInfo, type) {
// var wareId = wareInfo[0].getElementsByTagName("wareId")[0].firstChild.data;
// var wareName =
// wareInfo[0].getElementsByTagName("wareName")[0].firstChild.data;
// var price = wareInfo[0].getElementsByTagName("price")[0].firstChild.data;
// var amount = wareInfo[0].getElementsByTagName("amount")[0].firstChild.data;
// var wareSum = wareInfo[0].getElementsByTagName("wareSum")[0].firstChild.data;
//
// modifyForWareSum(wareSum)
// var child = document.createElement('ul');
// child.setAttribute('id', wareId);
// var l1 = document.createElement('li');
// var l1text = document.createTextNode(wareName);
// l1.appendChild(l1text);
// child.appendChild(l1);
// var l2 = document.createElement('li');
// l2.setAttribute('id', wareId + 'Price')
// var l2text = document.createTextNode('￥' + price);
// l2.appendChild(l2text);
// child.appendChild(l2);
// var l3 = document.createElement('li');
// var a1 = document.createElement('a');
// var img1 = document.createElement('image');
// img1.setAttribute('src', getContextPath() + '/saigoo/images/z_rash.gif');
// img1.setAttribute('align', 'absbottom');
// img1.setAttribute('onclick', 'delWare(' + wareId + ')');
// a1.appendChild(img1);
// l3.appendChild(a1);
// var sp1 = document.createElement('span');
// var sp1text = document.createTextNode('&nbsp;&nbsp; &nbsp; 数量');
// sp1.appendChild(sp1text);
// l3.appendChild(sp1);
// var in1 = document.createElement('input');
// in1.setAttribute('id', 'amounts' + wareId);
// in1.setAttribute('type', 'text');
// in1.setAttribute('value', amount);
// in1.setAttribute('style', 'width: 30px; height: 15px;');
// l3.appendChild(in1);
// var a3 = document.createElement('a');
// var img3 = document.createElement('image');
// img3.setAttribute('src', getContextPath() + '/saigoo/images/z_refresh.gif');
// img3.setAttribute('align', 'absbottom');
// img3.setAttribute('onclick', 'editware('+wareId+','+amount+')');
//	
// a3.appendChild(img3);
// l3.appendChild(a1);
// if (type == '1') {
//	
// if(new Number(wareSum)-new Number(price*amount)==0)
// {
// document.getElementById('cartWare').appendChild(child)
// }else
// {
// var first = document.getElementById('cartWare').firstChild;
// first.parentNode.insertBefore(child, first);
// }
// } else {
// document.getElementById('cartWare').appendChild(child)
// }
//
// }
/**
 * 购物车商品数量对象
 * 
 * 
 */
var cartSize = new function() {
	var size = 0;
	this.getSize = function() {
		return size
	}
	this.setSize = function(value) {
		size = value
	}
	this.add = function() {
		size++
	}
	this.minus = function() {
		size--
	}

}
/**
 * 分页页码对象
 */
var pageIndex = new function() {
	var size = 1;
	this.getSize = function() {
		return size
	}
	this.setSize = function(value) {
		size = value
	}
}
/**
 * 通过屏幕分辨率获取一页显示商品数
 * 
 * @return {Number}
 */
function getPageSize() {
	if (window.screen.height <= 600) {
		return 4
	}
	if (window.screen.height <= 769) {
		
		return 5
	}
	if (window.screen.height <= 800) {
		return 6
	}
	if (window.screen.height <= 1200) {
		return 7
	}
}
/**
 * 当前页商品数
 * 
 * @return size
 */
function getNowSize() {
	// if (cartSize.getSize() > getPageSize()) {
	// if (pageIndex.getSize() == 1) {
	// return getPageSize()
	// } else {
	// return cartSize.getSize() - getPageSize()
	// * (pageIndex.getSize() - 1)
	// }
	// } else {
	// return cartSize.getSize()
	// }

	return  document.getElementById('cartWare').childNodes.length
}

/**
 * 修改购物车中商品
 * 
 * @param {}
 *            wareId
 */
function editWare(wareId) {

	var amount = document.getElementById('amounts' + wareId).value
	var sucess = vailInteger(amount);
	if ((amount > 99 && amount < 1) || sucess == false) {
		alert('请输入正确的商量！')
		return
	} else {

		sendXMLHttpReques(
				getContextPath()
						+ '/saigoo/trade/struts/CartAction.do?mode=edit&amount='
						+ amount + '&wareid=' + wareId, new editWareCallBack())
	}
 
}
/**
 * 修改购物车回调
 * 
 * 
 */
function editWareCallBack() {
	this.execute = function() {
	
	 message=req.responseText;
	 if(message == 9)
	 {
	  alert("库存不足");
	  return ;
	 }
		var wareInfo = req.responseXML.getElementsByTagName("wareInfo");
		var wareSum = wareInfo[0].getElementsByTagName("wareSum")[0].firstChild.data;
		modifyForWareSum(wareSum)
	}
}

// 删除商品
function removeWareById(id) {
	document.getElementById(id).parentNode.removeChild(document
			.getElementById(id));
	cartSize.minus()
}
// 修改商品总价
function modifyForWareSum(sum) {

	if(sum=='.00')
	{
		sum='0.00'
	}
	document.getElementById('wareSum').innerHTML = sum;

}

/**
 * 分页跳转
 * 
 * @param {}
 *            index
 */
function goPage(index) {
	buildPagination(index)
	// sendXMLHttpReques(getContextPath()
	// + '/saigoo/trade/struts/CartAction.do?mode=getPage&index='
	// + index + '&size=' + getPageSize(), new editWareCallBack())
}

/**
 * 分页回调
 */
function getPageCallBcak() {
	this.execute = function() {
		all = document.getElementById("cartWare").childNodes;
		for (var i = 0; i < all.length; i++) {
			document.getElementById("cartWare").removeChild(all[i]);
		}
		var wareInfo = req.responseXML.getElementsByTagName("wareInfo");
		for (var i = 0; i < getPageSize(); i++) {
			createControlForAdd(wareInfo[i], '1')
		}
		document.getElementById(wareId + 'Price').value = price
		modifyForWareSum(wareSum)
	}
}

/**
 * 构建分页
 * 
 * @param {}
 *            index
 */
function buildPagination(index) {

	// all = document.getElementById("cartPage").childNodes;
	// for (var i = 0; i < all.length; i++) {
	// document.getElementById("cartPage").removeChild(all[i]);
	// }
	// var size = cartSize.getSize() / getPageSize()
	//
	// var s = new String(size).split('.')[0]
	// if (size > new Number(s)) {
	// s = new Number(s) + 1;
	// }
	//
	// for (var i = 0; i < s; i++) {
	// var a = document.createElement('a');
	// var text = document.createTextNode(' ' + (i + 1) + ' ');
	// a.appendChild(text);
	// a.setAttribute('href', 'javascript:goPage(' + (i + 1) + ')')
	// if (index != null && index != '') {
	// a.setAttribute('style', 'font-weight: bold ;font-size:12px')
	// }
	// document.getElementById('cartPage').appendChild(a);
	// }
}

/**
 * 删除商品
 * 
 * @param {}
 *            wareId
 */
function delWare(wareId) {

	// var index = null
	// if (getNowSize() == getPageSize()) {
	// alert(getPageSize())
	// alert(getNowSize())
	// alert(cartSize.getSize())
	// if (cartSize.getSize() > getPageSize()) {
	//
	// index = getPageSize() * pageIndex.getSize() + 1
	// }
	// }
	
	if(navigator.userAgent.indexOf("Firefox")<0)
	{
		
		var page = document.getElementById("now_page").value
			removeWareById(wareId)
		}
	sendXMLHttpReques(getContextPath()
					+ '/saigoo/trade/struts/CartAction.do?mode=del&wareid='
					+ wareId + '&nowpage=' + page, new delWareCallBack())
	

}
/**
 * 删除商品回调
 */
function delWareCallBack() {
	
	this.execute = function() {
		var wareInfo = req.responseXML.getElementsByTagName("wareInfo");
		var wareSum = wareInfo[0].getElementsByTagName("wareSum")[0].firstChild.data;
		modifyForWareSum(wareSum)
	
		if (getNowSize() < 1 && pageIndex.getSize() > 1) {

			var size = pageIndex.getSize()
			pageIndex.setSize(size - 1)
			goPage(size - 1)
			buildPagination(pageIndex.getSize());
		} else {
		if (getNowSize() < getPageSize()&& wareInfo[0].getElementsByTagName("wareHtml")!=null) {
				createControlForAdd(wareInfo, '2')
			}
		}

	}
}

/**
 * 创建添加商品的控件
 * 
 * 
 * 
 * @param {}
 *            wareInfo 商品信息
 * @param {}
 *            wareSum 商品总价
 * @param {}
 *            wareId 商品编号
 * 
 * @param {}
 *            type 1：添加 2：补齐
 * 
 * 
 */
function createControlForAdd(wareInfo, type) {
	if(wareInfo[0].getElementsByTagName("wareHtml")[0]==null)
	{
		return ;
	}
	
	var wareHtml = wareInfo[0].getElementsByTagName("wareHtml")[0].firstChild.data;
	var wareSum = wareInfo[0].getElementsByTagName("wareSum")[0].firstChild.data;
	if (type == '1') {
		var wareId = wareInfo[0].getElementsByTagName("wareId")[0].firstChild.data;
		var price = wareInfo[0].getElementsByTagName("price")[0].firstChild.data;
		var amount = wareInfo[0].getElementsByTagName("amount")[0].firstChild.data;
		var wareIsExist = wareInfo[0].getElementsByTagName("wareIsExist")[0].firstChild.data;
	}
	if (wareIsExist != 'true') {
		cartSize.add();
	}
	modifyForWareSum(wareSum)
	var wi = document.getElementById(wareId)

	if (wi != undefined || wi != null) {

		document.getElementById('amounts' + wareId).value = new Number(amount)
				+ new Number(document.getElementById('amounts' + wareId).value)
	} else {
		if (type == '1') {

			if (new Number(wareSum) - new Number(amount) * new Number(price) == 0) {
				document.getElementById('cartWare').innerHTML = document
						.getElementById('cartWare').innerHTML
						+ wareHtml
			} else {
				document.getElementById('cartWare').innerHTML = wareHtml
						+ document.getElementById('cartWare').innerHTML
			}
		} else {
			document.getElementById('cartWare').innerHTML = document
					.getElementById('cartWare').innerHTML
					+ wareHtml
		}
	}

}

function cleanCart() {
	var ans = window.confirm('是否清理购物车！')
	if (ans) {
		modifyForWareSum('0.0')
		document.getElementById('cartWare').innerHTML = ''
		sendXMLHttpReques(getContextPath()
						+ '/saigoo/trade/struts/CartAction.do?mode=clear', '')
	}
}



