var gastos = 1000;
var cantidadesArbitros = MultiDimensionalArray(9,3);
var cantidadesCorte = MultiDimensionalArray(6,3);

cantidadesArbitros[0][0] = 30051;
cantidadesArbitros[1][0] = 60101;
cantidadesArbitros[2][0] = 150253;
cantidadesArbitros[3][0] = 300506;
cantidadesArbitros[4][0] = 450759;
cantidadesArbitros[5][0] = 601012;
cantidadesArbitros[6][0] = 1202024;
cantidadesArbitros[7][0] = 3005060;
cantidadesArbitros[8][0] = 3005060;

cantidadesArbitros[0][1] = 601;
cantidadesArbitros[1][1] = 1.88;
cantidadesArbitros[2][1] = 1.0;
cantidadesArbitros[3][1] = 0.63;
cantidadesArbitros[4][1] = 0.38;
cantidadesArbitros[5][1] = 0.3;
cantidadesArbitros[6][1] = 0.15;
cantidadesArbitros[7][1] = 0.10;
cantidadesArbitros[8][1] = 0.04;

cantidadesArbitros[0][2] = 10;
cantidadesArbitros[1][2] = 9;
cantidadesArbitros[2][2] = 4.5;
cantidadesArbitros[3][2] = 3;
cantidadesArbitros[4][2] = 2.25;
cantidadesArbitros[5][2] = 1.2;
cantidadesArbitros[6][2] = 0.6;
cantidadesArbitros[7][2] = 0.3;
cantidadesArbitros[8][2] = 0.2;

cantidadesCorte[0][0] = 30051;
cantidadesCorte[1][0] = 60101;
cantidadesCorte[2][0] = 150253;
cantidadesCorte[3][0] = 300506;
cantidadesCorte[4][0] = 450759;
cantidadesCorte[5][0] = 450759;

cantidadesCorte[0][1] = 781;
cantidadesCorte[1][1] = 1.25;
cantidadesCorte[2][1] = 0.63;
cantidadesCorte[3][1] = 0.31;
cantidadesCorte[4][1] = 0.15;
cantidadesCorte[5][1] = 0.08;

cantidadesCorte[0][2] = 4;
cantidadesCorte[1][2] = 3;
cantidadesCorte[2][2] = 1.5;
cantidadesCorte[3][2] = 0.75;
cantidadesCorte[4][2] = 0.4;
cantidadesCorte[5][2] = 0.2;

var derechoArbitros = 25;
var derechoCorte = 20;

function calculadoraAranceles() {

    var cuantia = document.getElementById("cuantia");
    var dederecho = document.getElementById("dederecho");
    
    var arbitros = getRadioButtonSelectedValue(document.calculadora.arbitros);
    
    tramosArbitros = obtenerTramosArbitros(cuantia.value);
    tramosCorte = obtenerTramosCorte(cuantia.value);    
       
    
    valorTasa = 0;
    for (i=0; i<tramosCorte.length; i++) {
        valorTasa += tramosCorte[i][2];
    }        
    valorTasa = Math.round((parseFloat(valorTasa) + parseFloat(valorTasa * 16 / 100)) * 100) / 100;
    
    valorArbitros = 0;
    for (i=0; i<tramosArbitros.length; i++) {
        valorArbitros += tramosArbitros[i][2];
    }
    valorArbitros =  Math.round((parseFloat(valorArbitros * parseInt(arbitros)) + parseFloat((valorArbitros * parseInt(arbitros)) * 16 / 100)) * 100) / 100;
    
    if (dederecho.checked) {
        valorTasa = Math.round((valorTasa + (valorTasa * derechoCorte / 100)) * 100) / 100;
        valorArbitros = Math.round((valorArbitros + (valorArbitros * derechoArbitros / 100)) * 100) / 100;        
    }
    
    valorFondos = Math.round(((gastos + valorTasa + valorArbitros) / 2) * 100) / 100;
    
    mostrarResultados(gastos, valorTasa, valorArbitros, valorFondos, arbitros);
    
}

