// JavaScript Document
/*
Objeto carritoJsonSendParams definido en Carrito.js

****************** PARAMETROS o OBJETO "carritoJsonSendParams"
	
	idGrupProducte = {un ID}
	idsAtributs = {un array de IDS}
	quantitat = default [0] numérico entero
	unitat = default [0] -> numérico entero
	carretTipus = default ['resum'] -> 'llista' | 'resum' | 'buit' 
	retornaHTML = default ['true'] -> true | false

****************** 	METODOS DEL CARRITO

	afegirProducte(idGrupProducte,idsAtributs,quantitat,unitat,carretTipus,retornaHTML | [carritoJsonSendParams] )
	modificarProducte(idGrupProducte,idsAtributs,quantitat,unitat,carretTipus,retornaHTML | [carritoJsonSendParams] )
	eliminarProducte (idGrupProducte,carretTipus,retornaHTML | [carritoJsonSendParams] )
	recalcularCarret(carretTipus,retornaHTML | [carritoJsonSendParams] )
	refrescaCarret(carretTipus,retornaHTML | [carritoJsonSendParams] )
	
****************** OBJETO RESPUESTA DEL CARRITO
	this.resultat = null;
	this.idError = null;
	this.descripcionError = null;	

****************** FUNCIONES PARA ESTE VISOR
function controlCarga()
function comprarProducto(id)
function modificarProducto(id)
function borrarProducLista(id,idAttr)
function recalcularCarro()

function compruebaValor(obj(this),incremento,minValor)
sumar(id,incremento,minValor)
restar(id,incremento,minValor)

****************** FUNCIONES PRIVADAS 
 _showLoading(id[string]) -> Muestra dentro de el elemento con este id una imagen de cargado
 _removeLoading(id[string]) -> Oculta dentro de el elemento con este id una imagen de cargado
 _printResult(id[string]) -> Inserta dentro de el elemento con este id lo que devuelven los METODOS DEL CARRITO
 _getParamsCompra(id[string]) -> Devuelve un OBJETO "carritoJsonSendParams" con los datos del producte.

*/
$(function(){ 
		   controlCarga();
		   if( $('#quantitat').text() != "0" ) $('#finalizaCompra').show();
})

function controlCarga(){
	_showLoading('carritoResum');
	var sendObjetc = new carritoJsonSendParams()
	sendObjetc.carretTipus = "resum"
	var rObj = refrescaCarret(sendObjetc);
	
	_printResult('carritoResum',rObj);
	_removeLoading('carritoResum');
}

function comprarProducto(id){
	if (miraObligatoris(_globalTags["attrObligJS"]) ){
		var sendObjetc = _getParamsCompra(id)
		sendObjetc.carretTipus = "resum"
		_showLoading('carritoResum');
		var rObj = afegirProducte(sendObjetc);
		//for(f=0;f<5000000;f++) g=f
		_printResult('carritoResum',rObj);
		_removeLoading('carritoResum');
		
	}
	
}
function modificarProducto(id){
	if (miraObligatoris(_globalTags["attrObligJS"]) ){
		var sendObjetc = _getParamsCompra(id)
		sendObjetc.carretTipus = "resum"
		_showLoading('carritoResum');
		var rObj = modificarProducto(sendObjetc);
		_printResult('carritoResum',rObj);
		_removeLoading('carritoResum');
		
	}
}

function borrarProducLista(id,idAttr){
	var sendObjetc = new carritoJsonSendParams()
	sendObjetc.idGrupProducte = id;
	sendObjetc.idsAtributs = idAttr;
	sendObjetc.carretTipus = "resum";
	_showLoading('carritoResum');
	var rObj = eliminarProducte(sendObjetc);
	_printResult('carritoResum',rObj);
	_removeLoading('carritoResum');
	
}

function recalcularCarro(){
	var sendObjetc = new carritoJsonSendParams()
	sendObjetc.carretTipus = "llista"
	var rObj = recalcularCarret(sendObjetc);
}// JavaScript Document// JavaScript Document
