/* 
EXAMPLE
1) set these
	share.url = "";
	share.title = "";
	share.description = "";
	share.tweet = "";
2) call them like this
	share.send("twitter");
	share.send("facebook");
	...
3) set custom setting for site
	share.digg.title = "";
*/

var share = {
	// required
	url: null,
	title: null,
	tracking: false,
	
	// optional
	description: null,
	property: null,
	unique_tracking_id: '_button',
	
	// specific
	tweet: null,
	
	// custom settings
	delicious: {},
	digg: {},
	facebook: {},
	myspace: {},
	reddit: {},
	stumbleupon: {},
	twitter: {},
	
	send: function (site)
	{

		switch (site) {
			case 'delicious':
				// check for custom settings
				var url = typeof this.delicious.url != 'undefined' ? this.delicious.url : this.url;
				var title = typeof this.delicious.title != 'undefined' ? this.delicious.title : this.title;
				var description = typeof this.delicious.description != 'undefined' ? this.delicious.description : this.description;
				
				if (url && title) {
					var tracking_link = 'http://delicious.com/save';
					var link = 'http://delicious.com/save?url=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title) + '&notes=' + encodeURIComponent(description);
				}
				break;
			case 'digg':
				// check for custom settings
				var url = typeof this.digg.url != 'undefined' ? this.digg.url : this.url;
				var title = typeof this.digg.title != 'undefined' ? this.digg.title : this.title;

				if (url && title) {
					var tracking_link = 'http://digg.com/submit';
					var link = 'http://digg.com/submit?phase=2&partner=[partner]&url=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title);
				}
				break;
			case 'facebook':
				// check for custom settings
				var url = typeof this.facebook.url != 'undefined' ? this.facebook.url : this.url;
				var title = typeof this.facebook.title != 'undefined' ? this.facebook.title : this.title;
				
				if (url) {
					var tracking_link = 'http://www.facebook.com/sharer.php';
					var link = 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent(url) + '&t=' + encodeURIComponent(title);
				}
				break;
			case 'myspace':
				// check for custom settings
				var url = typeof this.myspace.url != 'undefined' ? this.myspace.url : this.url;
				var title = typeof this.myspace.title != 'undefined' ? this.myspace.title : this.title;
				var description = typeof this.myspace.description != 'undefined' ? this.myspace.description : this.description;
				
				if (url && title) {
					var tracking_link = 'http://www.myspace.com/Modules/PostTo/Pages';
					var link = 'http://www.myspace.com/Modules/PostTo/Pages/?u=' + encodeURIComponent(url) + '&t=' + encodeURIComponent(title) + '&c=' + encodeURIComponent(description);
				}
				break;
			case 'reddit':
				// check for custom settings
				var url = typeof this.reddit.url != 'undefined' ? this.reddit.url : this.url;
				var title = typeof this.reddit.title != 'undefined' ? this.reddit.title : this.title;
				
				if (url && title) {
					var tracking_link = 'http://www.reddit.com/r/reddit.com/submit';
					var link = 'http://www.reddit.com/r/reddit.com/submit?url=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title);
				}
				break;
			case 'stumbleupon':
				// check for custom settings
				var url = typeof this.stumbleupon.url != 'undefined' ? this.stumbleupon.url : this.url;
				var title = typeof this.stumbleupon.title != 'undefined' ? this.stumbleupon.title : this.title;
				
				if (url && title) {
					var tracking_link = 'http://www.stumbleupon.com/submit';
					var link = 'http://www.stumbleupon.com/submit?url=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title);
				}
				break;
			case 'twitter':
				if (this.tweet) {
					var tracking_link = 'http://twitter.com';
					var link = 'http://twitter.com/home?status=' + encodeURIComponent(this.tweet);
				}
				break;
		}


		if (this.tracking && typeof s == "object") {
			var property = this.property?this.property:s.prop4.substring(s.prop4.lastIndexOf(':') + 1);
			sCode.trackOutboundClick(tracking_link, 'tickets' + '_share' + site + this.unique_tracking_id);
		}

		if (link) window.open(link);
	},
	setUrl: function(url){
		this.url = url;
	},
	setTweet: function(str){
		this.tweet = str;
	}
	
};

share.tracking = true;

share.url = "http://www.ThisIsItTickets.com";
share.title = "Michael Jackson's THIS IS IT - Official Ticketing Site";
share.description = "Tickets for Michael Jackson's THIS IS IT are now on sale. Get Tickets and Showtimes Now!";
share.tweet = "I just bought my Michael Jackson's THIS IS IT ticket!  http://ThisIsItTickets.com";

// Social bookmarking function
function shareThis() {
	var links = document.getElementById('share').getElementsByTagName('a');
	for (i=0; i<links.length; i++) {
		var link = links[i];
		if( (link.getAttribute('rel') == 'facebook') || (link.getAttribute('rel') == 'myspace') || (link.getAttribute('rel') == 'twitter') || (link.getAttribute('rel') == 'delicious') || (link.getAttribute('rel') == 'digg') || (link.getAttribute('rel') == 'stumbleupon'))
		{
			link.onclick= function() {
				share.send(this.getAttribute('rel'));		
				return false;
			}
		}
	}
}

addLoadEvent(shareThis);
