var totalCompra = 0;
var lastAddedVerId = -1;	

function loadShoppingCart() {
	var oAjax = new WBE_AjaxClass();
	xmlObj = oAjax.throwEventXML('com_get_shopping_cart_xml');
	if (xmlObj) {
		printShoppingCart(xmlObj);
	} else {
		refresh();
	}
	
}

function refresh() {	
	// Muestra/oculta objetos
	document.getElementById('cuerpo_cesta_vacio').style.display = (totalCompra == 0 ? "" : "none");
	document.getElementById('cuerpo_cesta').style.display = (totalCompra != 0 ? "" : "none");
}

function printShoppingCart(xmlObj) {
	var oElem = document.getElementById('cuerpo_cesta');
	cleanDiv(oElem);	
	totalCompra = 0;
	
	if (xmlObj.childNodes[0].childNodes.length > 0) {								
		totalCompra = xmlObj.childNodes[1].firstChild.data;
		var totalArticulos = 0;
		var str = '';
		for(var i=0; i< xmlObj.childNodes[0].childNodes.length; i++) {
		    var oChild = xmlObj.childNodes[0].childNodes[i];
		    var lineId = parseInt(oChild.getElementsByTagName('number')[0].firstChild.nodeValue);
		    var qty = oChild.getElementsByTagName('qty')[0].firstChild.nodeValue;
		    var name = oChild.getElementsByTagName('name')[0].firstChild.nodeValue;
		    var price = oChild.getElementsByTagName('pricewithdiscounts')[0].firstChild.nodeValue;
		    var ver_id = oChild.getElementsByTagName('ver_id')[0].firstChild.nodeValue;
		    var cnt_id = oChild.getElementsByTagName('cnt_id')[0].firstChild.nodeValue;
		    totalArticulos += parseInt(oChild.getElementsByTagName('qty')[0].firstChild.nodeValue);
		    str += '<tr>' +
	        '<td class="cantidad"><input type="text" id="input_qty_' + lineId + '" value="' + qty + '" onchange="ModifQty(' + lineId + ')"/></td>' +
	        '<td class="nombre"><a href="#">' + name + '</a></td>' +
	        '<td class="precio">' + price + '&nbsp;&euro;</td>' +
	        '<td class="eliminar"><a href="#" id="a_del_1" onclick="DelToCart(' + lineId + ')"><img alt="Papelera" src="skin/images/ico_borrar.gif"></a></td>' +
            '</tr>';
		}
		//shop_process_00.html
		var oProductLines = document.createElement('span');
		oProductLines.innerHTML = "<a class=\"cesta\" href=\"#\">Tienes: " + totalArticulos + " elementos</a>";
		
        //.append(str);
		//var oActPed = document.createElement('span');
		//oActPed.id = 'cant';
		//oActPed.innerHTML = totalArticulos;
		//oActPed.innerHTML = totalCompra + "&#8364;";

		oElem.appendChild(oProductLines);

		var str = '<tbody>' + str + '</tbody>' +
		    '</tbody>' +
            '<tfoot><tr id="totalCompra"><td class="txtright" colspan="4"><small>TOTAL: </small><strong class="colored"> ' + totalCompra  + ' &euro; </strong></td></tr></tfoot>';
/*		
			'<tr>' +
	        '<td class="cantidad"><input type="text" id="cant1" value="1"/></td>' +
	        '<td class="nombre"><a href="#">Eau de Perfume Hugo de Hugo Boss, 30ml</a></td>' +
	        '<td class="precio">16,10&nbsp;&euro;</td>' +
	        '<td class="eliminar"><a href="#" id="a_del_1"><img alt="Papelera" src="images/ico_borrar.gif"></a></td>' +
            '</tr>' +
            '</tbody>' +
            '<tfoot><tr id="totalCompra"><td class="txtright" colspan="4"><small>TOTAL: </small><strong class="colored"> 32,20 &euro; </strong></td></tr></tfoot>';
*/

		$(".datoscestacompra").html('');
		$(".datoscestacompra").append(str);
		$(".cesta").click(function(e) {
		    $('.basket').animate({
		        height: "toggle"
		    }, "fast", "swing");
		    e.preventDefault();
		});
		$(".cerrarcesta").click(function(e) {
		    $('.basket').animate({
		        height: "toggle"
		    }, "fast", "swing");
		    e.preventDefault();
		});

		//oElem.appendChild(oActPed);
	}
	// Redibuja objetos del carrito
	refresh();
}

