function escDisp()
{ 
	if (eval("document.forms[0].nesdisp.value" + "+0")== 0)
	{
		alert("Introduzca Número de Escaños Disponibles");
		document.forms[0].nvvalid.focus();
	    return (false);
	}
	
	recalcularEscanos(document.forms[0]);
}

function makeArray(n) 
  {
	this.length = n;
	for (var i =1; i<=n; i++)
	  {
		this[i]=0;
	  }
	return this;
  }

function recalcularEscanos()
  { 
  var contadores = new makeArray(10);
  var escanos;
  var votosPartidos = new makeArray(10);
  var escanosEscritos;
  var partidos;
  var mayorI;
  var mayorValor = 0;
  var totalVotos = 0;
  for (partidos =1; partidos <= 10; partidos++)
    {
      votosPartidos [partidos] = eval (eval ("document.forms[0].nvot" + partidos + ".value") + "+0");
      if (eval("document.forms[0].excl" + partidos +".checked")) 
		{
		votosPartidos[partidos] = 0
		}
      totalVotos = totalVotos + votosPartidos[partidos];
    };
  if (totalVotos > eval(document.forms[0].nvvalid.value + "+0"))
    {
      alert("La suma total de Votos ("+totalVotos+") excede los votos totales ("+eval(document.forms[0].nvvalid.value + "+0")+")");
      document.forms[0].nvvalid.value = totalVotos;
    }
  else
    {
      totalVotos = eval(document.forms[0].nvvalid.value + "+0")
    };
  for (partidos =1; partidos <= 10; partidos++)
    {
      if ((votosPartidos [partidos] < totalVotos * 0.05) && (votosPartidos[partidos] != 0)) 
    	{
	  votosPartidos[partidos] = -1
	    }
    };
  for (escanos = 0; escanos < eval(document.forms[0].nesdisp.value+"+0"); escanos++)
    {
      mayorI = 1;
      mayorValor = votosPartidos[1];
      for (partidos=2;partidos<=10;partidos++)
      {
        if ((votosPartidos[partidos] / (contadores[partidos] +1)) > mayorValor/ (contadores[mayorI] +1))
          {
	    mayorValor = votosPartidos[partidos];
	    mayorI = partidos;
	  };
        if (((votosPartidos[partidos] / (contadores[partidos] +1))== mayorValor/ (contadores[mayorI] +1)) && (votosPartidos[partidos] > mayorValor))
          {
	    mayorValor = votosPartidos[partidos];
	    mayorI = partidos;
	  };
      }
      contadores[mayorI]++;
    }
	
    for (partidos=1;partidos<=10;partidos++)
      {
	if (votosPartidos[partidos] == -1) 
		{contadores[partidos] = "'<5%'";}
	if (votosPartidos[partidos] == 0)
		{contadores[partidos] = "''";}
        {eval("document.forms[0].nesca" + partidos + ".value=" + contadores[partidos]);}
      }
  }


function inicializaFormulario(oFrm){
	oFrm.nesdisp.select();
	oFrm.nesdisp.focus();
}
