

/*******************************************************************************************************/
/*******************************************************************************************************/
 
function carritoLinea (lnArtId, lsArtRef, lsArtName, lsArtImg, lsArtPrecios, 
						larrPrecioTramos, lnArtCuantos)
{
	this.mvInicializa  = function () {
	//alert ("mvInicializa ");
		this.artId =""; 
		this.artRef =""; 
		this.artName =""; 	
		this.artImg="";	
		this.artPrecios ="<table></table>";
		this.artPrecioTramos = new Array ();	
		this.artPrivateCuantos = 0;	
		this.artPrecioPorArticulo = -1;
		this.artTotal = 0;
	} 
	this.mvInicializa ();
	this.artId = lnArtId; 
	this.artRef = lsArtRef;
	this.artName= lsArtName;  //alert (lsArtName);
	this.artImg = lsArtImg; //alert (lsArtImg);
	this.artPrecios = lsArtPrecios; //alert (lsArtPrecios); 
	
	/*********************/	
	//alert (larrPrecioTramos);	
	
	//init del objeto
	var tempo = larrPrecioTramos.split (",");
	
	for (i in tempo) {
		
		this.artPrecioTramos.push (new Array (parseInt (tempo[i].split (":")[0]), parseFloat(tempo[i].split (":")[1])));

	}
	this.artPrivateCuantos =lnArtCuantos ;
		
	
	/*                              			   		*/
	/*           FUNCIONES GET / SET                    */
	/*                                 					*/
	this.artCuantos = function () {return (parseInt(this.artPrivateCuantos));}
	this.SET_artCuantos = function (lnCuantos) {
		if (parseInt (this.artPrivateCuantos) != parseInt (lnCuantos)) {
			artModifyCookie("carritoCliente", this.artId, "artCuantos", parseInt (lnCuantos));
			this.artPrivateCuantos = parseInt (lnCuantos);
			
		}		
	}
	
	/*           FIN DE                			   		*/
	/*           FUNCIONES GET / SET                    */
	/*                                 					*/

	this.mfnRecalculaLineaReclamo = function (){
	
		var lnValorTotal = -1;
		//alert ("recalculando linea");
		if (parseInt(this.artCuantos()) < 0) return lnValorTotal;
		if (this.artPrecioTramos.length>0) {
				this.artPrecioPorArticulo = this.artPrecioTramos[this.artPrecioTramos.length-1][1];
				for (queTramo in this.artPrecioTramos) {
					//alert ('lista de tramos...' + this.artPrecioTramos);
					//alert ('cuantos ' + this.artCuantos()  +  ' mirando tramo ' + this.artPrecioTramos [queTramo][0]);
					
					if (parseInt(this.artCuantos()) <= parseInt(this.artPrecioTramos [queTramo][0])) {
						//alert ('si,  ' + this.artCuantos() + ' menor o igual que <= ' + this.artPrecioTramos [queTramo][0] );
						//hasta aqui...
						//queTramo -= 1; if (queTramo<0) queTramo = 0;
						break;
					}			
				}
			this.artPrecioPorArticulo = this.artPrecioTramos [queTramo][1];
		}				
		lnValorTotal = this.artCuantos() * this.artPrecioPorArticulo;
		return lnValorTotal;
	}

	this.msRefrescaPantallaReclamo= function (i){
	 	//alert ("Refrescando pantalla");                                                     
	 	//alert (this.artPrecioPorArticulo);
	 	if ((parseFloat (this.artPrecioPorArticulo))>0) {
	 		document.getElementById ("precioArticulo_" + i ).value = formatAsMoney(parseFloat (this.artPrecioPorArticulo),3);
	 		}
	 	if ((parseFloat (this.artTotal))>0) {
//	 		alert (this.artTotal);
	 		document.getElementById ("totalArticulo_" + i).value = formatAsMoney(parseFloat(this.artTotal),2);
	 	}
	}
	this.artTotal = this.mfnRecalculaLineaReclamo ();
	return (this);
}
/*******************************************************************************************************/
/*******************************************************************************************************/
  
