/*
+-----------------------------------------------------------------------+
| Copyright (c) 2006-2008 Dylan Verheul <dylan@dyve.net>                |
| All rights reserved.                                                  |  
|                                                                       |
| Redistribution and use in source and binary forms, with or without    |
| modification, are permitted provided that the following conditions    |
| are met:                                                              |
|                                                                       | 
| o Redistributions of source code must retain the above copyright      |
|   notice, this list of conditions and the following disclaimer.       |
| o Redistributions in binary form must reproduce the above copyright   |
|   notice, this list of conditions and the following disclaimer in the |
|   documentation and/or other materials provided with the distribution.|
|                                                                       |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |
| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |
|                                                                       |
+-----------------------------------------------------------------------+
*/

/**
  * jQuery listify plugin (version 1.1)
  *
  * http://www.dyve.net/jquery/?listify
  *
  * @name  listify
  * @type  jQuery
  * @param Hash    options               options 
  * @param String  options[selector]     selector to use
  * @param String  options[hoverClass]   class to apply to items that the mouse is over an item
  * @param String  options[cursorType]   cursor type to change to when the mouse is over an item
  * @param Bool    options[anchorClass]  the class to add to listified anchor tags
  */
(function($) {

	$.fn.listify = function(options) {
		var opts = $.extend({}, $.fn.listify.defaults, options);
		$(opts.selector, this).each(function() {
			// build element specific options
			var o = $.meta ? $.extend({}, opts, $(this).data()) : opts;
			var anchor = $("a", this);
			if (anchor.length == 1) {
				anchor = $(anchor.get(0));
				var thickbox = anchor.is(".thickbox");
				var link = anchor.attr("href");
				if (link) {
					anchor.addClass(opts.anchorClass);
					$(this)
					.css("cursor", o.cursorType)
					.hover(
						function() { $(this).addClass(o.hoverClass) },
						function() { $(this).removeClass(o.hoverClass) }
					)
					.click(function() {
						if (thickbox) {
							anchor.click();
						} else {
							window.location.href = link;
						}
					});
				}
			}
		});
		return this;
	}

	$.fn.listify.defaults = {
		hoverClass: "over",
		cursorType: "pointer",
		selector: "tbody tr",
		anchorClass: "listified"
	}

})(jQuery)