Banco de Chile Depósitos

By Jens Hardings Last update Jan 10, 2007 — Installed 133 times. Daily Installs: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0
// ==UserScript==
// @name	Banco de Chile Depósitos
// @namespace	http://www.hardings.cl/hacking/greasemonkey/bancochile
// @description	Corrige las deficiencas en los depositos a plazos. (basado en versión de Andrés Junge <ajunge@totexa.cl>)
// @include	https://www.bancochile.cl/cgi-bin/cgi_capsolnew*
// @include	http://www.bancochile.cl/cgi-bin/cgi_siminv00
// @include	https://www.bancochile.cl/cgi-bin/cgi_capctenew
// ==/UserScript==

// Definido en cgi_capsolnew
unsafeWindow.levantar_tab = function(nombreTab) {
   forms_base=unsafeWindow.Reconoce_Form('Tab2','FORM2');
   if (navigator.appName=='Netscape'){
      document.getElementById('Tab1').style.visibility="hidden";
      document.getElementById('Tab2').style.visibility="hidden";
      document.getElementById(nombreTab).style.visibility="visible";
   } else {
      document.all['Tab1'].style.visibility="hidden";
      document.all['Tab2'].style.visibility="hidden";
      document.all[nombreTab].style.visibility="visible";
   }
}

// Definido en cgi_capsolnew
unsafeWindow.Reconoce_Form = function(id_Tab, id_form) {
   if (navigator.appName=='Netscape')
      forms_base=document.getElementsByName(id_form)[0];
   else 
      forms_base=document.forms[id_form];
   
 return (forms_base);
}

// Definido en cgi_capsolnew
unsafeWindow.popup = function(Tabla,forma,pagina) {
 forms_base = unsafeWindow.Reconoce_Form(Tabla,forma);      
 portal = forms_base.elements.namedItem("pagina").value;
 ruta="https://www.bancochile.cl/cgi-bin/navega?pagina=captaciones/"+pagina; 
 if (pagina='ayuda') {
   window.open(ruta,"V2", "resizable=no,menubar=no,location=no,toolbar=no,status=no,scrollbars=yes,directories=no,width=420,height=420");
 } else {
   window.open(ruta,"V2", "resizable=no,menubar=no,location=no,toolbar=no,status=no,scrollbars=no,directories=no,width=420,height=420");
 }
}

// Definido en cgi_capsolnew
unsafeWindow.popup_tasa = function(Tabla,forma,pagina) {
 forms_base=unsafeWindow.Reconoce_Form(Tabla,forma);
 portal = forms_base.elements.namedItem("pagina").value;
 ruta2="https://www.bancochile.cl/cgi-bin/cgi_pizarra?pagina=inversiones/captaciones/"+pagina;
 
 if (pagina='depplaz') {
   window.open(ruta2,"V2", "resizable=no,menubar=no,location=no,toolbar=no,status=no,scrollbars=yes,directories=no,width=550,height=400");
 }
}

// Definido en cgi_capsolnew
unsafeWindow.valida_producto = function(Tabla,forma) {
  forms_base=unsafeWindow.Reconoce_Form(Tabla,forma);      
  forms_base.elements.namedItem("Recalcular").value = "0"; 
  forms_base.getElementsByTagName("img").namedItem("msg1").src = "img/m0.gif";
  if (forms_base.name=="FORM2") {
     forms_base.elements.namedItem("Retsol").value = "NULL";
     tipo  = forms_base.elements.namedItem("TipoOperacion").options[forms_base.elements.namedItem("TipoOperacion").selectedIndex].value;
     if (tipo == "" || unsafeWindow.VerificaCeros(tipo))                                      
     {
       forms_base.getElementsByTagName("img").namedItem("msg1").src = "img/m8.gif";
       return false;                                                              
     }  
     unsafeWindow.SetMoneda(Tabla,forma);
  }
  return true;                                                                  
}                                                                               

