function Format(total,decimals)
 {
      var num = parseFloat(total);
      // First section sets non-number value to zero
          if (!(num = parseFloat(num)))
               num = "0.00";
      // Second section sets two decimal place format
          var Pad = "";
          num = "" + Math.floor(num * Math.pow(10,decimals + 1) + 5);
          // Pad if less than 0.10
          if(num.length < decimals+1) 
          {
               for(Count = num.length; Count <= decimals; Count++)
                    Pad += "0";
          }
          num = Pad + num;
     // Parse into final string
          num = num.substring(0,num.length - decimals - 1) + 
               "." + num.substring(num.length - decimals -1, num.length -1);
     // If less than 1 then add 0 to the left of the decimal
          if((num == "") || (parseFloat(num) < 1))
               num = "0" + num;
     // Final section returns formatted number
          return num;
}


function ActualizaPrecio (p_cant, p_unit, p_total) {
    
    if (!isNaN(parseInt(p_cant.value))) {
	    var total = p_unit * parseInt(p_cant.value);
	    var strTotal = total.toString();
	    
	    p_total.value = Format(strTotal, 2);
    }
}

function ActualizaPrecioB (p_cant, p_unit, p_total, p_totalTotal, cantRegs, formulario) {
	ActualizaPrecio (p_cant, p_unit, p_total);
	//Falta actualizar el precio TotalTotal
//	opera.postError(cantRegs);
	totaltotal = 0;
	for (i=0; i < cantRegs; i++) {
		despActual = i*5;
		
		if (formulario.elements[despActual + 3].checked == true) {
			totaltotal += formulario.elements[despActual].value * parseInt(formulario.elements[despActual + 1].value);
		}
	}
	p_totalTotal.value = Format(parseFloat(totaltotal), 2);
	
}


function ValidaCompra (p_cant) {
	var valor = parseInt(p_cant.value);
//	alert (valor);
	if (isNaN(valor)) {
		alert("Debe ingresar un número válido");
		event.returnValue=false;
	} else {
		if (valor <= 0 || valor > 1000|| valor == '' || !valor){
			alert("Debe ingresar una cantidad entre 1 y 1000 para los productos");
			event.returnValue=false;
		}
		//event.returnValue=true;
	}
	
}




/**
 * @author Guille
 * verifica si un control html especifico está dentro de
 * los valores maximos y minimos, y si es int
 * @param domInput	control El input box a validar
 * @param int		limMin 	El limite minimo
 * @param int 		limMax 	El limite maximo
 * @param domInput 	msg 	Un nombre de texto donde el 
 *							cliente debe buscar su error
 * @return false si no validó
 * invalida
 */
function ValidaInt (control, limMin, limMax, txtDonde) {
	var valor = parseInt(control.value);
	//alert ("valor de " + txtDonde + ": " + valor);
	if (isNaN(valor)) {
		alert("Debe ingresar un número entero válido en " + txtDonde);
		event.returnValue=false;
	} else {
		if (valor <= limMin || valor > limMax|| valor == '' || !valor){
			alert("Debe ingresar una cantidad entre " + limMin + " y " +  limMax+ " en " + txtDonde);
			event.returnValue=false;
		}
	}
	//event.returnValue=true;
}



/**
 * @author Guille
 * verifica si un control html especifico está dentro de
 * los valores maximos y minimos, y si es float
 * @param domInput	control El input box a validar
 * @param int		limMin 	El limite minimo
 * @param int 		limMax 	El limite maximo
 * @param domInput 	msg 	Un nombre de texto donde el 
 *							cliente debe buscar su error
 * @return false si no validó
 * invalida
 */
function ValidaFloat (control, limMin, limMax, txtDonde) {
	var valor = parseFloat(control.value);
//	alert (valor);
	if (isNaN(valor)) {
		alert("Debe ingresar un número válido en " + txtDonde);
		event.returnValue=false;
	} else {
		if (valor <= limMin || valor > limMax|| valor == '' || !valor){
			alert("Debe ingresar una cantidad entre " + limMin + " y " +  limMax+ " en " + txtDonde);
			event.returnValue=false;
		}
		//event.returnValue=true;
	}
}
