var twttr = {widgets:{ignoreSSL:true}};
var is_ie6 = navigator.userAgent.indexOf("MSIE 6") >= 0;
var is_smartphone = false;
var smartphones = [
	'iPhone', 
	'iPod', 
	'iPad', 
	'Android'
];
for (var i = 0; i < smartphones.length; i++) {
	var regexp = new RegExp(smartphones[i], "i");
	if (navigator.userAgent.match(regexp)) {
		is_smartphone = true;
		break;
	}
}


$(init);

function init () {
	
	var scroll = new SmoothScroll();
	
	if (is_smartphone) $("#footer").css({position:"relative"});
}


/* SocialLinks */
function SocialLinks (url, title) {
	
	var twitter_account = "besma_ramen";
	
	var social = $("#sociallinks");
	var item;
	
	//Twitter
	item = $('<a class="twitter" href="http://twitter.com/share?url=' + encodeURIComponent(url) + '" target="_blank" title="この記事をTwitterでつぶやく">Tweet</a>');
	social.append(item);
	
	//Hatena Bookmark
	item = $('<a class="hatenabookmark" rel="nofollow" href="http://b.hatena.ne.jp/entry/' + url + '" target="_blank" title="はてなブックマークでシェアする">はてなブックマーク</a>');
	social.append(item);
	
	//livedoor clip
	item = $('<a class="livedoorclip" rel="nofollow" href="http://clip.livedoor.com/page/' + url + '" target="_blank" title="livedoorクリップでシェアする">livedoorクリップ</a>');
	social.append(item);
	
	//Yahoo! Bookmark
	item = $('<a class="yahoobookmark" rel="nofollow" href="http://bookmarks.yahoo.co.jp/url/' + url + '" target="_blank" title="livedoorクリップでシェアする">Yahoo!ブックマーク</a>');
	social.append(item);
	
	//Facebook
	item = $('<a class="facebook" name="fb_share" type="icon" share_url="' + url + '" target="_blank" title="Facebookでシェアする">Facebook</a>');
	social.append(item);
	item = $('<script type="text/javascript" src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"></script>');
	social.append(item);
}



/* SmoothScroll */
function SmoothScroll (elements) {
	//console.log("SmoothScroll(" + [elements] + ")");
	
	$('a[href^=#]').click(this.scroll);
	$(document).mousewheel(this.onMouseWheel);
}

SmoothScroll.prototype.scroll = function () {
	//console.log("SmoothScroll.scroll(" + [] + ")");
	
	if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
		var $target = $(this.hash);
		$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
		if ($target.length) {
			var position = $target.offset().top;
			$('html, body').stop().animate({scrollTop:position}, 600, "easeOutQuart");
			return false;
		}
	}
}

SmoothScroll.prototype.onMouseWheel = function () {
	//console.log("SmoothScroll.onMouseWheel(" + [] + ")");
	
	$('html, body').stop();
}


/* delegate */
function delegate (this_object, method) {
	//console.log("delegate" + [this_object, method] + ")");
	
	return function () { return method.apply(this_object, arguments); }
}

function delegateWithArgs (this_object, method, args, join_args) {
	//console.log("delegateWithArgs(" + [this_object, method, args, join_args] + ")");
	
	return function () {
		if (join_args) {
			var joined_args = new Array();
			var i;
			var length = arguments.length;
			for (i = 0; i < length; i++) {
				joined_args.push(arguments[i]);
			}
			joined_args = joined_args.concat(args);
			return method.apply(this_object, joined_args);
		}
		else {
			return method.apply(this_object, args);
		}
	}
}

