Event.observe(window, 'load', function() { 
	// Initialise Facebook JS
	FB.init({appId: '121159031227713', status: true, cookie: true, xfbml: true});
	
	FB.getLoginStatus(function(response) {
		if (response.status === 'connected') {
			document.user_id = response.authResponse.userID;

			// logged in and connected user, someone you know
			changeMessage(true);
			getFriends();
				
		} else {
			// no user session available, someone you dont know
			changeMessage(false);
		}
	});
	
	var search = $('search');
	new Form.Element.Observer(search, 0.5, function(element, value){
		filter(value);
	});
	
	mn();

});


/*
 * Login to Facebook
 */
function login(){
	FB.login(function(response) {
		if (response.authResponse) {
			document.user_id = response.authResponse.userID;
			changeMessage(true);
			getFriends();
		} else {
			changeMessage(false);
		}
	});
	
	console.log(document.user_id);
}


/*
 * Logout of Facebook
 */
function logout(){
	FB.logout(function(response) {
		document.user_id = null;
		changeMessage(false);
		$('intro').show();
	});
}


/*
 * Change the message
 */
function changeMessage(loggedin){
	if (loggedin == true) {
				
		// show loading animation
		$('message').update('<img style="margin-left: 520px; margin-top: 90px;" src="assets/images/loading.gif" alt="" />');
		
		$('intro').hide();
		$('message').update('<h1 id="the-message">{' + document.user_id + '}</h1>');
		
		if(document.user_id.length < 9){
			$('the-message').setStyle({fontSize: '165px'});
		} else if (document.user_id.length > 10 && document.user_id.length < 13){
			$('the-message').setStyle({fontSize: '120px'});
		} else if (document.user_id.length > 13){
			$('the-message').setStyle({fontSize: '100px'});
		}
		
		$('fb-button').update('<div id="fb-logout" onclick="logout();"></div>');
		//$('fb-button').setStyle({'margin-bottom' : '20px;'});
		$('friends_title').show();
		$('friends_seperator').show();
		$('removable').hide();
		
	} else {
		//$('intro').update('');
		$('message').update('<h1 id="the-message">{Please Login}</h1>');
		$('fb-button').update('<div id="fb-login" onclick="login();"></div>');
		//$('fb-button').setStyle({'margin-bottom' : '0px;'});
		$('friends').update('');
		$('search').hide();
		$('friends_title').hide();
		$('friends_seperator').hide();
		$('removable').show();
	}
}

/*
 * 
 */
function getFriends(){
	// grab friends data from facebook
	FB.api('/me/friends/', function(response) {
		if (response || response.data) {
			var friends = response.data;
			
			var friend_list = new Friends();
			friend_list.show(friends);
			
			// Save the contacts into session for use in filtering 
			new Ajax.Request('/ajax/friends.php', {
				asynchronous: false,
				method: 'post',
				parameters: 'friends=' + friends.toJSON(),
				onSuccess: function(response) {
					//	do something
				}
			});	
			
			// set friends do document for later
			document.friends = friends;
		}
	});
}

/*
 *
 */
function filter(value){	
	new Ajax.Request('/ajax/filter/friends.php', {
		asynchronous: true,
		method: 'post',
		parameters:'q=' + value,
		onSuccess: function(response) {
			var friends = response.responseJSON;
			
			// clear friends div
			$('friends').update('');
			
			if(friends.length > 0){
				var friend_list = new Friends();
				friend_list.show(friends);
			} else {
				var friend_list = new Friends();
				friend_list.show(document.friends);
			}
		}
	});		
}
