var monthsByYear = new Array();
var monthsVAluesByYear = new Array();
function addMonth(_year, _month, _value)
{
  if (monthsByYear[""+_year]==null) 
  {
    monthsByYear[""+_year] = new Array();
    monthsVAluesByYear[""+_year] = new Array();
  }
   monthsByYear[""+_year][monthsByYear[""+_year].length] = _month;
   monthsVAluesByYear[""+_year][monthsVAluesByYear[""+_year].length] = _value;
}
function fillMonths()
{
  var select = document.getElementById('date.year');
  var _year = ""+select.options[select.selectedIndex].value;
  select = document.getElementById('date.month');
  select.options.length = 0;
  for (var i=0; i<monthsByYear[_year].length; i++)
  {
    select.options[select.options.length] = new Option(monthsByYear[_year][i], monthsVAluesByYear[_year][i]);
  }
}

function clean(formId)
{
  var _form = document.getElementsByName(formId)[0];
  if ("full-textForm"==formId)
  {
    _form["keyword"].value="";
  }
  else if ("saleForm"==formId)
  {
    var _selects = new Array("theme", "spec", "date", "area", "location", "auctioneer", "date.year");
    for (var i=0; i<_selects.length; i++)
     _form[_selects[i]].options.selectedIndex=0;
      
    _form["catalog"].checked=false;
    fillMonths();
    showHide(_form[_selects[2]], 'past.sales', 'result-block');
  }
  else if ("auctioneerForm"==formId)
  {
    var _selects = new Array("cp_etude", "cp_region", "cp_ville");
    for (var i=0; i<_selects.length; i++)
     _form[_selects[i]].options.selectedIndex=0;
   filterAuctioneerLocations(-1);
  }
}

function cancelValue(_select, v, defaultIndex)
{
  if (_select.options[_select.options.selectedIndex].value==v) _select.options.selectedIndex=defaultIndex;
}

function showHide(_select, _value, blockId)
{
  var _show = _select.options[_select.options.selectedIndex].value==_value;
  if (_show) document.getElementById(blockId).style.visibility="visible";
  else       document.getElementById(blockId).style.visibility="hidden";
}

var themes = new Array();
var specs = new Array();
function Theme(id, name)
{
  this.id = id;
  this.name = name;
}

function Spec(id, themeId, name)
{
  this.id = id;
  this.themeId = themeId;
  this.name = name;
}

function addTheme(id, name)
{
  themes[themes.length] = new Theme(id, name);
}

function addSpec(id, themeId, name)
{
  specs[specs.length] = new Spec(id, themeId, name);
}

var lieux = new Array();
function Lieu(id, name, region)
{
  this.name = name;
  this.id = id;
  this.region = region;
}
function addLieu(id, name, region)
{
  lieux[lieux.length] = new Lieu(id, name, region);
}

var auctioneers = new Array();
function addAuctioneer(id, name, region)
{
  auctioneers[auctioneers.length] = new Lieu(id, name, region);
}

var auctioneerLieux = new Array();
function addAuctioneerLieu(id, name, region)
{
  auctioneerLieux[auctioneerLieux.length] = new Lieu(id, name, region);
}

function filterAuctioneerLocations(region)
{
  filterLieuSelectByRegion(region, document.getElementById('auctioneer.location'), auctioneerLieux);
  filterLieuSelectByRegion(region, document.getElementById('cp_etude'), auctioneers);
}
function filterLieuSelectByRegion(region, select, datas)
{
  if (-1==region)
  {
    select.options.length = 1;
    for (var i=0; i<datas.length; i++)
      select.options[select.options.length] = new Option(datas[i].name, datas[i].id);
  }
  else
  {
    select.options.length = 1;
    for (var i=0; i<datas.length; i++)
      if (region==datas[i].region) select.options[select.options.length] = new Option(datas[i].name, datas[i].id);
  }
}
function filterLocations(region)
{
  var select = document.getElementById('sale.location');
  if (-1==region)
  {
    select.options.length = 1;
    for (var i=0; i<lieux.length; i++)
      select.options[select.options.length] = new Option(lieux[i].name, lieux[i].id);
  }
  else
  {
    select.options.length = 1;
    for (var i=0; i<lieux.length; i++)
      if (region==lieux[i].region) select.options[select.options.length] = new Option(lieux[i].name, lieux[i].id);
  }
}
function filterSpecs(themeId)
{
  var select = document.getElementById('spec');
  if (-1==themeId)
  {
    select.options.length = 1;
    for (var i=0; i<specs.length; i++)
      select.options[select.options.length] = new Option(specs[i].name, specs[i].id);
  }
  else
  {
  
    select.options.length = 1;
    for (var i=0; i<specs.length; i++)
      if (themeId==specs[i].themeId) select.options[select.options.length] = new Option(specs[i].name, specs[i].id);
  }
}

function initSearchFields()
{
  if (document.getElementsByName("saleForm"))
  {
    var select = document.getElementById('theme');
    for (var i=0; i<themes.length; i++)
      select.options[select.options.length] = new Option(themes[i].name, themes[i].id);
    select = document.getElementById('spec');
    for (var i=0; i<specs.length; i++)
      select.options[select.options.length] = new Option(specs[i].name, specs[i].id);
    select = document.getElementById('sale.location');
    var prevRegion = -1;
    for (var i=0; i<lieux.length; i++)
    {
      if (i>0 && lieux[i].region>3 && lieux[i].region != prevRegion)
        select.options[select.options.length] = new Option("--------------------------------------------------------------", -1);
      prevRegion = lieux[i].region;
      select.options[select.options.length] = new Option(lieux[i].name, lieux[i].id);
    }
  }
  if (document.getElementsByName("auctioneerForm"))
  {
    var select = document.getElementById('auctioneer.location');
    var prevRegion = -1;
    for (var i=0; i<auctioneerLieux.length; i++)
    {
      if (i>0 && auctioneerLieux[i].region>3 && auctioneerLieux[i].region != prevRegion)
        select.options[select.options.length] = new Option("--------------------------------------------------------------", -1);
      prevRegion = auctioneerLieux[i].region;
      select.options[select.options.length] = new Option(auctioneerLieux[i].name, auctioneerLieux[i].id);
    }
    var select = document.getElementById('cp_etude');
    for (var i=0; i<auctioneers.length; i++)
      select.options[select.options.length] = new Option(auctioneers[i].name, auctioneers[i].id);
  }
}

