var o = jQuery.fn.castcheckbox = function(settings) 
{
  settings = jQuery.extend(
  {
    
  }
  , settings);
  /*
    Setup any .mugshots li's so they are ready for filtering or searching
    1. Add special css using JS so noone JS people don't get this css
    2. Add a little onclick event so we change class names on click
    3. Add a reset method so we can easily reset the checkbox in a loop in either jquery.filter or jquery.search
  */
  return this.each(
    function()
    {
      var el = this;
      
      var j = jQuery(this);
      var div = jQuery("div", j);
      var label = jQuery("label", j);
      var img = jQuery("img", j);
      div.css("position", "absolute");
      div.css("top", "34px");
      div.css("right", "3px");
      div.css("width", "17px");
      div.css("height", "17px");
      div.css("background-image", "url(/images/tick-cross.png)");

      j.css("position", "relative");
      
      var input = jQuery("input", j);
      label.bind(
        'click',
        function(event)
        {
          event.preventDefault();
          if(input.attr("checked")) {
            input.attr("checked", false);
            j.removeClass("checked");
            
          } else {
            input.attr("checked", "checked");
            j.addClass("checked");
          }
          
        }
      );
      // hide the checkboxes (visibility and display hiding won't work with cetain browsers)
      input.css(
        {
          position: "absolute",
          top: "-1040px"
        }
      );
      this.reset = function(bool)
      {
        if(bool) {
          input.attr("checked", "checked");
          j.addClass("checked");
        } else {
          input.attr("checked", false);
          j.removeClass("checked");
        }
        
      }
    }
  );
};