/**
 @preserve fShare v1.0
 
 currently supported social networks sharing:
 twitter
 facebook
 linkedin
 myspace
 orkut
 google buzz
 live spaces
 delicious
 stumbleupon
 bebo
 
 Copyright 2010, Fabio Guerreiro
 Dual licensed under the MIT or GPL Version 2 licenses.
*/

(function($) {

	//==============
	// jQuery Plugin
	//==============
	function share(clickedButton, params)
	{
		button = $(clickedButton).attr('class');
		
		switch(button)
		{			
			case "twitter":
				window.open('http://twitter.com/share?url='+encodeURIComponent(params.shareUrl),'tweet','toolbar=0,status=0,width=626,height=436');
				break;
			case "facebook":
				window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(params.shareUrl)+'&t='+encodeURIComponent(params.shareTitle),'sharer','toolbar=0,status=0,width=626,height=436');
				break;
			case "linkedin":
				window.open('http://www.linkedin.com/shareArticle?mini=true&url='+encodeURIComponent(params.shareUrl)+'&t='+encodeURIComponent(params.shareTitle)+'&title='+encodeURIComponent(params.shareTitle)+'&source='+encodeURIComponent(params.shareUrl),'sharer','toolbar=0,status=0,width=626,height=436');
				break;
			case "myspace":
				window.open('http://www.myspace.com/Modules/PostTo/Pages/?u='+encodeURIComponent(params.shareUrl),'ptm','height=450,width=440').focus();
				break;
			case "googlebuzz":
				window.open('http://www.google.com/buzz/post?url='+encodeURIComponent(params.shareUrl),'ptm','height=450,width=800');
				break;
			case "orkut":
				window.open('http://promote.orkut.com/preview?nt=orkut.com&tt='+encodeURIComponent(params.shareTitle)+'&du='+encodeURIComponent(params.shareUrl), 'orkut', 'toolbar=no,width=600,height=550');
				break;
			case "livespaces":
				window.open('http://www.addtoany.com/add_to/windows_live_spaces?linkurl='+encodeURIComponent(params.shareUrl)+'&amp;linkname='+encodeURIComponent(params.shareTitle), 'livespaces', 'toolbar=no,width=600,height=550');
				break;
		}
		return false;
	}
	
	$.fn.fShare = function(options)
	{
		options = options || {};
		// Define the defaults used for all new fShare instances
		var defaultOpt = {
			shareText:		"Share",
			shareUrl:		options.shareUrl || location.toString(),
			shareTitle:		options.shareTitle || document.title||location.href,
			shareCssPath:	options.shareCssPath || "css/fShare",
			buttons:		options.buttons || "twitter facebook linkedin myspace orkut googlebuzz livespaces |"
		};
		
		var params = $.extend(defaultOpt, options);
		var buttons;
		
		if(params.buttons.charAt(params.buttons.length-1) != "|")
		{
			params.buttons += " |";
		}
		buttons = params.buttons.split(" ");
		
		$("head").append("<link rel='stylesheet' type='text/css' href='"+params.shareCssPath+".css' />");
		
		return this.each(
			function()
			{
				elem = $(this);
				
				elem.append("<div class='aba'>"+params.shareText+"</div>");
				elem.append("<div class='content'></div>");
				
				elem.addClass("share_area");
				
				elem.after("<div style='clear:both;'></div>");
				
				$(buttons).each(
					function()
					{
						if(this == "|")
						{
							elem.children(".content").append("<div style='clear: both;'></div>");
						}
						else
						{
							elem.children(".content").append("<a href='javascript:void(0);' target='_blank' class='"+this+"' title='"+this+"'></a>");
							elem.find("."+this).click(
								function()
								{
									
									return share(this, params);
								}
							);
						}
					}
				);
			}
		);
	}

})(jQuery); 