// Definido en cgi_capsolnew
unsafeWindow.valida_monto = function(forma) {
  forma.getElementsByTagName("img").namedItem("msg1").src = "img/m0.gif";
  valor  = forma.elements.namedItem("Capital").value;
  forma.elements.namedItem("Recalcular").value = "0";
  if (forma.name=="FORM1"){
     minimo = forma.elements.namedItem("Minimo").value;
     minimo = desformat(minimo);
  }
  if (valor == "" || unsafeWindow.VerificaCeros(valor))
  {
     forma.getElementsByTagName("img").namedItem("msg1").src = "img/m2.gif";
     forma.elements.namedItem("Retsol").value = "NULL";
     return false;
  }
  valor = unsafeWindow.desformat(valor);
  if (!unsafeWindow.ValidaValor(valor,forma,2,11,4))                                               
  {                                                                             
    forma.getElementsByTagName("img").namedItem("msg1").src = "img/m1.gif";                         
    forma.elements.namedItem("Retsol").value = "NULL";
    return false;                                                            
  }
  if (forma.name=="FORM1") {
     if ( parseInt(valor,11) < parseInt(minimo,11) ) {
       forma.getElementsByTagName("img").namedItem("msg1").src = "img/m3.gif";
       forma.elements.namedItem("Retsol").value = "NULL";
       return false; 
     }
  }
  return true;
}                                         

// Definido en cgi_capsolnew
unsafeWindow.valida_plazo = function(f) {
  f.elements.namedItem("Recalcular").value = "0";
  plazo = f.elements.namedItem("Plazo").value;
  plazonum = "";

  if (f.name=="FORM1") {
     tipo  = f.elements.namedItem("TipoOperacion").value;
     for (h=0; h < plazo.length; h++) {                                                                     
        if (plazo.charAt(h)!= "0"){
           plazonum = plazonum + plazo.charAt(h);
        }
     }
     plazo = plazonum;
  }
  else
     tipo  = f.elements.namedItem("TipoOperacion").options[f.elements.namedItem("TipoOperacion").selectedIndex].value;
  if (plazo == "" || unsafeWindow.VerificaCeros(plazo))
  {
    f.getElementsByTagName("img").namedItem("msg1").src = "img/m5.gif";
    f.elements.namedItem("Retsol").value = "NULL";
    return false;
  }
  else if (!unsafeWindow.Numerico(plazo))
  {
    f.getElementsByTagName("img").namedItem("msg1").src = "img/m4.gif";
    f.elements.namedItem("Retsol").value = "NULL";
    return false;
  }
  if(tipo == "1100100"){
    if(parseInt(plazo) >= 30 && parseInt(plazo) <= 89){
      return true;
    } 
    else{
      f.getElementsByTagName("img").namedItem("msg1").src = "img/m6.gif";
    }
  }

  if(tipo == "1110198"){
    if(parseInt(plazo) >= 90 && parseInt(plazo) <= 365){
      return true;
    } 
    else{
      f.getElementsByTagName("img").namedItem("msg1").src = "img/m6.gif";
    }
  }
  if(tipo == "1200100"){
    if(parseInt(plazo) == 30 || parseInt(plazo) == 35 || parseInt(plazo) == 60){
      return true;
    } 
    else{
      f.getElementsByTagName("img").namedItem("msg1").src = "img/m6.gif";
    }
  }
  //if(tipo == "1210100"){
  //  if(parseInt(plazo) == 90 || parseInt(plazo) == 180){
  //    return true;
  //  } 
  //  else{
  //    f.elements["msg1"].src = "img/m6.gif";
  //  }
  //}
  if(tipo == "1210198"){
    if(parseInt(plazo) == 90 || parseInt(plazo) == 91){
      return true;
    } 
    else{
      f.getElementsByTagName("img").namedItem("msg1").src = "img/m6.gif";
    }
  }
}

