/*
  $Id: math.js,v 1.3 2003/02/10 22:30:55 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

function PonPuntoMiles(cNumber) {
	var cNumberFormat;
	var nPos;
	var cDigito;

	cNumberFormat = "";
	nPos = 1;
	cDigito = "";

	for(var i=cNumber.length; i>0; i--) {
		cDigito = cNumber.substring(i-1, i);
		if(cDigito != ".") {
			if(nPos == 3 && i != 1) {
				cDigito = "." + cDigito;
				nPos = 1;
			}
			else {
				nPos = nPos + 1;
			}
		}
		else {
			cDigito = ",";
			nPos = 1;
		}
		cNumberFormat = cDigito + cNumberFormat;
	}
	return cNumberFormat;
}

function xRound(num, ndec) {
	var fact = 1;
	for (i=1; i<=ndec; i++) {
		fact *= 10;
	}
	return Math.round(num * fact)/fact;
}

function recorrerForm(oForm, sTipo)
{
	total = 0;
	for(var i=0; i<oForm.length; i++)
	{
		nombre = oForm.elements[i].name;				
		if(nombre.indexOf("referencia_") >= 0) {
			
			if(sTipo == "hab") total = total + Precio(oForm.elements[i], 0);
			if(sTipo == "ofe") total = total + Precio(oForm.elements[i], 1);
		}
	}
	return total;
}

function verImporteFinanciado(valor_select, oForm, nElem) {
	var importe_mensual, importe_tresmeses, coeficiente, precioHab, precioHabT;
	//var importe_minimo = 45.07;
	var importe_minimo = 0;
	with(oForm) {
		var cadena =new String(valor_select.options[valor_select.selectedIndex].value);
		cadena_aux = cadena.split("*");
      
		if (cadena_aux[0] == "") {
			eval("document.forms['" + oForm.name + "'].importe_financiado_" + nElem).value = "";
		}
		else {
			if(cadena_aux[0] == 3 && cadena_aux[1] == "") {
				precioHab = parseInt(eval("document.forms['" + oForm.name + "'].prOfeH_" + nElem).value);
				precioHabT = precioHab + recorrerForm(oForm, "hab");

				importe_tresmeses = parseFloat(precioHabT);
				importe_tresmeses = (importe_tresmeses/100)/3;
				importe_total = xRound(importe_tresmeses, 2);
			}
			else {
				if (cadena_aux[0] != "" && cadena_aux[1] != "") {
					precioHab = parseInt(eval("document.forms['" + oForm.name + "'].prOfeH_" + nElem).value);
					precioHabT = precioHab + recorrerForm(oForm, "hab");
					coeficiente = parseFloat(cadena_aux[1].replace(",","."));

					importe_mensual = parseFloat(precioHabT);
					importe_mensual = (importe_mensual/100) * coeficiente;
					importe_total = xRound(importe_mensual, 2);
				}
			}
			
			if ((cadena_aux[0] == 3 && cadena_aux[1] == "") || importe_total >= importe_minimo) {
				eval("document.forms['" + oForm.name + "'].importe_financiado_" + nElem).value = PonPuntoMiles(new String(importe_total));
			}
			else {
				window.alert ('El importe de la mensualidad seleccionada es menor a 30 euros.\nPor favor, selecciona un número de meses inferior.');
				eval("document.forms['" + oForm.name + "'].importe_financiado_" + nElem).value = '';
			}
		}
	}
}   		
