/**************************************************************************
  Format Number by A.A.S.
//*************************************************************************/
function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.
 
	RETVAL:
		The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number
	
	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	
	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
		if (num > 0)
			tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
		else
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		
	// See if we need to put in the commas
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0)
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

	return tmpNumStr;		// Return our formatted string!
}
// end of function
/******************************************************************************/

// JavaScript Document
function round2(number,X) {
// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
function redondear(number,X) {
// rounds number to X decimal places, defaults to 2
    X = (!X ? 0 : X);
    num=Math.round(number*Math.pow(10,X))/Math.pow(10,X);
	
	return num
}
function trim(str) {
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
//Number Format

function RComma(Q) { 
 var RgX = /^(.* )?([-+\u00A3\u20AC]?\d+)(\d{3}\b)/
Q = String(Q)
    return (Q == (Q=Q.replace(RgX, "$1$2,$3"))) ? Q : RComma(Q) 
} 

function JSNumberFormat(X) { 
		var T, S=new String(Math.round(X*100))
	   while (S.length<3) S='0'+S
	   return S.substr(0, T=(S.length-2)) + '.' + S.substr(T, 2) 
}
function inicializar(){
	var f=document.f
	f.t1.value=0
	f.t2.value=0
	f.t3.value=0
	for (var i=1; i<f.vueltas.value; i++) {
		if(f.elements['check'+i].value == 1) {
			if(f.elements["prd_desc"+i].value == "Cognac"){
			f.t1.value=1
			f.t3.value=1
			}else{
			tmp=f.elements['cod_tt'+i].value
			f.elements['t'+tmp].value=1
			}
		}
	}
	// inicializo tragos largos
	if(f.t1.value == 0){

	f.botellas1.value=0
	f.total_evento1.value=0
	f.tragos_totales1.value=0
	}
	if(f.t2.value == 0){
	f.botellas2.value=0
	f.total_evento2.value=0
	f.tragos_totales2.value=0
	}
	if(f.t3.value == 0){
	f.botellas3.value=0
	f.total_evento3.value=0
	f.tragos_totales3.value=0
	}
	f.t1.value=""
	f.t2.value=""
	f.t3.value=""

}
function coe_tipo_trago(){
	var tmp=""
	var f=document.f
	var str_coe=""
	var coe_value=0
	for (var i=1; i<f.vueltas.value; i++) {
		if(f.elements['check'+i].value == 1) {
			if(f.elements["prd_desc"+i].value == "Cognac"){
			f.t1.value=1
			f.t3.value=3
			}else{
			tmp=f.elements['cod_tt'+i].value
			f.elements['t'+tmp].value=tmp
			}			
			
		}
	}
	str_coe=f.t1.value+f.t2.value+f.t3.value
	if(str_coe == '1'){coe_value=1}
	if(str_coe == '12'){coe_value=2}
	if(str_coe == '13'){coe_value=3}
	if(str_coe == '123'){coe_value=4}
	if(str_coe == '2'){coe_value=5}
	if(str_coe == '23'){coe_value=6}
	if(str_coe == '3'){coe_value=7}
	return coe_value

}
function tragos_totales(tt){
	var f=document.f
	var horas=f.horas.value
	var invitados=f.invitados.value
	var consumo=f.consumo.value
	total=(vc(coe_tipo_trago(),tt)*1)*(horas*1)*(consumo*1)
	return total
}

// botellas
function b(){
		var sum_tragos_largos=0;
		var sum_vinos=0;
		var sum_digestivos=0;
		var sum_todo=0
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1){
				sum_todo=sum_todo*1+f.elements['cant_bot'+i].value*1
				if(f.elements['cod_tt'+i].value == 1 ){
					if(f.elements["prd_desc"+i].value == "Cognac"){
						//saco el 30% para los tragos largos
						porc_cognac=(f.elements['cant_bot'+i].value*30)/100;
						sum_tragos_largos=(sum_tragos_largos*1)+(porc_cognac*1);
					}else{
						sum_tragos_largos=(sum_tragos_largos*1)+(f.elements['cant_bot'+i].value*1);
					}
				
				}
				if(f.elements['cod_tt'+i].value == 2){
					sum_vinos=(sum_vinos*1)+(f.elements['cant_bot'+i].value*1);
				}
				if(f.elements['cod_tt'+i].value == 3 || f.elements["prd_desc"+i].value == "Cognac"){
					if(f.elements["prd_desc"+i].value == "Cognac"){
						//saco el 70% para los Digestivos
						porc_cognac=(f.elements['cant_bot'+i].value*70)/100;
						sum_digestivos=(sum_digestivos*1)+(porc_cognac*1);
					}else{
						sum_digestivos=(sum_digestivos*1)+(f.elements['cant_bot'+i].value*1);
					}
				}
			}
		}

	f.botellas1.value=redondear(sum_tragos_largos)
	f.botellas2.value=redondear(sum_vinos)
	if(sum_vinos > 0){
	tmp=sum_todo*1-sum_tragos_largos*1-sum_vinos*1
	}else{
	tmp=sum_todo*1-sum_tragos_largos*1
	}
	f.botellas3.value=redondear(tmp)
	f.gran_total.value=f.botellas1.value*1+f.botellas2.value*1+f.botellas3.value*1
}
//valores constantes
function vc(coe,tt){
x=0
lar=new Array(7);
vin=new Array(7);
dig=new Array(7);
lar[0]=0.60;lar[1]=1.00;lar[2]=0.63157895;lar[3]=0.92307692;lar[4]=0.60;lar[5]=0.00;lar[6]=0.00;lar[7]=0.00;
vin[0]=0.35;vin[1]=0.00;vin[2]=0.36842105;vin[3]=0.00;vin[4]=0.35;vin[5]=1.00;vin[6]=0.8750000000;vin[7]=0.00;
dig[0]=0.05;dig[1]=0.00;dig[2]=0.00;dig[3]=0.07692308;dig[4]=0.05;dig[5]=0.00;dig[6]=0.125;dig[7]=1.00;
if(tt == 1){x=lar[coe]}
if(tt == 2){x=vin[coe]}
if(tt == 3){x=dig[coe]}
return x
}

