

window.fbAsyncInit = function() {
	FB.init({
			appId: SBS_FB_APP_ID, 
			status: true, 
			cookie: true, 
			xfbml: true});


    FB.Event.subscribe('comments.add', function(response) {
    	// do something with response.session
		updateWpComments(SBS_FB_POST_ID,SBS_FB_XID);
   	});
	/* All the events registered */
    FB.Event.subscribe('auth.login', function(response) {
    	// do something with response
        login();
    });
    FB.Event.subscribe('auth.logout', function(response) {
    	// do something with response
        logout();
    });
    FB.Event.subscribe('auth.sessionChange', function(response) {
    	// do something with response.session
   	});
    FB.getLoginStatus(function(response) {
    	if (response.session) {
    		// logged in and connected user, someone you know
    		login();
    	}
    });
};
(function() {
	var e = document.createElement('script');
	e.type = 'text/javascript';
	e.src = document.location.protocol + '//connect.facebook.net/' + SBS_FB_LANGUAGE + '/all.js#appId=' + SBS_FB_APP_ID + '&amp;xfbml=1';
	e.async = true;
	document.getElementById('fb-root').appendChild(e);
}());


function login(){
	FB.api('/me', function(response) {
		document.getElementById('login').style.display = "block";
		document.getElementById('login').innerHTML = response.name + " succsessfully logged in!";
	});
}
function logout(){
	document.getElementById('login').style.display = "none";
}

//stream publish method
function streamPublish(name, description, hrefTitle, hrefLink, userPrompt){
	FB.ui(
			{
				method: 'stream.publish',
				message: '',
				attachment: {
				name: name,
				caption: '',
				description: (description),
				href: hrefLink
			},
			action_links: [
			               { text: hrefTitle, href: hrefLink }
			               ],
			               user_prompt_message: userPrompt
			},
			function(response) {

			});
	
}
function showStream(){
	FB.api('/me', function(response) {
		//console.log(response.id);
		streamPublish(response.name, SBS_FB_SITEDESCRIPTION, SBS_FB_SITENAME, SBS_FB_SITEURL, "Share " + SBS_FB_SITENAME);
	});
}

function share(){
	var share = {
			method: 'stream.share',
			u: SBS_FB_SHARE_LINK
	};
	
	FB.ui(share, function(response) { console.log(response); });
}

function graphStreamPublish(){
	var body = SBS_FB_POST_TITLE;
	FB.api('/me/feed', 'post', { message: body }, function(response) {
		if (!response || response.error) {
			alert('Error occured');
		} else {
//			alert('Post ID: ' + response.id);
		}
	});
}

function collectData(){
	FB.api('/me', function(response) {
		var query = FB.Data.query('select name, email, hometown_location, sex, pic_square, music from user where uid={0}', response.id);
		query.wait(function(rows) {
			jQuery.ajax({
	            type: "POST",
	            url: "/wp-content/plugins/sbs_facebook_share/collectData.php",
	            data: "name=" + rows[0].name + "&email=" + rows[0].email,
	            dataType: "xml",
	            success: function(xml) {
//					alert(rows[0].name);
					// doe iets na de ajax call
	            }
	        }); //close $.ajax(
			
			var homeTown = '';
			for (i = 0; i < rows[0].hometown_location.length; i++){
				homeTown = homeTown + ', ' + rows[0].hometown_location[i]; 
			}
			
			document.getElementById('g-header').innerHTML =
				'<pre>' + var_dump(rows) + "</pre><br />" +
				'Your name: ' + rows[0].name + "<br />" +
				'Your email: ' + rows[0].email + "<br />" +
				'You: ' + rows[0].sex + "<br />" +
				'Your Hometown: ' + homeTown + "<br />" +
				'Your Music: ' + rows[0].music + "<br />" +
				'<img src="' + rows[0].pic_square + '" alt="" />' + "<br />";
		});
	});
}

function displayFriendsCount(count) {
	count.wait(function(result) {
//		alert('friends count = ' + result);
	});
}


