google.setOnLoadCallback(function() {
	
	window.fbAsyncInit = function() {
		FB.init({ appId: '103531159714660', 
			status: true, 
			cookie: true,
			xfbml: true,
			oauth: true});

		function facebookStatus(response) {
			if (response.authResponse) {
				//user is already logged in and connected
				var accessToken = response.authResponse.accessToken;
				$(".fb_connect_button").addClass("hidden");

				var redirect = $(".fb_connect_button").attr("redirect");
				var coursepark_id = $(".fb_connect_button").attr("cp_id");
				
				if (coursepark_id) {
					window.location = "http://secure.coursepark.com/user/facebook/connect/accessToken/"+accessToken+"?redirectUrl="+encodeURIComponent(redirect);
				} else {
					var fbUid = response.authResponse.userID;
					var accessToken = response.authResponse.accessToken;
					$.ajax({
						type: "POST",
						dataType: "json",
						data: {fbUid : fbUid, accessToken : accessToken},
						url: "/user/facebook/attempt-login",
						success: function(data) {
							analyzeResults(data);
						},
						error: function() {
							
						}
					});
				}
				
				
			} else {
				//user is not connected to your app or logged out
				$("#fb_connect_button").removeClass("hidden");
			}
		}

		function analyzeResults(data) {
			//console.log(data);
			if (data.status === 'authorized') {
				window.location = "http://secure.coursepark.com/mycoursepark"
			} else if (data.status === 'not_authorized') {
				window.location = "http://secure.coursepark.com/user/facebook/connect/accessToken/"+data.accessToken;
			} else {
				alert('Please try again.');
			}
		}

		FB.Event.subscribe('auth.statusChange', facebookStatus);	
	};


	(function() {
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
		document.getElementById('fb-root').appendChild(e);
	}());
	
});
