// *****************************************************************************
// MySky Application Server - MyWeb Suite
// Gerenciamento dos passageiros da reserva - etapa 0
// Autor: Daniel Ribeiro Gomes - danielrg@mysky.com.br
// *****************************************************************************

var MAX_ADT = 9;
var MAX_CHD = 5;
var MAX_INF = 5;

var TXT_ADT_0 = '0 Adulto' ;
var TXT_ADT_1 = ' Adulto' ;
var TXT_ADT_2 = ' Adultos' ;
var TXT_ADT_C = '' ;

var TXT_CHD_0 = '0 Criança' ;
var TXT_CHD_1 = ' Criança' ;
var TXT_CHD_2 = ' Crianças' ;
var TXT_CHD_C = '' ;

var TXT_INF_0 = '0 Bebê' ;
var TXT_INF_1 = ' Bebê' ;
var TXT_INF_2 = ' Bebês' ;
var TXT_INF_C = '' ;

// Variaveis do formulario de venda
var adultos;
var criancas;
var infantis;

function setPaxes(form)
{
  adultos   = form.numADT;
  criancas  = form.numCHD;
  infantis  = form.numINF;
  setPax( adultos,  0, MAX_ADT, 1, TXT_ADT_0, TXT_ADT_1, TXT_ADT_2, TXT_ADT_C );
  setPax( criancas, 0, MAX_CHD, 0, TXT_CHD_0, TXT_CHD_1, TXT_CHD_2, TXT_CHD_C );
  setPax( infantis, 0, MAX_INF, 0, TXT_INF_0, TXT_INF_1, TXT_INF_2, TXT_INF_C );
  mudouPaxAdultos();
}

function mudouPaxAdultos()
{
  var maxINF = ( Number(adultos.value) > MAX_INF ) ?
    MAX_INF : Number(adultos.value);
  var selecionado = ( Number(infantis.value) > maxINF ) ?
    maxINF : Number(infantis.value);
  
  setPax( infantis, 0, maxINF, selecionado, TXT_INF_0, TXT_INF_1, TXT_INF_2,
    TXT_INF_C );
}

function setPax(select, inicio, fim, selecionado, texto0, texto1, texto2,
  textoComum)
{
  /*alert("DEBUG\nModificacao do select " + select.name + ":\nInicio = " +
    inicio + "\nFim = " + fim + "\nSelecionado = " + selecionado);*/

  if (inicio > fim || selecionado < inicio || selecionado > fim)
  {
    alert("ERRO\nParametros invalidos para setPax:\nInicio = " + inicio +
      "\nFim = " + fim + "\nSelecionado = " + selecionado + "\nSelect " +
      select.name + " inalterado.");
    
    return;
  }
  
  var tamanho = fim - inicio + 1;
  select.options.length = tamanho;
  
  for (var i=0; i < tamanho; i++)
  {
    var texto = i == 0 ? texto0 : i == 1 ? texto1 : texto2;
    if (i == 0) { texto =  texto + textoComum; }
    else { texto = i + texto + textoComum; } 
    
    select.options[i] = new Option( texto, inicio + i );
  }
  
  select.options[selecionado - inicio].selected = true;
}