function DelToCart(sLineId) {
	if(confirm('Va a eliminar el articulo de la cesta, ¿está seguro?')) {
		var objShoppingCart = new JSObj_shopping_cart();
		objShoppingCart.savePost = savePostDelExt;
		objShoppingCart.RemoveFromShoppingCart(sLineId);
		objShoppingCart = null;
		document.location.href = document.location.href;
    }
}

function ModifQty(sLineId) {
	var sNum = document.getElementById('input_qty_'+sLineId).value;
	if(sNum=='0') {
		confirm('¡La cantidad no puede ser negativa!');
		document.getElementById('input_qty_'+sLineId).value = '1';
	}
	else if (CheckQty(sNum)) {
		var objShoppingCart = new JSObj_shopping_cart();
		objShoppingCart.savePost = savePostQtyExt;
		objShoppingCart.UpdateQuantityOnShoppingCartLine(sLineId, sNum);
		objShoppingCart = null;
    }
    //loadShoppingCart();	
}

function ModifAddQty(sLineId) {
	var oQty = document.getElementById('input_qty_'+sLineId);
	var iNum = parseInt(oQty.value) + 1;
	oQty.value = iNum;
	ModifQty(sLineId);
}

function ModifRemoveQty(sLineId) {
	var oQty = document.getElementById('input_qty_'+sLineId);
	var iNum = parseInt(oQty.value) - 1;
	if (IsNumeric(iNum)) {
		oQty.value = iNum;
		ModifQty(sLineId);
	}
}

function IsNumeric(PossibleNumber)
{
	var PNum = new String(PossibleNumber);
	var regex = /[^0-9]/;
	return !regex.test(PNum);
}


function CheckQty(iNumQty){
	var eReg = "^([1-9])[0-9]*$";
	if (iNumQty.match(eReg)) return true;
	else {
		alert('La cantidad introducida no es correcta.');
		return false;
	}
}

function AddCartAndBuy(sVerId) {
	AddToCart(sVerId);
	window.location.href = 'proceso_compra_0.html';
}
function AddToCart(sVerId, sText, qty, addToCartText1, addToCartTextStock) {
	var objShoppingCart = new JSObj_shopping_cart();
	objShoppingCart.savePost = function (xmlObj) {
		this.has_stock = true;
		var msg = addToCartText1 + ((sText) ? " " + sText : "");
		if (xmlObj) {
			var oAjax = new WBE_AjaxClass();
			var stock = parseInt(oAjax.getXMLNodeValue(xmlObj, 'current_stock'));
			this.has_stock = (stock>0);
			if (!this.has_stock && addToCartTextStock && addToCartTextStock!='')
					msg = addToCartTextStock;
					//msg += "<br/>" + addToCartTextStock;
		}
		alert(msg);
		loadShoppingCart();				
	};
	objShoppingCart.AddToShoppingCart(sVerId, sText, qty);
	objShoppingCart = null;
}


function savePostAddExt(xmlObj) {
	loadShoppingCart();
};

function savePostDelExt(xmlObj) {
	window.location.reload();
};

function savePostQtyExt(xmlObj) {
	window.location.reload();
};

function cleanDiv(oDiv) {
	if (oDiv) {
		while (oDiv.childNodes.length > 0) {
			var oTmp = oDiv.childNodes[0];
			cleanDiv(oTmp)
			oDiv.removeChild(oTmp);
		}
	}
}


