YAHOO.namespace("Eurofull");

YAHOO.Eurofull.EcomCarrito =
{
	elemCarrito : null,
	minproductos : 10,
	maxproductos : 15,
	conprecioporsuma : true,
	descuento : 0,
	mensaje : 'El total no debe superar los {n} productos',
	els : [],
	init : function() 
	{
		var elemCarrito = document.getElementById('divCarritoAjax');
		YAHOO.Eurofull.EcomCarrito.mostrarCarrito();
	},
	mostrarCarrito : function(){
		var elemCarrito = document.getElementById('divCarritoAjax');
		var callback = {
			argument: [elemCarrito],
			success: function(o) {
				elemCarrito = o.argument[0];
				if (o.responseText != '')
				{
					try{
						var carr = eval(o.responseText);
						document.getElementById('divCarritoTotal').innerHTML = carr.total;
						document.getElementById('divCarritoAjax').innerHTML = carr.htmlCarrito;
					}
					catch (e){alert(e);}
					
				}
				else
					elemCarrito.innerHTML = 'Carrito vacio';
				YAHOO.Eurofull.EcomCarrito.elemCarrito = elemCarrito;
			}
		}
		var transaction = YAHOO.util.Connect.asyncRequest('POST', 'carritoajax.asp', callback, null);
	},
	cambiarCantidadYPostFormCarritoAjax : function(ordinal,cantidad){
		if (cantidad == '') return '';
		var cantprev = document.getElementById("cantcarrito" +ordinal).value;
		console.log((String(cantidad).search(/^\d+$/) != -1));
		if ((String(cantidad).search(/^\d+$/) == -1) || cantidad < 0)
		{
			cantidad = cantprev;
		}
		console.log(cantidad);
		document.getElementById("cantcarrito" +ordinal).value = cantidad;
			
		this.postFormCarritoAjax(cantidad);
		return cantidad;
	},
	agregarAlCarrito : function(prodid){
		var url = "carritoajax.asp?prodid="+prodid;
		var callback = {
			success: function(o) {
				try{
						var carr = eval(o.responseText);
						document.getElementById('divCarritoTotal').innerHTML = carr.total;
						document.getElementById('divCarritoAjax').innerHTML = carr.htmlCarrito;
						for (var i = 0; i < carr.ctrcants.length;i++)
						{
							var elemct = document.getElementById(carr.ctrcants[i].ctrl);
							if (elemct)
							{
								elemct.innerHTML = carr.ctrcants[i].ih;
							}
						}
				}
				catch (e){
					console.log(e);
					console.log(carr);
					alert(e +' postform:' + o.responseText);}
			}		
		}
		var transaction = YAHOO.util.Connect.asyncRequest('POST', url, callback, null);
	},
	prodRestar : function(ielem){
		var celem = document.getElementById("cantcarrito"+ielem);
		try{
			var cant = parseInt(celem.value);
			if (cant > 0)
			{
				cant--;
				celem.value = cant;
				YAHOO.Eurofull.EcomCarrito.postForm("frmcarritoajax");
			}
		}
		catch(e){}
	},
	prodSumar : function(ielem){
		var celem = document.getElementById("cantcarrito"+ielem);
		try{
			var cant = parseInt(celem.value);
			if (cant > 0)
			{
				cant++;
				
				celem.value = cant;
				YAHOO.Eurofull.EcomCarrito.postForm("frmcarritoajax");
			}
		}
		catch(e){}
	},
	postFormCarritoAjax : function(valorNuevo){
		try{
			var valor = parseInt(valorNuevo);
			if (valor >= 0)
				YAHOO.Eurofull.EcomCarrito.postForm('frmcarritoajax');
		}
		catch(e){}
	},
	postForm : function(idForm) {
		var formObject = document.getElementById(idForm); 
		YAHOO.util.Connect.setForm(formObject); 
	
		var callback = {
				success: function(o) {
				try{
					var carr = eval(o.responseText);
					document.getElementById('divCarritoTotal').innerHTML = carr.total;
					document.getElementById('divCarritoAjax').innerHTML = carr.htmlCarrito;
					try{
						for (var i = 0; i < carr.ctrcants.length;i++)
						{
							var elemct = document.getElementById(carr.ctrcants[i].ctrl);
							if (elemct)
							{
								elemct.innerHTML = carr.ctrcants[i].ih;
							}
						}
					}
					catch (e){}
				}
				catch (e){alert('postform2:'+e);}
				}
			}
		var cObj = YAHOO.util.Connect.asyncRequest('POST', 'carritoajax.asp', callback);
		return false;
	},
	divEspera : function(mostrar){
		if (mostrar){
			
		
		}
		else{
		
		
		}
	}
};

var initCarrito = function()
{
	YAHOO.util.Event.onAvailable('divCarritoAjax', YAHOO.Eurofull.EcomCarrito.init, YAHOO.Eurofull.EcomCarrito, true);
}
YAHOO.util.Event.onDOMReady(initCarrito);

