$(document).ready(function() {
//facebook login

	$('body').append('<div id="fb-root"></div>');

	$('.facebookLoginButton').live('click', fbRegister);

	window.fbAsyncInit = function() {
		FB.init({
			appId      : facebookAppId, // App ID
			channelURL : facebookChannelUrl, // Channel File
			status     : true, // check login status
			cookie     : true, // enable cookies to allow the server to access the session
			oauth      : true, // enable OAuth 2.0
			xfbml      : true  // parse XFBML
		});


		if (facebookAutologin) { //autologin enabled
			FB.getLoginStatus(function(response) {
				if (response.authResponse) {
					var uid = response.authResponse.userID;


					jQuery.ajax({
						url : facebookAutologinUrl,
						type : 'POST',
						dataType : 'json',
						data : {
							uid : response.authResponse.userID
						},
						success : fbLoginResponse
					});

				} else {
					//No user session available, we don't have this facebook user in our database
				}
			});
		}

	};

	// Load the SDK Asynchronously
	(function(d){
		var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
		js = d.createElement('script'); js.id = id; js.async = true;
		js.src = "//connect.facebook.net/en_US/all.js";
		d.getElementsByTagName('head')[0].appendChild(js);
	}(document));


});


function fbRegister() {


	FB.login(function(response) {
		if (response.authResponse) {

			jQuery.ajax({
				url : facebookRegisterUrl,
				type : 'POST',
				dataType : 'json',
				data : {
					access_token : response.authResponse.accessToken,
					uid : response.authResponse.userID,
					signed_request : response.authResponse.signedRequest
				},
				success : fbRegisterResponse
			});

		} else {
			console.log('User cancelled login or did not fully authorize.');
		}
	}, {scope: 'email,user_birthday'});

}


function fbRegisterResponse(response) {
	var curUrl = document.location.href + '';
	if(curUrl.indexOf('#') != -1) {
		curUrl = curUrl.substr(0, curUrl.indexOf('#'));
	}
	window.location = curUrl;
}


function fbLoginResponse(response) {
	//do nothing. Waiting for user to reload the page

}
