(function($){

//console.log($('script').attr('src').test());

/*
if(/plusone/.test($('script').attr('src'))) {
	var gsrc = $('script');
	console.log(gsrc);
}
*/

var settings = {
	postURL:  document.URL,
	postMessage: document.title,
	related: 'akiko_lawson',
	//count: n,
	mixiKey: '0764ab627fb2fb6b1458b6a6bf15a8f524e86811',
	snsList: ['twitter','mixi','hatebu','facebook','google']
};

	
$.fn.lwsns = function(n){
	var elem = $(this);
	//$(this).each(function(index) {
	  //POST URL
	  
	  settings.count = n;
	  
	  if($('.snsLists').find('input.postURL').length > 0){
	  	settings.postURL = htmlspecialchars($('.snsLists').find('input.postURL').val());
	  }
		  
	  //POST MESSAGE
	  if($('.snsLists').find('input.postMessage').length > 0){
	  	settings.postMessage = $('.snsLists').find('input.postMessage').val();
	  }
	
	  //RELATED
	  if($('.snsLists').find('input.related').length > 0){
	  	settings.related = $('.snsLists').find('input.related').val();
	  }
	//});
	
	var wrapUL = $('<ul>');
	for (var i=0; i < settings.snsList.length; i++) {
		var li = $('<li>')
		         .addClass(settings.snsList[i])
		         .appendTo(wrapUL)
		socialbutton(settings.snsList[i], li);
	};
	wrapUL.appendTo(elem);
	
	function socialbutton(sns, obj, cnt){
	  switch(sns){
		case 'twitter':
		  socialbutton_twitter(settings.postURL,obj);
		  break;
		case 'mixi':
		  socialbutton_mixi(settings.postURL,obj);
		  break;
		case 'hatebu':
		  socialbutton_hatebu(settings.postURL,obj);
		  break;
		case 'facebook':
		  socialbutton_facebook(settings.postURL,obj);
		  break;
		case 'google':
		  socialbutton_google(settings.postURL,obj);
	  }
	}
	
	function socialbutton_twitter(url,obj){
		
		if(settings.related.length < 1){
			var tag = '<a href="http://twitter.com/share" class="twitter-share-button" data-url="'+url+'"data-text="'+settings.postMessage+'" data-count="none" data-lang="ja">Tweet</a>';
		}
		else {
			var tag = '<a href="http://twitter.com/share" class="twitter-share-button" data-url="'+url+'" data-related="'+settings.related+'" data-via="'+settings.related+'" data-text="'+settings.postMessage+'" data-count="none" data-lang="ja">Tweet</a>';
		}
		$(obj).html(tag);
	}
	
	function socialbutton_mixi(url,obj){
		var tag = '<a href="http://mixi.jp/share.pl" class="mixi-check-button" data-key="'+settings.mixiKey+'" data-button="button-1.gif">Check</a><script type="text/javascript" src="http://static.mixi.jp/js/share.js"></script>';
		$(obj).html(tag);
	}
	
	function socialbutton_hatebu(url,obj){
		var tag = '<a href="http://b.hatena.ne.jp/entry/'+url+'" class="hatena-bookmark-button" data-hatena-bookmark-title="'+document.title+'" data-hatena-bookmark-layout="simple" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a>';
		$(obj).html(tag);
	}
	
	function socialbutton_facebook(url,obj){
 		var tag = '<iframe src="http://www.facebook.com/plugins/like.php?href='+url+'&amp;layout=button_count&amp;show_faces=true&amp;width=120&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>';
		$(obj).html(tag);
	}
	
	function socialbutton_google(url,obj){
 		if ($.browser.msie && parseInt($.browser.version) < 8) {
		  return;
		}
		var theID = 'snsGoogle' + settings.count;
		var tag = '<div class="g-plusone" data-size="medium" data-href="'+settings.postURL+'" data-count="true"></div>';
		//var tag = '<g:plusone size="medium" href="'+settings.postURL+'"></g:plusone> ';
		//obj.id = "testGoogle";
		$(obj).html(tag);
/*
		obj.append('<div id="test1">')
		renderPlusone('test1',settings.postURL);
*/


/*
		if(settings.count == 1){
			gapi.plusone.go();
		};
*/
		
		
/*
		if (!($.browser.msie && parseInt($.browser.version) < 8)) {
			var theID = 'snsGoogle' + settings.count;
			var tag = '<div id="'+theID+'" class="g-plusone" data-size="medium" data-href="'+settings.postURL+'" data-count="true"></div>';
			$(obj).html(tag);
		 	gapi.plusone.go(theID);
		 	//gapi.plusone.render(theID);
		}
*/
	}
		
	
function htmlspecialchars(string)
{
	var table = [
		[/&/g, '&amp;'],
		[/</g, '&lt;'],
		[/>/g, '&gt;'],
		[/"/g, '&quot;'],
		[/'/g, '&#039;']
	];

	for (var i in table) {
		string = string.replace(table[i][0], table[i][1]);
	}

	return string;
}

function url_encode_rfc3986(url)
{
	return encodeURIComponent(url).replace(/[!*'()]/g, function(p) {
		return "%" + p.charCodeAt(0).toString(16);
	});
}
	

	
	return this;
}

$(function(){
	$('body')
		.append('<script src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>')
		.append('<script type="text/javascript" src="http://apis.google.com/js/plusone.js">{lang: "ja"}</script>')
	$('.snsLists').each(function(n){
		$(this).lwsns(n);
	});

});

})(jQuery);


