$(function() {
	facebook_status_logic();
});

function facebook_status_logic(){
    //ログイン状態による処理
	FB.ensureInit (  function () { 
		FB.Connect.get_status().waitUntilReady(function(status) {
			switch(status) {
				case FB.ConnectState.connected:
					//facebook用のユーザー情報を表示
					disp_facebook_user_info();
					var widget_div = document.getElementById("loginBox");
					if (widget_div) {
						FB.XFBML.Host.parseDomElement(widget_div);
					}
					//facebookフレンド処理
					FB.Facebook.apiClient.friends_get(null, function(result) {
						if(result){
							//facebookフレンド表示
							disp_facebook_friend(result);
							//facebookとgiveapp共用処理
							facebook_giveapp_friend(result);
						}
					});
					//出力有効化
					$("#facebook_right_disp").attr("style","display:yes");
					//ログインフォームにfacebookidを設定し連動させる
					facebook_id_setting();
					break;
				case FB.ConnectState.appNotAuthorized:
				case FB.ConnectState.userNotLoggedIn:
					//fb未ログイン時用
					disp_giveapp_info();
					var widget_div = document.getElementById("fb_not_login");
					if (widget_div) {
						FB.XFBML.Host.parseDomElement(widget_div);
					}
					break;
			}
			
		 });
	});
}
function disp_giveapp_info(){
	$("#fb_not_login").attr("style","display:yes");
}

function disp_facebook_user_info(){
	$("#fb_logged_in").attr("style","display:yes");
}
function facebook_id_setting(){
	if(document.login_form){
		var addElement = document.createElement('input');
		addElement.type = 'hidden';
		addElement.name = 'give_facebook_id';
		addElement.value = FB.Connect.get_loggedInUser();
		document.login_form.appendChild(addElement);
	}
}


function disp_facebook_friend(result){
	//facebook ユーザー一覧の設定
	var widget_div = document.getElementById("profile_pics");
	if(widget_div){
		//シャッフル
        var result = result.shuffle();  
			
		var markup = "";
    	var num_friends = result ? Math.min(20, result.length) : 0;
    	if (num_friends > 0) {
			for (var i=0; i<num_friends; i++) {
				markup += '<fb:profile-pic size="square" width="45" height="45" uid="'+result[i]+'" facebook-logo="true"></fb:profile-pic>';
      		}
    	}
		widget_div.innerHTML = markup;
		FB.XFBML.Host.parseDomElement(widget_div);
	}
}

function facebook_giveapp_friend(result){
	var widget_div = document.getElementById("top_my_friend_osusume_app");

	//facebookとgiveAppの共用ユーザー情報の設定
	$.getJSON("/member/get_friend.php", {viwer_id: $('#viewer_user_id').text(), fb_frind_id: result}, function(json){
		if(json.status == 'error'){
		}
		else{
			json = json.shuffle();
			var data_cnt = 3;
			if(json.length <= 3){
				data_cnt = json.length;
			}
			var disp_value = '';
			for(i = 0; i < data_cnt; i++){
				value = "<li><table cellspacing='0' cellpadding='0' border='0'><tr><td><fb:profile-pic size='square' width='45' height='45' uid='"+json[i]['user_facebook_id']+"' facebook-logo='true' linked='false'></fb:profile-pic></td><td><a href='/member/user_review_list.php?page_id="+json[i]['user_page_id']+"'>"+json[i]['user_nickname']+"のレビューをみる</a><tr><th></td></tr></table></li>";
				disp_value += value;
			}
			if (widget_div) {
				widget_div.innerHTML = disp_value;
				FB.XFBML.Host.parseDomElement(widget_div);
			}
		}
	});
}

function facebook_connect(){

var user_id = FB.Connect.get_loggedInUser();
//facebook connect時のコールバック関数
//FB.Facebook.apiClient.users_getInfo(new Array(user_id),new Array('proxied_email', 'email','name', 'pic_square', 'last_name', 'first_name', 'profile_url', 'current_location'),function(result){
	//fbidが設定されていればsubmitさせる
	if(user_id){
		$.getJSON("/facebook/add_facebook_id.php", {give_facebook_id:user_id}, function(json){
			if(json.status == "send_login"){
				$("#fancybox-close").click();
			}
		});
	}else{
		location.href = "/member/";
	}
//	});
}