function mfbBorraArticuloReclamo (lnLinea) {

	name= "carritoCliente";
	id = moCarritoReclamo [lnLinea].artId;
	artRemoveFromCookie (name, id);
	var loDiv = document.getElementById("lineappto_"+lnLinea);
	loDiv.parentNode.removeChild (loDiv);
	loDiv = null;
	
	//OJO: LA LINEA NO SE BORRA: SE INICILIZA
	moCarritoReclamo[lnLinea]= null;
	
	mfnRecalculaPantallaReclamo(null);

	
}
function mfsCargaObjetoReclamo (loCaja) {
	//revisa y carga todos los valores de la linea

		var idx = (loCaja.name.split ("_"))[1];
	
		//que se ha modificado
		if (document.getElementById ("cuantosArticulos_"+idx).value!= moCarritoReclamo[idx].artCuantos () ) {
			moCarritoReclamo[idx].SET_artCuantos (document.getElementById ("cuantosArticulos_"+idx).value);
		}
		
}

/*******************************************************************************************************/
/**********************************************************************************/
function mfnRecalculaPantallaReclamo  (loCaja,elEvento ) {

		if (loCaja === null) {
			var idx = -1;
		} else {
			var idx = (loCaja.name.split ("_"))[1];
		}
		if (idx >=0) {
			//recalcula...
			var lnTotalLinea = moCarritoReclamo[idx].mfnRecalculaLineaReclamo ();
			moCarritoReclamo[idx].artTotal = lnTotalLinea;
	
			//total de linea
			if (lnTotalLinea<0) {lnTotalLinea= 0;}
			
			//hay precio por aritulo?
			if ((moCarritoReclamo[idx].artPrecioPorArticulo)>0 )
				document.getElementById("precioArticulo_"+idx).value = formatAsMoney(moCarritoReclamo[idx].artPrecioPorArticulo,3);
			else {
				document.getElementById("precioArticulo_"+idx).value = "";
				document.getElementById("totalArticulo_"+idx).value = "";
			}
	
			//hay precio DE LINEA?	
			//alert ('ANTES DE MIRAR SI LO ESCRIBIMOS EN PANTALLA: ' + moCarritoReclamo[idx].artTotal);
			if ((moCarritoReclamo[idx].artTotal)>0 ) {
//alert (formatAsMoney(moCarritoReclamo[idx].artTotal,2));
				document.getElementById("totalArticulo_"+idx).value =  formatAsMoney(moCarritoReclamo[idx].artTotal,2);
			} else {
				if (moCarritoReclamo[idx].artPrecioPorArticulo>0) {
					
					if (moCarritoReclamo[idx].artPrecioSinPersonalizacion > 0) {
						document.getElementById("totalArticulo_"+idx).value = formatAsMoney(moCarritoReclamo[idx].artPrecioSinPersonalizacion,2);
					} else {
							document.getElementById("totalArticulo_"+idx).value ="";
					}
					
				} else {
					document.getElementById("totalArticulo_"+idx).value = "";
				}
			}
		} else {
			var lnTotalLinea =0;
		}
		//total de pantallas
		var leTotal = lnTotalLinea;
		for (i in moCarritoReclamo) {
			if ( moCarritoReclamo[i]!=null) {	
				if (i!=idx) {
					if ( moCarritoReclamo[i].artTotal>0)
						(leTotal += moCarritoReclamo[i].artTotal);
				}
			}
		}
		
		if (leTotal > 0) {
			
//			alert (document.getElementById("pptoPiePrecioTotal"));
			document.getElementById("pptoPiePrecioTotal").innerHTML = formatAsMoney (parseFloat (leTotal),2);
		} else {
			
			//alert (document.getElementById("pptoPiePrecioTotal").innerHtml);
			document.getElementById("pptoPiePrecioTotal").innerHTML = "----- " + String.fromCharCode(8364);;
		}		
}





/**************************************************/