// Definido en cgi_capsolnew
unsafeWindow.valida = function(id_Tab,f,cgi) {
 forms_base=unsafeWindow.Reconoce_Form(id_Tab,f);
 recal = forms_base.elements.namedItem("Recalcular").value;
 recal2= forms_base.elements.namedItem("Retsol").value;
 forms_base.getElementsByTagName("img").namedItem("msg1").src = "img/m0.gif";
 if ( (cgi == "cgi_capctenew") && (recal == "0")) {
     forms_base.getElementsByTagName("img").namedItem("msg1").src = "img/m7.gif";
   }  
  else if ( (!unsafeWindow.valida_producto(id_Tab,f)) || (!unsafeWindow.valida_plazo(forms_base)) || (!unsafeWindow.valida_monto(forms_base)) ){ 
      forms_base.elements.namedItem("Recalcular").value = "0";
      recal = forms_base.elements.namedItem("Recalcular").value;     
    }
   else {
     if (f=='FORM2'){
       forms_base.elements.namedItem("GLTOPERACION").value = forms_base.elements.namedItem("TipoOperacion").options[forms_base.elements.namedItem("TipoOperacion").selectedIndex].text;
       texto2 = forms_base.elements.namedItem("TipoOperacion").options[forms_base.elements.namedItem("TipoOperacion").selectedIndex].text;
        texto1= "";
        to = forms_base.elements.namedItem("TipoOperacion").options[forms_base.elements.namedItem("TipoOperacion").selectedIndex].value.substring(0,2);
        if (to=="11") {
          texto1 = "DEPOSITO A PLAZO FIJO ";
        }
        else { 
          texto1 = "DEPOSITO A PLAZO INDEFINIDO RENOVABLE ";
        }
     }
     if (f=='FORM1'){ 
       forms_base.elements.namedItem("TipoOperOf").value = forms_base.elements.namedItem("TipoOperacion").value;
       forms_base.elements.namedItem("CapitalOf").value = forms_base.elements.namedItem("Capital").value;
       forms_base.elements.namedItem("PlazoOf").value = forms_base.elements.namedItem("Plazo").value;
        texto1= "";
        texto2 = forms_base.elements.namedItem("GLTOPERACION").value;
     }
     forms_base.elements.namedItem("Recalcular").value = "1";
     forms_base.action= "/cgi-bin/" + cgi;
     forms_base.elements.namedItem("GLTOPERACION").value = texto1 + texto2;
     forms_base.submit();
     return true;
   }
 }

// Definido en cgi_capsolnew
unsafeWindow.SetMoneda = function(Tabla,f) {
  forms_base=unsafeWindow.Reconoce_Form(Tabla,f);
  tm = forms_base.elements.namedItem("TipoOperacion").options[forms_base.elements.namedItem("TipoOperacion").selectedIndex].value.substring(5,7);
  for (i = forms_base.elements.namedItem("moneda").options.length; i > 0; i--)
  {
   forms_base.elements.namedItem("moneda").options[i] = null;
  }
  if (tm == "00") {
     forms_base.elements.namedItem("moneda").options[0] = new Option("PESOS ");
     forms_base.elements.namedItem("moneda").options[0].value = "PESOS ";
     forms_base.elements.namedItem("moneda").options[0].selected = true; 
  }
  else if (tm == "98") {
     forms_base.elements.namedItem("moneda").options[0] = new Option("U.F.  ");
     forms_base.elements.namedItem("moneda").options[0].value = "U.F.  ";
     forms_base.elements.namedItem("moneda").options[0].selected = true; 

  }else {
     forms_base.elements.namedItem("moneda").options[0] = new Option("PESOS ");
     forms_base.elements.namedItem("moneda").options[0].value = "PESOS ";
     forms_base.elements.namedItem("moneda").options[0].selected = true; 
  }
  return true;
}

// Definido en cgi_capsolnew
unsafeWindow.SetPro = function(f) {
//alert("SETPRO");
  f.elements.namedItem("Recalcular").value = "0";
  op = f.elements.namedItem('TipoOperacion').options[0].value;
  if ((f.elements.producto[0].checked)){
     unsafeWindow.Borra_Select("TipoOperacion",f);
     unsafeWindow.Muestra_NewSelect("TipoOperacion",f,"11",op);
  }
  if ((f.elements.producto[1].checked)){
     unsafeWindow.Borra_Select("TipoOperacion",f);
     unsafeWindow.Muestra_NewSelect("TipoOperacion",f,"12",op);
  }
 
 return true;
}

