function quita_puntos(str)
{
        // retocada para obtener un valor en coma flotante
        ret="";
        for (i=0;i<str.length;i++) {
                if ((str.charAt(i)>='0' && str.charAt(i)<='9') || (str.charAt(i)==',')) {
                        ret+=str.charAt(i);
		}
                if ((str.charAt(i)<'0' || str.charAt(i)>'9') && str.charAt(i) != '.' && str.charAt(i) != ',') {
                        ret="0";
		}
	}

        if (ee==1)       
        {
                pos=ret.indexOf(',');
                if (pos !=-1)
                        ret=ret.substring(0,pos) + '.' + ret.substring(pos+1,ret.length);
        }                                       
        return ret;
}

function pon_puntos(src)
{
        // separamos la parte entera de la decimal, en caso de haberla...
        str=new String(src);
        ret="";
        dest="";
        dec="";

        j=0;
        k=0;

        posic = str.indexOf('.');
        if (posic != -1)
        {
                // tenemos decimales
                dec=str.substring(posic+1,str.length);
                str=str.substring(0,posic);
                
        }

        for (i=0;i<str.length;i++)
        {
                dest+=str.charAt(str.length-(i+1));
                k++;
                if (j==2 && i+1<str.length)
                {
                        dest+='.';
                        k++;
                        j=-1;
                }
                j++;
        }

        for (i=0;i<dest.length;i++)
        {
                ret+=dest.charAt(dest.length-(i+1));
        }
        if (posic != -1)
                return (ret + ',' + dec);
        else
                return ret;
}


function calculeuro(pesetas)
{
   cambio = parseFloat(pesetas / 166.386);

// Una vez obtenido el valor, se trabaja con 3 decimales,
// discriminando directamente los demás.

// En Explorer 3.02 no funciona el toString, le sumamos una cadena
// en blanco para pasarlo a string
//   numerotostring = (cambio * 1000).toString();

   numerotostring = (cambio * 1000) + '';
   pospunto = numerotostring.indexOf(".");
   (pospunto == -1) ? stringparteentera = numerotostring 
                     : stringparteentera = numerotostring.substring(0,pospunto);

// Aplicamos la regla de redondeo a 2 decimales:
//      - Si el tercer decimal es >= 5, redondeamos el segundo decimal
//        a la unidad superior.
//      - Si el tercer decimal es <5, redondeamos el segundo decimal
//        dejandolo como está

                
   euros = ((Math.round(stringparteentera / 10)) / 100);

// Formateamos la salida convirtiendo en un string
// con el "." como separador de miles y la "," como
// separador decimal

// En Explorer 3.02 no funciona el toString, le sumamos una cadena
// en blanco para pasarlo a string
//   eurostostring = euros.toString();

   eurostostring = euros + '';
   pospunto = eurostostring.indexOf(".");

// Si no hay parte decimal el resultado ya estaba

   if ( pospunto == -1 )
   {
      eurosformateado = eurostostring;
   }
   else
   {

// Si el "." es el primer caracter eso es que la parte entera
// es 0. Escribimos 0 y sustituimos el "." por la ","

      if ( pospunto == 0 )
      {
         eurosformateado = "0," + eurostostring.substring
                           (pospunto+1,eurostostring.length);
      }
      else
      {

// Si hay parte entera, la formateamos escribiendo un "." cada 
// cadena de 3 digitos

         eurosparteentera = eurostostring.substring(0,pospunto);
         var resto = eurosparteentera;
         var eurosformateado = "";

         while ( resto.length > 3 )
         {
            eurosformateado = "." + resto.substring
                              (resto.length-3,resto.length) + eurosformateado;
            resto = resto.substring(0,resto.length-3);
         }

// Construimos la cadena resultante añadiendo la ","
// y la parte decimal del numero

         eurosformateado = resto + eurosformateado + "," +
         eurostostring.substring(pospunto+1,eurostostring.length);

      }
   }

return eurosformateado;
}

function calculpelas(euros)
{
        return parseInt(Math.round(parseFloat(quita_puntos(euros) * 166.386)));
}

//FUNCION QUE SIMULA EL Math.round
function Math_luis12 (luis) {
cad_round = "" + luis;
pto_round = cad_round.indexOf(".");
if (pto_round != -1) {
mile_round = cad_round.substring(pto_round+1,pto_round+2);
parte_entera_round = cad_round.substring(0,pto_round);

// Si el primer decimal es mayor e igual a 5 le sumo 1 a la parte entera
	if (mile_round >= 5) {
    	num_round = parseFloat(parte_entera_round) + 1;  
	}
	else {
    	num_round = parseFloat(parte_entera_round);
	}
euro_round = num_round;
}
else
{
euro_round = luis;
}
return euro_round 
}

// FUNCION PASO DE EUROS A PESETAS
function CalculaPeseta12(valor) {
if (valor=="" || valor == "0") {
numero_pesetas = 0;
} else {
peseta = parseFloat(valor)*166.386;
// 1. Se redondea al segundo decimal
peseta_a = parseFloat(peseta*100);

//Funcion que simula Math.round
peseta_b = Math_luis12(peseta_a);
// 2. Desprecio al segundo decimal
peseta_c = ""+peseta_b; // Lo paso a cadena
peseta_d = peseta_c.substring(0,(peseta_c.length-1)); // Desprecio la ultima cifra
peseta_e = parseFloat(peseta_d/10); //voy al segundo decimal
// Redondeo al entero superior mas cercano 
numero_pesetas = Math.ceil(peseta_e);
}
return numero_pesetas
}