function updateWpComments(post_id, post_xid){
	
//	var friends = FB.Data.query('select uid2 from friend where uid1={0}',FB.getSession().uid);
//	// ...
//	// Create a Waitable that is the count of friends
//	var count = FB.Data.waitOn([friends], 'args[0].length');
//	displayFriendsCount(count);
//	// ...
	
	

//    var query = FB.Data.query('SELECT text FROM comment WHERE xid="{0}"',post_xid);
//	var query_w = FB.Data.waitOn([query], 'args');
//	FB.Array.forEach(query.value, function(row) {
//		alert('iets');
//	});
	
	
	
	 
	 
	if (post_xid.length == 32){
	    var queryTemplate = "SELECT text FROM comment WHERE xid = '" + post_xid + "'";
//	    var query = FB.Data.query('SELECT text FROM comment WHERE xid="{0}"',post_xid);
	    var query = FB.Data.query(queryTemplate);
	    query.wait(function(rows) {
	    	var commentCount = rows.length;
//	    	FB.Array.forEach(rows.text, function(row) {
//	    		alert(row.text);
//	    	});
	  	  jQuery.ajax({
	          type: "POST",
	          url: "/wp-content/plugins/sbs_facebook_share/updateComments.php",
	          data: "commentCount=" + commentCount + "&post_id=" + post_id,
	          dataType: "xml",
	          success: function(xml) {
//					alert('Number of comments: ' + commentCount);
					// doe iets na de ajax call
	          }
	  	  });
	    });
	}
}

function var_dump(obj) {
	var out = '';
	for (var i in obj) {
		out += i + ": " + obj[i] + "\n";
	}
	
	return out;

}//end function var_dump


function fqlQuery(){
	FB.api('/me', function(response) {
		var query = FB.Data.query('select name, email, hometown_location, sex, pic_square from user where uid={0}', response.id);
		query.wait(function(rows) {
			
			document.getElementById('name').innerHTML =
				'Your name: ' + rows[0].name + "<br />" +
				'Your email: ' + rows[0].email + "<br />" +
				'<img src="' + rows[0].pic_square + '" alt="" />' + "<br />";
		});
	});
}

function setStatus(){
	status1 = document.getElementById('status').value;
	FB.api(
			{
				method: 'status.set',
				status: status1
			},
			function(response) {
				if (response == 0){
//					alert('Your facebook status not updated. Give Status Update Permission.');
				}
				else{
//					alert('Your facebook status updated');
				}
			}
	);
}



function postResultsToFB(sbs_message, sbs_action_links, sbs_attachment, sbs_user_message_prompt){
	
//	alert('in postResultsToFB');
	
	FB.api('/me', function(response) {
		FB.ui(
				{
					method: 'stream.publish',
					message: sbs_message,
					attachment: sbs_attachment ,
					action_links: [
					               	sbs_action_links
					               	],
					user_message_prompt: sbs_user_message_prompt
				   },
				   function(response) {
					   return true;
				   }
				 );

	
	});
}

/*
	FB.api('/me', function(response) {
		FB.ui(
				{
					method: 'stream.publish',
					message: 'Ik heb meegedaan aan de prijsvraag',
					attachment: {
						name: 'Prijsvraag title',
						caption: 'Hier een intro',
						description: ('Hier wat meer text' ),
						href: 'http://dev.hartvannederland.nl/quiz/hier-quiz-1/',
						media:[{
							type:"image",
							src:"http://www.umw.edu/admissions/images/FaceBook-icon.jpg",
							href:"http://dev.hartvannederland.nl/quiz/hier-quiz-1/"
						}],				     
					},
					action_links: [
					    { 
					    	text: 'Code text', 
					        href: 'http://github.com/facebook/connect-js' 
					    }],
					user_message_prompt: 'Deel deze quiz met je vrienden'
				   },
				   function(response) {
				     if (response && response.post_id) {
				       alert('Post was published.');
				     } else {
				       alert('Post was not published.');
				     }
				   }
				 );

	
	});

*/