//Trigered by: Select Horas, text invitados
function recalcular(){
	var f=document.f
	var b2=f.horas.value
	var b3=f.invitados.value
	var b4=f.consumo.value
if(b2 != "" && b2 != 0){
if(b2 <= 1){f.consumo.value=.9;}
else{if(b2 <= 2){f.consumo.value=1.07;}
else{if(b2 <= 3 ){f.consumo.value=1.21;}
else{if(b2 <= 4 ){f.consumo.value=1.28;}
else{if(b2 <= 5 ){f.consumo.value=1.23;}
else{if(b2 <= 6 ){f.consumo.value=1.19;}
else{if(b2 <= 7 ){f.consumo.value=1.13;} 
else{if(b2 <= 8 ){f.consumo.value=1.04;}
else{if(b2 <= 9 ){f.consumo.value=.97;}
else{if(b2 <= 10 ){f.consumo.value=.9;}
else{if(b2 <= 11 ){f.consumo.value=.84;}
else{if(b2 <= 12 ){f.consumo.value=.79;}
else{if(b2 <= 13 ){f.consumo.value=0.74;}
else{if(b2 <= 14 ){f.consumo.value=0.7;}
else{if(b2 <= 15 ){f.consumo.value=0.66;}
else{if(b2 <= 16 ){f.consumo.value=0.62;}
else{if(b2 <= 17 ){f.consumo.value=0.6;}
else{if(b2 <= 18 ){f.consumo.value=0.57;}
else{if(b2 <= 19 ){f.consumo.value=0.55;}
else{if(b2 <= 20 ){f.consumo.value=0.52;}
else{if(b2 <= 21 ){f.consumo.value=0.51;}
else{if(b2 <= 22 ){f.consumo.value=0.49;}
else{if(b2 <= 23 ){f.consumo.value=0.47;}
else{f.consumo.value=.46;}}}}}}}}}}}}}}}}}}}}}}};
	for (var i=1; i<f.vueltas.value; i++) 
	{
	    if(f.elements['check'+i].value == 1)
		{
		 var obj=f.elements['selected'+i]
		 calcular(obj,i)
	    }
    }
}
}//End Recalcular