// Definido en cgi_capsolnew
unsafeWindow.Muestra_NewSelect = function(obj,f,tipo,oldTOper)
{
  //oldTOper = f.elements["TipoOperacion"].options[f.elements["TipoOperacion"].selectedIndex].value;
  if (oldTOper=="") {
     if (tipo=="11") {
       f.elements.namedItem(obj).options[0].value = "1100100";
       oldTOper = f.elements.namedItem(obj).options[f.elements.namedItem(obj).selectedIndex].value;
       f.elements.namedItem("GLTOPERACION").value="$ DESDE 30 A 89 DIAS";
     }
     else {
       f.elements.namedItem(obj).options[0].value = "1200100";
       oldTOper = f.elements.namedItem(obj).options[f.elements.namedItem(obj).selectedIndex].value;
       f.elements.namedItem("GLTOPERACION").value="$ 30,35,60 DIAS";
    }
  }
  if (tipo=="11"){ 
     f.elements.namedItem(obj).options[0] = new Option("$ DESDE 30 A 89 DIAS");
     f.elements.namedItem(obj).options[0].value = "1100100";
     //f.elements.namedItem(obj).options[1] = new Option("UF DESDE 90 A 365 DIAS");
     //f.elements.namedItem(obj).options[1].value = "1110198";
     if(oldTOper=="1100100") {
       f.elements.namedItem(obj).options[0].selected = true; 
     }
     else {
       //f.elements.namedItem(obj).options[1].selected = true; 
     }
  }
  if (tipo=="12"){ 
     f.elements.namedItem(obj).options[0] = new Option("$ 30,35,60 DIAS");
     f.elements.namedItem(obj).options[0].value = "1200100";
     f.elements.namedItem(obj).options[0].selected = true;
       //f.elements.namedItem(obj).options[1] = new Option("$ 90,180 DIAS");
       //f.elements.namedItem(obj).options[1].value = "1210100";
     //f.elements.namedItem(obj).options[1] = new Option("UF 90,91 DIAS");
     //f.elements.namedItem(obj).options[1].value = "1210198";
     if (oldTOper=="1200100") {
       f.elements.namedItem(obj).options[0].selected = true; 
     }
      //else if (oldTOper=="1210100")
      //  f.elements.namedItem(obj).options[1].selected = true; 
     else {
       //f.elements.namedItem(obj).options[1].selected = true; 
     }
  }
  unsafeWindow.SetMoneda("Tab2","FORM2");
}

// Definido en cgi_capsolnew
unsafeWindow.MuestraCheck = function(valor)
{
  f=unsafeWindow.Reconoce_Form('Tab2','FORM2');
  op = f.elements.namedItem('TipoOperacion').options[0].value;
  if (valor=="11")
      buscaElemento(f, "producto", 0).checked=true;
  if (valor=="12")
      buscaElemento(f, "producto", 1).checked=true;
  unsafeWindow.Muestra_NewSelect("TipoOperacion",f,valor,op);
}

// función auxiliar de MuestraCheck.
function buscaElemento(form, nombre, n) {
  var i = -1, j = 0;
  for (var j = 0; j < form.length; j++) {
    if (form.elements[j].name == nombre) {
    	i++;
    	if (i == n) {
    	  return form.elements[j];
    	}
    }
  }
  return null;
}

// Definido en cgi_capsolnew
unsafeWindow.ValidaValor = function(forma, objeto,tipo, lentero, ldecimal)
/*** 1 tasa  2  Monto ****/
{
  aux="";
  aux1="";
  flag=0;
  for (h=0; h < forma.length; h++)
  {
     if ((forma.charAt(h) == "." || forma.charAt(h) == ",") && flag==0)
     {
       flag=1
     }
     else{
       if (flag==1)
         aux1=aux1 + forma.charAt(h);
       else
         aux=aux + forma.charAt(h);
       if (isNaN(parseInt(forma.charAt(h),10)))
       {
         return false;
       }
   }
 }
 if (aux.length > lentero || aux1.length >ldecimal)
    return false;
 if (tipo==1){
    document.forms[0].TasaEntero.value = aux;
    document.forms[0].TasaDecimal.value = aux1;}
 else{
    objeto.elements.namedItem("CapitalFinalE").value = aux;
    objeto.elements.namedItem("CapitalFinalD").value = aux1;
 }
 return true;
}

// definido en cgi_capctenew
unsafeWindow.envia_simulacion = function(Tabla,forma) {
     if (navigator.appName=='Netscape')
        if (document.getElementById) //es NS6+
          f=document.getElementsByName('formcapt')[0];
        else 
          f=document.layers['menu'].document.forms['formcapt'];
     else
        f=document.forms[0];
     if (f.elements.namedItem("retorno").value == "0") {
        alert("En capctenew 3");
        unsafeWindow.esconder();
        f.elements.namedItem("retorno").value="1";
        document.forms[0].action = document.forms[0].action + "cgi_caprnvnew";
        return true;
     }
}