  function FormGuideHandler()
  {
    this.raceDay = null;
  }

  FormGuideHandler.prototype.changeForm = function(clearMeetingsAndEvents,clearEvents)
  {
    //Make sure the correct meetings are been shown for the current day
    var dayID = $("#selDays").val();
    $('#selMeetings option').each( function()
    {
      $(this).addClass('noShow');
    });
    $('#selMeetings option.day' + dayID).each( function()
    {
      $(this).removeClass('noShow');
    });

    if (clearMeetingsAndEvents == true)
    {
      //The user has change the DAY - clear the Meeting and Events drop down
      $("#selMeetings option.day-1").removeClass('noShow');
      $("#selMeetings").val(-1);
      $("#selEvent").val(-1);
    }
    if (typeof(clearEvents) != 'undefined' && clearEvents == true)
    {
      $("#selEvent").val(-1);
    }

    var meeting = $('#selMeetings').val();
    var meetingIDBits = meeting.split('_');
    var meetingID = meetingIDBits[(meetingIDBits.length-1)];

    var event = $('#selEvent').val();
    var eventIDBits = event.split('_');
    var eventID = eventIDBits[(eventIDBits.length-1)];
    
    if (meetingID >= 0 && eventID >= 0)
    {
      window.location.href='http://www.puntersparadise.com.au/form-guide/'+meeting+'/'+event+'/';
    }
    else if (meetingID >= 0)
    {
      //A meeting was selected, make sure the events match up
      $('#selEvent option').each( function()
      {
        $(this).addClass('noShow');
      });
      $('#selEvent option.meeting' + meetingID).each( function()
      {
        $(this).removeClass('noShow');
      });
    }
  }

  FormGuideHandler.prototype.updateVisibilities = function()
  {
    $(".runnerChecks").each(function()
    {
      var selectionID = this.id.replace('toggleSelection_','');
      //now toggle
      if ($(this).is(':checked'))
      {
        //Show it again
        $("#selection_"+selectionID).removeClass("noShow");
        $("#raceCardSelection_"+selectionID).removeClass("faded");
        $("#raceCardSelection_"+selectionID+" .runnerName .silk img.visibleSilk").removeClass("noShow");
        $("#raceCardSelection_"+selectionID+" .runnerName .silk img.missingSilk").addClass("noShow");
      }
      else
      {
        //Hide it
        $("#selection_"+selectionID).addClass("noShow");  
        $("#raceCardSelection_"+selectionID).addClass("faded");  
        //Toggle the silk...
        $("#raceCardSelection_"+selectionID+" .runnerName .silk img.visibleSilk").addClass("noShow");
        $("#raceCardSelection_"+selectionID+" .runnerName .silk img.missingSilk").removeClass("noShow");
      }
    });
  }

  var formGuidePageHandler = new FormGuideHandler();

  $(document).ready(function() 
  {
    $(".runnerChecks").each(function()
    {
      $(this).click(formGuidePageHandler.updateVisibilities);
    });
    formGuidePageHandler.updateVisibilities();
    $("#checkAllRunners").click(function()
    {
      //Check/uncheck all...
      $(".runnerChecks").each(function()
      {
        if ($("#checkAllRunners").is(':checked'))
          $(this).attr('checked','checked');
        else
          $(this).attr('checked','');
      });
      $(this).click(formGuidePageHandler.updateVisibilities);
    });
  });