//Triggered by:Checkbox selectedX (135)
function calcular(obj,row){
    //alert("Entré al Calcular 1");
	var f=document.f
	var b2=f.horas.value
	var b3=f.invitados.value
	var b4=f.consumo.value
	var sumatoria_ml=0 //ml_trago por categoria
	var ok=0
	//rseteo el drop down para evitar problemas A.A.S.
	f.elements['productos'+row].value=0
	//Verifico si ingresó Horas del evento.
	if(b2 == "" || b2 == 0 || b2 > 24 ){
	alert("Por favor ingresa la cantidad de horas que durará el evento\nentre 1 y 24 horas")
	f.horas.focus();
	f.elements['check'+row].value=0
	obj.checked=false
	ok=1
	}
	//Verifico el número de invitados.
	if(ok == 0 && (b3 == "" || b3 < 10 || b3 > 10000)){
	alert("Por favor ingresa la cantidad de invitados que tendrá el evento\nEntre 10 y 10000")
	f.invitados.select();
	f.elements['check'+row].value=0
	obj.checked=false
	ok=1
	}
	if(ok == 0){			
	    //Cambio 06/03/05 Para ocultar el checkbox. A.A.S.
		//chkprd(obj,row)
		
		if(obj.checked){
		f.elements['check'+row].value=1
		}else{
		f.elements['check'+row].value=0
		}
		var cod_coe=""
		var tragos_largos=0;
		var vinos=0;
		var digestivos=0;
		var cod_tt=f.elements['cod_tt'+row].value
		
		//Acaso esta parte de código no esta haciendo absolutamente nada?????????????? A.A.S.
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1){
			//alert('vuelta:'+ i)
			}else{
				f.elements['cant_bot'+i].value=0
				f.elements['porc'+i].value=0
			}
		}
		// hay que recorrer en busca de tipos de tragos seleccionados, si hay tipos de tragos sin ninguna seleccion hay que poner los totales en cero
		//Recorre el arreglo para determinar el tipo de trago que hay en cada renglón (!!!) A.A.S.
		for (var n=1; n<f.vueltas.value; n++){
     		if(f.elements['check'+n].value == 1){
				if(f.elements['cod_tt'+n].value == 1){tragos_largos=1}
				if(f.elements['cod_tt'+n].value == 2){vinos=1}
				if(f.elements['cod_tt'+n].value == 3){digestivos=1}
			}
		}
        //Según lo encontrado, pone los subtotales por categoría a ceros. A.A.S.
		if(tragos_largos == 0){
			f.elements['tragos_totales1'].value=0
			f.elements['total_evento1'].value=0
		}
		if(vinos == 0){
			f.elements['tragos_totales2'].value=0
			f.elements['total_evento2'].value=0
		}
		if(digestivos == 0){
			f.elements['tragos_totales3'].value=0
			f.elements['total_evento3'].value=0
		}

		//Tengo que sumar los ml_tragos seleccionados y dividirlo por el ml_trado seleccionado
		var sum_tragos_largos=0;
		var sum_vinos=0;
		var sum_digestivos=0;
		var h24=0

		for (var i=1; i<f.vueltas.value; i++) 
		{
			if(f.elements['check'+i].value == 1)
			{
				//Acumulo el codigo para obtener el coeficiente
				if(cod_coe.indexOf(f.elements['cod_tt'+i].value) == -1)
				{
					cod_coe=cod_coe+f.elements['cod_tt'+i].value  
				}
			}
		}
        
		//Verifica si entre lo seleccionado está algún tequila. A.A.S.
		tequila_100=0
		tequila_mixto=0
		row_tequila_100=0
		row_tequila_mixto=0

		for (var i=1; i<f.vueltas.value; i++) {
				if(trim(f.elements["prd_desc"+i].value) == "Tequila 100% agave"){
						if(f.elements['selected'+i].checked == true){
							tequila_100=1	// con esto digo que tequila 100% agave está seleccionado
						}
						row_tequila_100=i //saco en que fila está el tequila 100% agave
				}
					if(trim(f.elements["prd_desc"+i].value) == "Tequila Mixto" ){
						if(f.elements['selected'+i].checked == true){
							tequila_mixto=1	// con esto digo que tequila mixto está seleccionado
						}
						row_tequila_mixto=i //saco en que fila está el tequila mixto
					}
		}
        
		
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1){
				
				if(f.elements['cod_tt'+i].value == 1){
					if(i == row_tequila_100 ){
						if(tequila_mixto){
							if(tequila_100){
								sum_tragos_largos=(sum_tragos_largos*1)+15
							}else{
								sum_tragos_largos=(sum_tragos_largos*1)+0
							}
						}else{
							if(tequila_100){
								sum_tragos_largos=(sum_tragos_largos*1)+40
							}else{
								sum_tragos_largos=(sum_tragos_largos*1)+15
							}
						}
						
					}else{
						if(i == row_tequila_mixto ){
							if(tequila_100){
								if(tequila_mixto){
									sum_tragos_largos=(sum_tragos_largos*1)+25;
								}else{
									sum_tragos_largos=(sum_tragos_largos*1)+0
								}
							}else{
								if(tequila_mixto){
									sum_tragos_largos=(sum_tragos_largos*1)+40
								}else{
									sum_tragos_largos=(sum_tragos_largos*1)+25
								}
								
							}

						}else{	
						//DEBUG 
						// alert("i ("+i+")== row_tequila_100 ("+row_tequila_100+")")
						// alert("row ("+row+")== row_tequila_mixto ("+row_tequila_mixto+") && i ("+i+") == row\n row == row_tequila_100 ("+row_tequila_100+") && i == row\nsum_tragos_largos("+sum_tragos_largos+")+f.elements['ml_trago'+i].value ("+f.elements['ml_trago'+i].value+")")
						
						//Si NO es tequila suma tragos lasros * 1 + ml_trago A.A.S.
						sum_tragos_largos=(sum_tragos_largos*1)+(f.elements['ml_trago'+i].value*1);
						}
					}
					
				}

				if(f.elements['cod_tt'+i].value == 2){
					sum_vinos=(sum_vinos*1)+(f.elements['ml_trago'+i].value*1);
				}

				if(f.elements['cod_tt'+i].value == 3 || f.elements["prd_desc"+i].value == "Cognac"){
					sum_digestivos=(sum_digestivos*1)+(f.elements['ml_trago'+i].value*1);
				}
			}
		}
		
		//sumatoria_ml=(sumatoria_ml*1)+(f.elements['ml_trago'+i].value*1)
		//doy tantas vueltas como categorias se hayan desplegado y recorro y trabajo solo con las seleccionadas
		for (var i=1; i<f.vueltas.value; i++) {
		
		if(f.elements['check'+i].value == 1){
		   if(f.elements["prd_desc"+i].value == "Cognac")
		     {cod_coe='13'}

		var cod_tt=f.elements['cod_tt'+i].value
		if(cod_coe == ""){var cod_coe =1}

		m5=f.elements['tipo_ml_trago'+i].value //row
		//ML por botella
		d11=f.elements['ml'+i].value
		m11=f.elements['ml_trago'+i].value
			
			if(i == row_tequila_100){
				if(tequila_mixto){
					if(tequila_100){
						m11=15
					}else{
						m11=0
					}
				}else{
					if(tequila_100){
						m11=40
					}else{
						m11=15
					}
				}
			}
			// Tequila Mixto
			if(i == row_tequila_mixto){
				if(tequila_100){
					if(tequila_mixto){
						m11=25
					}else{
						m11=0
					}
				}else{
					if(tequila_mixto){
						m11=40
					}else{
						m11=25
					}
				}
			}

			if(f.elements['cod_tt'+i].value == 1){h11=m11/sum_tragos_largos}
			if(f.elements['cod_tt'+i].value == 2){h11=m11/sum_vinos}
			if(f.elements['cod_tt'+i].value == 3){h11=m11/sum_digestivos}
			f.elements['porc'+i].value=parseInt(redondear(h11,2)*100)
			coe=coe_tipo_trago()
			coef=vc(coe,f.elements['cod_tt'+i].value)
			n5=tragos_totales(f.elements['cod_tt'+i].value)
			o5=n5*m5*b3

			f.elements['tragos_totales'+ cod_tt].value=round2(n5,1)

			f.elements['total_evento'+ cod_tt].value=redondear(o5)
			botellas=((o5*1)*(h11*1))/d11;
			// DEBUG
			//alert("row: "+i+ " \ncoef("+coef+")=vc(coe("+coe+"),f.elements['cod_tt'+i].value("+f.elements['cod_tt'+i].value+"))\nn5("+n5+")=coef("+coef+")*b2("+b2+")*b4("+b4+")\no5("+o5+")=n5("+n5+")*m5("+m5+")*b3("+b3+")\nbotellas("+botellas+")= (o5("+o5+")*h11("+h11+")=m11("+m11+")/sum_tragos_largos("+sum_tragos_largos+"))/d11 ("+d11+")")
			f.elements['cant_bot'+i].value=redondear(botellas)
			
			//cognac
			if(f.elements["prd_desc"+i].value == "Cognac"){
			h24=(m11*1)/(sum_digestivos*1)
			f.porc_b.value=parseInt(redondear(h24,2)*100)
			m5_1=63
			coe=coe_tipo_trago()
			coef_1=vc(coe,3)
			n5_1=coef_1*b2*b4
			o5_1=(n5_1*m5_1)
			o5_1=o5_1*b3
			f.tragos_totales3.value=round2(n5_1,1)
			f.total_evento3.value=redondear(o5_1)
			aa=(o5*1)*(h11*1);
			bb=(o5_1*1)*(h24*1)
			botellas=((aa*1)+(bb*1))/d11;
			
			//DEBUG COGNAC
			//alert("DEBUG COGNAC\naa("+aa+")=o5("+o5+")*h11("+h11+")\nbb("+bb+")=o5_1("+o5_1+")*h24("+h24+")\nbotellas("+botellas+")=(aa("+aa+")+bb("+bb+"))/d11("+d11+");")
			f.elements['cant_bot'+i].value=redondear(botellas)
			
			}
		}
	}
	}
	
	b();
	inicializar();
}


