﻿// bigTarget.js - A jQuery Plugin
// Version 1.0.1
// Written by Leevi Graham - Technical Director - Newism Web Design & Development
// http://newism.com.au
// Notes: Tooltip code from fitted.js - http://www.trovster.com/lab/plugins/fitted/

// create closure
(function ($) {
	// plugin definition
	$.fn.bigTarget = function (options) {
		//debug(this);
		// build main options before element iteration
		var opts = $.extend({}, $.fn.bigTarget.defaults, options);
		// iterate and reformat each matched element
		return this.each(function () {
			// set the anchor attributes
			var $a = $(this);
			var href = $a.attr('href');
			var title = $a.attr('title');
			// build element specific options
			var o = $.meta ? $.extend({}, opts, $a.data()) : opts;
			// update element styles
			$a.parents(o.clickZone)
				.hover(function () {
					$h = $(this);
					$h.addClass(o.hoverClass);
					if (typeof o.title != 'undefined' && o.title === true && title != '') {
						$h.attr('title', title);
					}
				}, function () {

					$h.removeClass(o.hoverClass);
					if (typeof o.title != 'undefined' && o.title === true && title != '') {
						$h.removeAttr('title');
					}
				})
			// click
				.click(function () {
					if (getSelectedText() == "") {
						if ($a.is('[rel*=external]')) {
							window.open(href);
							return false;
						}
						else {
							//$a.click(); $a.trigger('click');
							window.location = href;
						}
					}
				});
		});
	};
	// private function for debugging
	function debug($obj) {
		if (window.console && window.console.log)
			window.console.log('bigTarget selection count: ' + $obj.size());
	};
	// get selected text
	function getSelectedText() {
		if (window.getSelection) {
			return window.getSelection().toString();
		}
		else if (document.getSelection) {
			return document.getSelection();
		}
		else if (document.selection) {
			return document.selection.createRange().text;
		}
	};
	// plugin defaults
	$.fn.bigTarget.defaults = {
		hoverClass: 'hover',
		clickZone: 'li:eq(0)',
		title: true
	};
	// end of closure
})(jQuery);


$(document).ready(function () {
	$("ol.bigTarget h4 a").bigTarget();
});