// Filter.js

// Ensure that the values in the droplists are always correct

function regionChange() {

  // Get handles on the objects needed
  form = document.getElementById( 'filterform' );
  
  rfilter = form.regionid;
  vfilter = form.vintageid;
  sfilter = form.styleid;
  
  // Get the region id
  rnum = rfilter.value;

  // Make the correct length
  numStyles = sid[ rnum ].length;
  sfilter.length = numStyles;
  
  // Populate the list
  for ( i = 0; i < numStyles; i++ ) {
    sfilter[ i ].text  = sn[ sid[ rnum ][ i ] ];
    sfilter[ i ].value = sid[ rnum ][ i ];
  }
  
  sfilter.selectedIndex = 0;
  
  if ( numStyles > 1 ) {
    sfilter.disabled = false;
  }
  else {
    sfilter.disabled = true;
  }
  
  // Update the vintages as well
  styleChange();
}


function styleChange() {

  // Get handles on the objects needed
  form = document.getElementById( 'filterform' );
  
  rfilter = form.regionid;
  vfilter = form.vintageid;
  sfilter = form.styleid;

  // Get the region & style number
  rnum = rfilter.value;
  snum = sfilter.value;
  
  // Make vintage list correct size
  numVintages = vid[ rnum ][ snum ].length;
  vfilter.length = numVintages + 1;
  
  // Stick 'All' at top
  vfilter[ 0 ].text  = 'All';
  vfilter[ 0 ].value = 0;
  
  // Populate list
  for ( i = 0; i < numVintages; i++ ) {
    vfilter[ i + 1 ].text  = vid[ rnum ][ snum ][ i ];
    vfilter[ i + 1 ].value = vid[ rnum ][ snum ][ i ];
  }
  
  // Select appropriate vintage
  if ( numVintages > 1 ) {
    vfilter.disabled = false;
    vfilter.selectedIndex = 0;
  }
  else {
    vfilter.disabled = true;
    vfilter.selectedIndex = 1;
  }
}