//***************************************
//Triggered by:Checkbox select productX (164) A.A.S.
function calcular2(obj,row){
	
	
	var f=document.f
	var b2=f.horas.value
	var b3=f.invitados.value
	var b4=f.consumo.value
	var sumatoria_ml=0 //ml_trago por categoria
	var ok=0
	var clave = 0
	var ml_botella = 0
	//var id_producto = parseInt(clave.substring(0,4),10)
	//Borrar: alert("Clave del Botella: " + ml_botella)
    //Borrar: alert("Clave del Producto: " + id_producto)
	//Verifico si ingresó Horas del evento.
	if(b2 == "" || b2 == 0 || b2 > 24 ){
	alert("Por favor ingresa la cantidad de horas que durará el evento\nentre 1 y 24 horas")
	f.horas.focus();
	f.elements['check'+row].value=0
	//obj.checked=false A.A.S.
	ok=1
	}
	//Verifico el número de invitados.
	if(ok == 0 && (b3 == "" || b3 < 10 || b3 > 10000)){
	alert("Por favor ingresa la cantidad de invitados que tendrá el evento\nEntre 10 y 10000")
	f.invitados.select();
	f.elements['check'+row].value=0
	//obj.checked=false A.A.S.
	ok=1
	}
	if(ok == 0){
	    //Atención!!!!!!!!!!!!!!!!!!			
		//chkprd(obj,row)
		
		/*if(obj.checked){
		f.elements['check'+row].value=1
		}else{
		f.elements['check'+row].value=0
		}*/
		var cod_coe=""
		var tragos_largos=0;
		var vinos=0;
		var digestivos=0;
		var cod_tt=f.elements['cod_tt'+row].value
		
		//Acaso esta parte de código no esta haciendo absolutamente nada?????????????? A.A.S.
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1){
			//alert('vuelta:'+ i)
			}else{
				f.elements['cant_bot'+i].value=0
				f.elements['porc'+i].value=0
			}
		}
		// hay que recorrer en busca de tipos de tragos seleccionados, si hay tipos de tragos sin ninguna seleccion hay que poner los totales en cero
		//Recorre el arreglo para determinar el tipo de trago que hay en cada renglón (!!!) A.A.S.
		for (var n=1; n<f.vueltas.value; n++){
     		if(f.elements['check'+n].value == 1){
				if(f.elements['cod_tt'+n].value == 1){tragos_largos=1}
				if(f.elements['cod_tt'+n].value == 2){vinos=1}
				if(f.elements['cod_tt'+n].value == 3){digestivos=1}
			}
		}
        //Según lo encontrado, pone los subtotales por categoría a ceros. A.A.S.
		if(tragos_largos == 0){
			f.elements['tragos_totales1'].value=0
			f.elements['total_evento1'].value=0
		}
		if(vinos == 0){
			f.elements['tragos_totales2'].value=0
			f.elements['total_evento2'].value=0
		}
		if(digestivos == 0){
			f.elements['tragos_totales3'].value=0
			f.elements['total_evento3'].value=0
		}

		//Tengo que sumar los ml_tragos seleccionados y dividirlo por el ml_trado seleccionado
		var sum_tragos_largos=0;
		var sum_vinos=0;
		var sum_digestivos=0;
		var h24=0

		for (var i=1; i<f.vueltas.value; i++) 
		{
			if(f.elements['check'+i].value == 1)
			{
				//Acumulo el codigo para obtener el coeficiente
				if(cod_coe.indexOf(f.elements['cod_tt'+i].value) == -1)
				{
					cod_coe=cod_coe+f.elements['cod_tt'+i].value 
				}
			}
		}
        
		//Verifica si entre lo seleccionado está algún tequila. A.A.S.
		tequila_100=0
		tequila_mixto=0
		row_tequila_100=0
		row_tequila_mixto=0

		for (var i=1; i<f.vueltas.value; i++) {
				if(trim(f.elements["prd_desc"+i].value) == "Tequila 100% agave"){
						if(f.elements['selected'+i].checked == true){
							tequila_100=1	// con esto digo que tequila 100% agave está seleccionado
						}
						row_tequila_100=i //saco en que fila está el tequila 100% agave
				}
					if(trim(f.elements["prd_desc"+i].value) == "Tequila Mixto" ){
						if(f.elements['selected'+i].checked == true){
							tequila_mixto=1	// con esto digo que tequila mixto está seleccionado
						}
						row_tequila_mixto=i //saco en que fila está el tequila mixto
					}
		}
        
		
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1){
				
				if(f.elements['cod_tt'+i].value == 1){
					if(i == row_tequila_100 ){
						if(tequila_mixto){
							if(tequila_100){
								sum_tragos_largos=(sum_tragos_largos*1)+15
							}else{
								sum_tragos_largos=(sum_tragos_largos*1)+0
							}
						}else{
							if(tequila_100){
								sum_tragos_largos=(sum_tragos_largos*1)+40
							}else{
								sum_tragos_largos=(sum_tragos_largos*1)+15
							}
						}
						
					}else{
						if(i == row_tequila_mixto ){
							if(tequila_100){
								if(tequila_mixto){
									sum_tragos_largos=(sum_tragos_largos*1)+25;
								}else{
									sum_tragos_largos=(sum_tragos_largos*1)+0
								}
							}else{
								if(tequila_mixto){
									sum_tragos_largos=(sum_tragos_largos*1)+40
								}else{
									sum_tragos_largos=(sum_tragos_largos*1)+25
								}
								
							}

						}else{	
						//DEBUG 
						// alert("i ("+i+")== row_tequila_100 ("+row_tequila_100+")")
						// alert("row ("+row+")== row_tequila_mixto ("+row_tequila_mixto+") && i ("+i+") == row\n row == row_tequila_100 ("+row_tequila_100+") && i == row\nsum_tragos_largos("+sum_tragos_largos+")+f.elements['ml_trago'+i].value ("+f.elements['ml_trago'+i].value+")")
						
						//Si NO es tequila suma tragos lasros * 1 + ml_trago A.A.S.
						sum_tragos_largos=(sum_tragos_largos*1)+(f.elements['ml_trago'+i].value*1);
						}
					}
					
				}

				if(f.elements['cod_tt'+i].value == 2){
					sum_vinos=(sum_vinos*1)+(f.elements['ml_trago'+i].value*1);
				}

				if(f.elements['cod_tt'+i].value == 3 || f.elements["prd_desc"+i].value == "Cognac"){
					sum_digestivos=(sum_digestivos*1)+(f.elements['ml_trago'+i].value*1);
				}
			}
		}
		
		//sumatoria_ml=(sumatoria_ml*1)+(f.elements['ml_trago'+i].value*1)
		//doy tantas vueltas como categorias se hayan desplegado y recorro y trabajo solo con las seleccionadas
		for (var i=1; i<f.vueltas.value; i++) {
		
		if(f.elements['check'+i].value == 1){
		   if(f.elements["prd_desc"+i].value == "Cognac")
		     {cod_coe='13'}

		var cod_tt=f.elements['cod_tt'+i].value
		if(cod_coe == ""){var cod_coe =1}

		m5=f.elements['tipo_ml_trago'+i].value //row

		//ML de la Botella REALES
		//d11=f.elements['ml'+i].value A.A.S.
		clave=f.elements['productos'+i].value;
		if (clave > 0){
        ml_botella = parseInt(clave.substring(4),10)
		d11=ml_botella
		}else{
		d11=750;}
		//alert("tamaño de botella["+i+"]: "+d11);
        f.elements['ml'+i].value = d11
		//alert("En el box["+i+"]: "+f.elements['ml'+i].value);
		m11=f.elements['ml_trago'+i].value
			
			if(i == row_tequila_100){
				if(tequila_mixto){
					if(tequila_100){
						m11=15
					}else{
						m11=0
					}
				}else{
					if(tequila_100){
						m11=40
					}else{
						m11=15
					}
				}
			}
			// Tequila Mixto
			if(i == row_tequila_mixto){
				if(tequila_100){
					if(tequila_mixto){
						m11=25
					}else{
						m11=0
					}
				}else{
					if(tequila_mixto){
						m11=40
					}else{
						m11=25
					}
				}
			}

			if(f.elements['cod_tt'+i].value == 1){h11=m11/sum_tragos_largos}
			if(f.elements['cod_tt'+i].value == 2){h11=m11/sum_vinos}
			if(f.elements['cod_tt'+i].value == 3){h11=m11/sum_digestivos}
			f.elements['porc'+i].value=parseInt(redondear(h11,2)*100)
			coe=coe_tipo_trago()
			coef=vc(coe,f.elements['cod_tt'+i].value)
			n5=tragos_totales(f.elements['cod_tt'+i].value)
			o5=n5*m5*b3

			f.elements['tragos_totales'+ cod_tt].value=round2(n5,1)

			f.elements['total_evento'+ cod_tt].value=redondear(o5)
			botellas=((o5*1)*(h11*1))/d11;
			// DEBUG
			//alert("row: "+i+ " \ncoef("+coef+")=vc(coe("+coe+"),f.elements['cod_tt'+i].value("+f.elements['cod_tt'+i].value+"))\nn5("+n5+")=coef("+coef+")*b2("+b2+")*b4("+b4+")\no5("+o5+")=n5("+n5+")*m5("+m5+")*b3("+b3+")\nbotellas("+botellas+")= (o5("+o5+")*h11("+h11+")=m11("+m11+")/sum_tragos_largos("+sum_tragos_largos+"))/d11 ("+d11+")")
			f.elements['cant_bot'+i].value=redondear(botellas)
			
			//cognac
			if(f.elements["prd_desc"+i].value == "Cognac"){
			h24=(m11*1)/(sum_digestivos*1)
			f.porc_b.value=parseInt(redondear(h24,2)*100)
			m5_1=63
			coe=coe_tipo_trago()
			coef_1=vc(coe,3)
			n5_1=coef_1*b2*b4
			o5_1=(n5_1*m5_1)
			o5_1=o5_1*b3
			f.tragos_totales3.value=round2(n5_1,1)
			f.total_evento3.value=redondear(o5_1)
			aa=(o5*1)*(h11*1);
			bb=(o5_1*1)*(h24*1)
			botellas=((aa*1)+(bb*1))/d11;
			
			//DEBUG COGNAC
			//alert("DEBUG COGNAC\naa("+aa+")=o5("+o5+")*h11("+h11+")\nbb("+bb+")=o5_1("+o5_1+")*h24("+h24+")\nbotellas("+botellas+")=(aa("+aa+")+bb("+bb+"))/d11("+d11+");")
			f.elements['cant_bot'+i].value=redondear(botellas)
			
			}
		}
	}
	}
	
	b();
	inicializar();
    
}	
//***************************************	


    function chkprd(obj,row){
    //Habilita el checkbox de confirmación, según el tipo de navegador.
		if(navigator.appName != 'Netscape') {
            if(obj.checked == false){
                document.all["prod" + row].style.visibility="hidden"
            }else{
				document.all["prod" + row].style.visibility="visible"
 
			};  
        }else{
			if(obj.checked == false){
                document.layers["prod" + row].visibility="hide"
            }else{
				document.layers["prod" + row].visibility="hide"
            };  
        }
		producto(obj,row)
    }
 
     function marca_box(obj,row){
    //Habilita el checkbox de confirmación para obviar ese paso. A.A.S. 03/03/05
		if(navigator.appName != 'Netscape') {
            if(obj.checked == false){
                document.all["prod" + row].cheked="true"
            }else{
                document.all["prod" + row].checked="false"
			};  
          }
	}
 
	function precios(){
	var f=document.f
	var total=0
	var bonitemp=0
	   //meto los importes 
		for (var i=1; i<f.vueltas.value; i++) { 
			if(f.elements['check'+i].value == 1 ){
				if(f.elements['prod'+i].checked){
					// alert(f.elements['cant_bot'+i].value)
					//saco el importe
					cod_producto=f.elements['productos'+i].value
					if (cod_producto != 0)//Si es cero, en realidad no ha seleccionado nada del drop down de productos; ergo, no hago nada. A.A.S.
					{
					clave = f.elements['productos'+i].value
					cod_producto = parseInt(clave.substring(0,4),10)
					f.elements['importe'+i].value = (JSNumberFormat(f.elements['cant_bot'+i].value)*1)*(JSNumberFormat(f.elements['precio_producto_'+cod_producto].value)*1)
					total =  (total*1)+(f.elements['importe'+i].value*1) 
					f.elements['importe'+i].value = FormatNumber(f.elements['importe'+i].value,2,false,false,true) 
 				    
					//bonificacion para contado
					//if(f.contado.checked && f.elements['precio_contado_'+cod_producto].value != 0 ){
					//	f.elements['bon_marca'+i].value = ((f.elements['precio_producto_'+cod_producto].value*1)-(f.elements['precio_contado_'+cod_producto].value*1))*f.elements['cant_bot'+i].value 
					//	bonitemp=(bonitemp*1)+(f.elements['bon_marca'+i].value*1)
 					    //Borrar: alert("Lo que iría en bon_marca:" + ((f.elements['precio_producto_'+cod_producto].value*1)-(f.elements['precio_contado_'+cod_producto].value*1))*f.elements['cant_bot'+i].value)
						//Borrar: alert("Bonitemp:"+bonitemp)
					//}
					}//Final if cod_producto != 0
	
				}
			}
		}
		f.total.value = FormatNumber(JSNumberFormat(total*1),2,false,false,true)
		f.bonificacion.value = FormatNumber(JSNumberFormat((bonitemp*1)),2,false,false,true) 
		f.importe_depositar.value = JSNumberFormat((total*1))-JSNumberFormat((bonitemp*1)) 
		f.importe_depositar.value = FormatNumber(redondear(f.importe_depositar.value*1,2),2,false,false,true) 
		if(f.importe_depositar.value == 'NaN'){
			if(navigator.appName != 'Netscape') {
				document.all["div_recalcular"].style.visibility="visible"
			}else{
				document.layers["div_recalcular"].visibility="show"
			}
		}else{
			if(navigator.appName != 'Netscape') {
				document.all["div_recalcular"].style.visibility="hidden"
			}else{
				document.layers["div_recalcular"].visibility="hide"
			}
			
		}
	}
	
	function precios2(){
	var f=document.f 
	var total=0
	var bonitemp=0
	var clave = "" 
	//var id_producto = parseInt(clave.substring(0,4),10)
	//var ml_botella = parseInt(clave.substring(4,4),10)
	   //meto los importes 
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1 ){
				if(f.elements['prod'+i].checked){
					// alert(f.elements['cant_bot'+i].value)
					//saco el importe
					clave = f.elements['productos'+i].value
					cod_producto = parseInt(clave.substring(0,4),10)
					//alert("Clave en precios2: " + cod_producto)
					if (cod_producto != 0)//Si es cero, en realidad no ha seleccionado nada del drop down de productos; ergo, no hago nada. A.A.S.
					{
					f.elements['importe'+i].value = (JSNumberFormat(f.elements['cant_bot'+i].value)*1)*(JSNumberFormat(f.elements['precio_producto_'+cod_producto].value)*1)
					total=(total*1)+(f.elements['importe'+i].value*1)
   				    f.elements['importe'+i].value = FormatNumber(f.elements['importe'+i].value,2,false,false,true)
					//bonificacion para contado
					//if(f.contado.checked && f.elements['precio_contado_'+cod_producto].value != 0 ){
					//	f.elements['bon_marca'+i].value = ((f.elements['precio_producto_'+cod_producto].value*1)-(f.elements['precio_contado_'+cod_producto].value*1))*f.elements['cant_bot'+i].value 
					//	bonitemp=(bonitemp*1)+(f.elements['bon_marca'+i].value*1)
						//Borrar: alert("Lo que iría en bon_marca:" + ((f.elements['precio_producto_'+cod_producto].value*1)-(f.elements['precio_contado_'+cod_producto].value*1))*f.elements['cant_bot'+i].value)
						//Borrar: alert("Bonitemp:"+bonitemp)
					//}
					}//Final if cod_producto != 0
	
				}
			}
		}
   	    f.total.value = FormatNumber(JSNumberFormat(total*1),2,false,false,true)
		f.bonificacion.value = FormatNumber(JSNumberFormat((bonitemp*1)),2,false,false,true) 
		f.importe_depositar.value = JSNumberFormat((total*1))-JSNumberFormat((bonitemp*1)) 
		f.importe_depositar.value = FormatNumber(redondear(f.importe_depositar.value*1,2),2,false,false,true) 
		if(f.importe_depositar.value == 'NaN'){
			if(navigator.appName != 'Netscape') {
				document.all["div_recalcular"].style.visibility="visible"
			}else{
				document.layers["div_recalcular"].visibility="show"
			}
		}else{
			if(navigator.appName != 'Netscape') {
				document.all["div_recalcular"].style.visibility="hidden"
			}else{
				document.layers["div_recalcular"].visibility="hide"
			}
			
		}
	}
 
