function calcular(form)
 {
    if(validCpm([form.A, form.E, form.Vo, form.To, form.Ro],
                    ["Preço Ativo", "Preço Exercício", "Volatilidade", "Dias Úteis", "Taxa de Juros"]))
    {
    document.refresh;
	var Ro1 = 1 + (form.Ro.value/100);
 	var r = Math.log(Ro1);
 	var v = (form.Vo.value/100);
    var t = (form.To.value)/252;
    var a = parseFloat(form.A.value);
    var e = parseFloat(form.E.value);
    var vrt = v * Math.sqrt(t) //utilizado para reutilizar o calculo
    var cc1 = Math.log(a/e)
    var ff2 = Math.pow(v,2)/2
    var d1 = (cc1 + ((r+ff2)*t))/vrt;
    var d2 = d1 - vrt;
    //Calculo da funcao cumulativa Normal (Nx)

    var b1 =  0.31938153;
    var b2 = -0.356563782;
    var b3 =  1.781477937;
    var b4 = -1.821255978;
    var b5 =  1.330274429;
    var aNx=  0.2316419;
    var parte1 = (1/Math.sqrt(2*3.141516));

    var k1    = 1/(1+ (aNx * d1));

    var D1parte4 = -(Math.pow(d1,2))/2;     //Exponencial -> para deixar a formula mais clara
    var D1parte2 = Math.pow(2.718282,D1parte4);
    var D1parte3 = (b1*k1) + (b2*(Math.pow(k1,2)))+ (b3*Math.pow(k1,3))+ (b4*(Math.pow(k1,4)))+ (b5*(Math.pow(k1,5)));

    var Nd1  = 1- (parte1 * D1parte2* D1parte3);

    var k2 = 1/(1 + aNx * d2);
    var D2parte4 = -(Math.pow(d2,2))/2;       //Exponencial -> para deixar a formula mais clara
    var D2parte2 = Math.pow(2.718282,D2parte4);
    var D2parte3 = b1*k2 + b2*Math.pow(k2,2)+ b3*Math.pow(k2,3)+ b4*Math.pow(k2,4)+ b5*Math.pow(k2,5)

    var Nd2 = 1 -(parte1 * D2parte2 * D2parte3);

    var C = (a * Nd1) - e * Math.pow(2.718282,(-r*t)) * Nd2;
    var Cok =  (Math.round(C*100))/100;
    form.C.value = Cok;

   if ( a < e){
      form.money.value = "Opção out-of-the-money"
      form.vrIntrinseco.value = 0;
      form.vrTempo.value = Cok;
      }
  else{
       if (a == e) {
              form.money.value = "Opção at-the-money"
              form.vrIntrinseco.value = 0;
              form.vrTempo.value = Cok;
           }
       else{
              form.money.value = "Opção in-the-money"
              form.vrIntrinseco.value = a - e;
              form.vrTempo.value = (Math.round((C-(a-e))*100)/100);
           }
      }
  }else{
        return false;}
}
