
(function($){
	$.fn.socialShare = function(options){
		var opts = $.extend({}, $.fn.socialShare.defaults, options);

	    return this.each(function(){
			var widget = $(this),
				shareBtn = widget.find('.btn'),
				tooltip = shareBtn.find('.tooltip');
			
			tooltip.css('left', function() {
				var tooltipLeftVal = Math.round(-41 + (shareBtn.outerWidth() / 2));
				return String(tooltipLeftVal) + 'px';
			});
			
			shareBtn
				.mouseenter(function() {
					tooltip.fadeIn('fast');
				})
				.mouseleave(function() {
					tooltip.fadeOut('fast');
				});
			
			tooltip.delegate('a', 'click', function() {
				var anchor = $(this), //a tag that was clicked onn
					shareUrl = shareBtn.data('share-url'),
					shareNodeID = anchor.attr('data-share-nodeid'),					
					shareTxt = shareBtn.data('share-text') || widget.parents('.body').find('h4').text(),
					shareImg = shareBtn.data('image'),
					shareTime = shareBtn.data('timestamp'),
					href = anchor.attr('href'),
					action = anchor.data('action-type'); // face					
				$.fn.socialShare.actions[action](href, shareUrl, shareTxt, shareImg, shareTime, shareNodeID);
				
				metricData.trackShare(shareTxt, action);
				
				return false;
			});
		});
	};

	$.fn.socialShare.actions = {
		facebook: function(url, shareUrl) {
			// strings need to be url encoded
			window.open(url + "?u=" + shareUrl , "share", "width=600, height=450");
		},
		
		twitter: function(url, shareUrl, shareTxt) {
			// strings need to be url encoded
			window.open(url + "?text=" + "DC SHOES - " + shareTxt + "&url=" + shareUrl, "share", "width=500, height=400");
		},
		
		mail: function(url, shareUrl, shareTxt, shareImg, shareTime, shareNodeID) {
			ShareModal.open(url, shareUrl, shareTxt, shareImg, shareTime, shareNodeID);
		}
	};

	$.fn.socialShare.defaults = {

	};
})(jQuery);