function verify_bonus(){
	var f=document.f 
	var gratis=""
	var cantidad=0
	var botella=""
		for (var i=1; i<f.vueltas.value; i++) {
			if(f.elements['check'+i].value == 1 ){ 
				if(f.elements['prod'+i].checked){
				    cantidad = parseInt((f.elements['cant_bot'+i].value)/12)
					if ( cantidad > 0 ){
                       botella=botella+cantidad+" "+f.elements['productos'+i].options[f.elements['productos'+i].selectedIndex].text+"\n"
					   //alert(f.elements['productos'+i].options[f.elements['productos'+i].selectedIndex].text);					   
                    } 
			     }
			 }
		  } 
     f.elements['texto_gratis'].value=botella;
}

    //Creo que verifica que si acepta, pone la lista de productos y de inmediato calcula totales para el primero
    function producto(obj,row){
		precios()
		var f=document.f
        if(navigator.appName != 'Netscape') {
            if(obj.checked == true && f.elements['prod'+row].checked){
				document.all["productos" + row].style.visibility="visible"
				// para el precio
				cod_producto=f.elements['productos'+ row].value
				if(cod_producto != 0)//Si es cero, en realidad no ha seleccionado nada del drop down de productos; ergo, no hago nada. A.A.S.
				{
				f.elements['importe'+ row].value=(f.elements['cant_bot'+row].value*1)*(f.elements['precio_producto_'+cod_producto].value*1)
				}

			}else{
                document.all["productos" + row].style.visibility="hidden"
				// para el precio
				f.elements['importe'+ row].value=""
            };  
        }else{
			if(obj.checked == true && f.elements['prod'+row].checked){
				document.layers["productos" + row].visibility="show"
				// para el precio
				cod_producto=f.elements['productos'+ row].value
				if(cod_producto != 0)//Si es cero, en realidad no ha seleccionado nada del drop down de productos; ergo, no hago nada. A.A.S.
				{
				f.elements['importe'+ row].value=(f.elements['cant_bot'+row].value*1)*(f.elements['precio_producto_'+cod_producto].value*1)
				}

			}else{
                document.layers["productos" + row].visibility="hide"
				// para el precio
				f.elements['importe'+ row].value=""

            };  
        }
    }