function obtenerTramosArbitros(cuantia) {
        
    resto = cuantia;
    tramos = MultiDimensionalArray(9,3);    
        
    for (i=0; i<cantidadesArbitros.length; i++) {                
        
        if (cuantia > cantidadesArbitros[i][0] && i < cantidadesArbitros.length - 1) {
            resto = resto - cantidadesArbitros[i][0];            
                        
            //Calcula el minimo
            if (i == 0) {
                tramos[i][0] = cantidadesArbitros[i][0];
                tramos[i][1] = cantidadesArbitros[0][1];
            } else {
                tramos[i][0] = cantidadesArbitros[i][0] - cantidadesArbitros[i-1][0];
                tramos[i][1] = tramos[i][0] * cantidadesArbitros[i][1] / 100;                
            }
            
            //Calcula el máximo
            tramos[i][2] = tramos[i][0] * cantidadesArbitros[i][2] / 100;
        } else {
		
            //Calcula el minimo
            if (i == 0) {
                tramos[i][0] = cuantia;
                tramos[i][1] = cantidadesArbitros[0][1];
            } else {
                tramos[i][0] = cuantia - cantidadesArbitros[i-1][0];
                tramos[i][1] = tramos[i][0] * cantidadesArbitros[i][1] / 100;
            }
            
            //Calcula el máximo
            tramos[i][2] = tramos[i][0] * cantidadesArbitros[i][2] / 100;
            
            break;            
        }
    }        
        
    return tramos;
    
}

function obtenerTramosCorte(cuantia) {
    
    resto = cuantia;
    tramos = MultiDimensionalArray(9,3);    
        
    for (i=0; i<cantidadesCorte.length; i++) {                
        
        if (cuantia > cantidadesCorte[i][0]  && i < cantidadesCorte.length - 1) {
            resto = resto - cantidadesCorte[i][0];            
                        
            //Calcula el minimo
            if (i == 0) {
                tramos[i][1] = cantidadesCorte[0][1];
                tramos[i][0] = cantidadesCorte[i][0];
            }
            else {
                tramos[i][0] = cantidadesCorte[i][0] - cantidadesCorte[i-1][0];
                tramos[i][1] = tramos[i][0] * cantidadesCorte[i][1] / 100;                
            }
            
            //Calcula el máximo
            tramos[i][2] = tramos[i][0] * cantidadesCorte[i][2] / 100;
        }
        else {           
                       
            //Calcula el minimo
            if (i == 0) {
                tramos[i][0] = cuantia;
                tramos[i][1] = cantidadesCorte[0][1];
            }
            else {
                tramos[i][0] = cuantia - cantidadesCorte[i-1][0];
                tramos[i][1] = tramos[i][0] * cantidadesCorte[i][1] / 100;
            }
            
            //Calcula el máximo
            tramos[i][2] = tramos[i][0] * cantidadesCorte[i][2] / 100;
            
            break;            
        }
    }        
        
    return tramos;    
    
}

function mostrarResultados(valorGastos, valorTasa, valorArbitros, valorFondos, numeroArbitros) {
    
    var gastos = document.getElementById("gastos");
    gastos.firstChild.nodeValue = valorGastos;    
    
    var tasa = document.getElementById("tasa");
    tasa.firstChild.nodeValue = valorTasa;    
    
    var honorarios = document.getElementById("honorarios");
    honorarios.firstChild.nodeValue = valorArbitros;
    
    var arbitros_resultado = document.getElementById("arbitros_resultado");
    arbitros_resultado.firstChild.nodeValue = numeroArbitros;
    
    var fondos = document.getElementById("fondos");
    fondos.firstChild.nodeValue = valorFondos;
    
    
}

function MultiDimensionalArray(iRows,iCols) {
    
    var i;
    var j;
       var a = new Array(iRows);
       for (i=0; i < iRows; i++)
       {
           a[i] = new Array(iCols);
           for (j=0; j < iCols; j++)
           {
               a[i][j] = "";
           }
       }
       return(a);
       
}

function getRadioButtonSelectedValue(ctrl) {
    for(i=0;i<ctrl.length;i++)
        if(ctrl[i].checked) return ctrl[i].value;
}