var currentCar, currentYear, currentSKU;
// ---------------------------------------------------------------
function parseCarYear( year )
{
  return parseInt( (( year.charAt( 0 )== '0' || year.charAt( 0 )== '1' ) ? '20': '19' )+ year );
}

// ---------------------------------------------------------------
function clearAll( bDisable )
{
  var carYear= document.getElementById( 'caryear' );
  while( carYear.length> 0 )
    carYear.remove(0);

  var carModel= document.getElementById( 'carmodel' );
  while( carModel.length> 0 )
    carModel.remove(0);

  carModel.disabled= bDisable;
  carYear.disabled= bDisable;
}

// ---------------------------------------------------------------
function showProducts()
{
  var url = location.href.replace(/store.*/, "store/");
  url= '/store/';
  location.href= url + 'all-'+ currentSKU+ '.html';
}

// ---------------------------------------------------------------
function carModelChanged( modelDropDown )
{
  // Scan the whole model and populate only models with year selected
  var searchButton= document.getElementById( 'searchButton' );
  searchButton.disabled= modelDropDown.selectedIndex== 0;
  var selectedModel= modelDropDown.options[ modelDropDown.selectedIndex ].text;
  var carMake= carMakes[ currentCar ];
  for( var i in carMake )
  {
    var from= parseCarYear( carMake[ i ].from );
    var to= parseCarYear( carMake[ i ].to );
    if( selectedModel== carMake[ i ].title && currentYear>= from && currentYear<= to )
    {
      currentSKU= carMake[ i ].sku;
      break;
    }
  }
}

// ---------------------------------------------------------------
function carYearSelectionChanged( yearDropDown )
{
  // Scan the whole model and populate only models with year selected
  var modelDropDown= document.getElementById( 'carmodel' );
  while( modelDropDown.length> 0 )
    modelDropDown.remove(0);

  var model= document.createElement('option');
  model.text= '---Select model---';
  try
  {
    modelDropDown.add( model, null );
  }
  catch( ex )
  {
    modelDropDown.add( model );
  }

  var searchButton= document.getElementById( 'searchButton' );
  currentYear= parseInt( yearDropDown.options[ yearDropDown.selectedIndex ].text );
  var carMake= carMakes[ currentCar ];
  for( var i in carMake )
  {
    var from= parseCarYear( carMake[ i ].from );
    var to= parseCarYear( carMake[ i ].to );
    if( currentYear>= from && currentYear<= to )
    {
      model= document.createElement('option');
      model.text= carMake[ i ].title;
      try
      {
        modelDropDown.add( model, null );
      }
      catch( ex )
      {
        modelDropDown.add( model );
      }
      modelDropDown.disabled= false;
    }
  }
}

// ---------------------------------------------------------------
function carMakeSelectionChanged( carDropDown )
{
  // Scan all years and populate only years present
  clearAll( true );
  var carYear= document.getElementById( 'caryear' );
  carYear.disabled= false;
  var i= 0;
  for( currentCar in carMakes )
  {
    if( i== carDropDown.selectedIndex- 1 )
      break;

    i++;
  }
  // Scan all models and collect years
  var minYear= 2014,
    maxYear= 1992;

  for( i in carMakes[ currentCar ] )
  {
    var model=  carMakes[ currentCar ][ i ];
    var m= parseCarYear( model.from );
    if( m< minYear )
      minYear= m;
      
    m= parseCarYear( model.to );
    if( m> maxYear )
      maxYear= m;
  }
  var year= document.createElement('option');
  year.text= '---Select year---';
  try
  {
    carYear.add( year, null );
  }
  catch(ex)
  {
    carYear.add( year );
  }

  for( i= minYear; i<= maxYear; i++ )
  {
    year= document.createElement('option');
    year.text= i;
    try
    {
      carYear.add( year, null );
    }
    catch(ex)
    {
      carYear.add( year );
    }
  }
}

// ---------------------------------------------------------------
function loadCarMakes()
{
  var carDropDown= document.getElementById( 'carmake' );
  for( var car in carMakes )
  {
    var carValue= document.createElement('option');
    carValue.text= car;
    try
    {
      carDropDown.add( carValue, null );
    }
    catch(ex)
    {
      carDropDown.add( carValue );
    }
  }
}

// ---------------------------------------------------------------
function carBrowseInit()
{
  clearAll( true );
  loadCarMakes();
}

setTimeout('carBrowseInit()', 1000);

