$(document).ready(function(){
  
  // set up top select
  $('#disciplineTop').change(function(){
    
    // clear sub selects
    $('#subGroupInner').html('');
    
    // $('#subGroupWrap').hide();
    
    // sync top select
    $('#disciplineLeft').val($(this).val());
    
    getSubGroups(this);
    
  });
  
  // set up  side select
  $('#disciplineLeft').change(function(){
    
    $('#disciplineTop').val($(this).val());
    
    $('#disciplineTop').trigger('change');
    
  });
  
  // set up sorter
  $('#sortBySelect').change(function(){
    $('#sort_by').val($(this).val());
  });
  
  // get first group
  $('#listFilter select:last').trigger('change');
  
});

function getSubGroups(select_element)
{
  // set selection input
  $('#group_id').val($(select_element).val());
  
  // clear any child sub-groups
  // console.log($(select_element).siblings('div.subGroupSelectWrap').length);
  $(select_element).nextAll('.subGroupSelect').remove();
  
  // get parent lft
  var parent_id = $(select_element).val();
  
  if(parent_id == '')
  {
    // enter previous id as this select is empty
    if($('.subGroupSelect').length == 1)
    {
      $('#group_id').val($('#disciplineLeft').val());
    }
    else
    {
      $('#group_id').val($(select_element).prev().val());
    }
  }
  else
  {
    // add subgroup select
    $.get(
      '/exchange/getSubGroups',
      {id: parent_id},
      function(data){

        if($('.subGroupSelect').length == 0)
        // add first sub-group to wrapper
        {
          $('#subGroupInner').html(data);

          // console.log('new sub-group');
        }
        else
        // append sub-groups to last sub-group wrapper
        {
          $('#subGroupInner').append(data);

          // console.log('append sub-group.');
        }
        
        if($('.subGroupSelect').length == 0)
        {
          $('#subGroupWrap').hide();
        }
        else
        {
          $('#subGroupWrap').show();
        }
      }
    );
  }
}

/**
 * submits main search form
 */
function submitMain()
{
  // submit main form
  $('#mainSearchForm').submit();
  
  // prevent side form submission
  return false;
}
