// constants
var noValue = ''

// globals
var curOption = new Array();
var isLoaded = new Array();

function body_onLoad(){

  // initialize lists
  //emptyList( 'cmbPais' );
  emptyList( 'cmbTipo');
  emptyList( 'cmbMarca');
  emptyList( 'cmbModelo' );
  jsrsExecute( 'veiculos_rs.asp', cbFillTipo, 'tipo' );
}

function cmbTipo_onChange(){
  var val = this.options[this.selectedIndex].value;
  if(val == noValue){
    selectOption( this.name, curOption[this.name] )
  } else {
    curOption[this.name] = val;
    emptyList( 'cmbMarca');
    emptyList( 'cmbModelo' );
    window.status = 'Verificando opçoes...';
    jsrsExecute( 'veiculosdefault_rs.asp', cbFillMarca, 'marca', val );
  }  
}

function cmbMarca_onChange(){
  var val = this.options[this.selectedIndex].value;
  if(val == noValue){
    selectOption( this.name, curOption[this.name] )
  } else {
    curOption[this.name] = val;
    emptyList( 'cmbModelo');
	window.status = 'Verificando opções...';
    jsrsExecute( 'veiculosdefault_rs.asp', cbFillModelo, 'modelo', val );
  }  
}

function cmbModelo_onChange(){
  var val = this.options[this.selectedIndex].value;
 if(val == noValue){
    selectOption( this.name, curOption[this.name] )
	} 
}
//else {
   // curOption[this.name] = val;
    //emptyList( 'cmbVersao' );
	//window.status = 'Verificando opções...';
    //jsrsExecute( 'veiculos_rs.asp', cbFillVersao, 'versao', val );
  //}  
//}
 //function cmbVersao_onChange(){
  //var val = this.options[this.selectedIndex].value;
 //if(val == noValue){
   // selectOption( this.name, curOption[this.name] )
  //}
//}//else {
	//curOption[this.name] = val;
	//window.status = 'Verificando opções...';
	//SelMoveItem(val, cbFillnobairro, false)
//    var msg = "You have selected: \n\n";
 //   msg += this.form.cmbPais.options[this.form.cmbPais.selectedIndex].text + "\n";
//    msg += this.form.cmbEstado.options[this.form.cmbEstado.selectedIndex].text + "\n";
//    msg += this.options[this.selectedIndex].text + "\n";
 //   alert (msg);
 // }
//}

function cbFillTipo ( strtipo ){ 
  window.status = '';
  fillList( 'cmbTipo',  strtipo ); 
} 

function cbFillMarca ( strmarca ){ 
  // callback for dependent listbox
  window.status = '';
  fillList( 'cmbMarca',  strmarca ); 
}

function cbFillModelo( strmodelo ){ 
  // callback for dependent listbox
  window.status = '';
  fillList( 'cmbModelo', strmodelo ); 
}

/*function cbFillVersao( strversao ){ 
  // callback for dependent listbox
  window.status = '';
  fillList( 'cmbVersao', strversao ); 
}*/

function fillList( listName, strOptions ){
  // fill any list with options
  emptyList( listName );
  
  // always insert selection prompt
  var lst = document.forms['form_busca'][listName];
  lst.disabled = true;
  lst.options[0] = new Option('selecione', noValue);
  
  // options in form "value~displaytext|value~displaytext|..."
  var aOptionPairs = strOptions.split('|');
  for( var i = 0; i < aOptionPairs.length; i++ ){
    if (aOptionPairs[i].indexOf('~') != -1) {
      var aOptions = aOptionPairs[i].split('~');
      lst.options[i + 1] = new Option(aOptions[1], aOptions[0]);
    }  
  }
  
  // init to no value
  selectOption( listName, noValue );
  lst.onchange = eval( listName + "_onChange" );
  isLoaded[listName] = true;
  lst.disabled = false;
}

function emptyList( listName ){
  var lst = document.forms['form_busca'][listName];
  lst.options.length = 0;
  lst.onchange = null;
  isLoaded[listName] = false;
  curOption[listName] = noValue;
}

function selectOption( listName, optionVal ){
  // set list selection to option based on value
  var lst = document.forms['form_busca'][listName];
  for( var i = 0; i< lst.options.length; i++ ){
    if( lst.options[i].value == optionVal ){
      lst.selectedIndex = i;
      curOption[listName] = optionVal;
      return;
    }  
  }
}


