/**
 * Initialize the jQuery functions
 */ 
jQuery(function($)
{
  initLightSwitch();
  initReferenceSearch();
});

function initLightSwitch()
{
  if (! $('#spot').length ) return;
  
  $("#spot, a#solaroff").click(function()
  {
    $("body").removeClass("light");
    
    /* SET COOKIE */
    var date = new Date();
    date.setTime(date.getTime() + 604800);
    $.cookie("hei_sl", "off", { path: '/', expires: date });
  });
  
  $("#solarlight, a#solaron").click(function()
  {
    $("body").addClass("light");
  });
}

/**
 * Manipulate the reference search form. 
 */ 
function initReferenceSearch()
{
  if (! $('#referencesearch').length ) return;
  
  /**
   * Change the selected filter. Available filters are:
   * filtereinsatzbereich, filteranwendungen
   * */
  $('#filtermenu button')
  .click(function()
  {
    /* Hide all select fields */
    $('#referencesearch select').parent().removeClass('active');
    $('#referencesearch select').parent().addClass('none');
    
    /* Activate the select for the clicked filter */
    $selectName = $(this).attr("id").replace("filter","");
    $('#'+$selectName).parent().removeClass('none');
    $('#'+$selectName).parent().addClass('active');
    $('#activeFilter').val($selectName);
    
    /* Update the results list */
    $("#referencesearch").submit();
    
    return false;
  });
  
  /* Update the menu */
  $('#filtermenu button')
  .click(function()
  {
    $('#filtermenu button').removeClass('buttonactive');
    $(this).addClass('buttonactive');
    return false;
  });
  
  $('#filtermenu label a')
  .click(function()
  {
    $(this).parent().click();
    return false;
  });
  
  /* Handle submit events and update the result's list */
  $("#referencesearch").submit(function()
  {
    $selectedCat = $("#referencesearch p.active select option:selected").val();
    $activeFilter = $("#activeFilter").val();
    //alert($selectedCat);
    
    if($selectedCat.length)
    {
      $("#list-references li,#list-products li")
      .each(function(i)
      {
        if ($(this).hasClass($selectedCat))
        {
          $(this).removeClass("none");
        }
        else
        {
          $(this).addClass("none");
        }
      });
      
      //alert("activeFilter: " + $activeFilter);
      
      /* Only show this for filter "Einsatzbereich" */
      if($activeFilter == "einsatzbereich")
      {
        $("#list-products").removeClass("none");
      }
      else
      {
        $("#list-products").addClass("none");
      }
    }
    else
    {
      $("#list-references li").removeClass("none");
      $("#list-products li,#list-products").addClass("none");
    }
    //alert("done");
    return false;
  });
}

