
$(function() {
	var userInfo = null;
	gigya.services.socialize.getUserInfo(gigya_conf, {callback: function(response) {
		userInfo = response['user'];
	}});

	isSNConnected = function(provider) {
		if (userInfo) {
			if (userInfo.providers != null && userInfo.providers.length > 0) {
				for (var i=0; i<userInfo.providers.length; i++) {
					if (userInfo.providers[i] == provider) {
						return true;
					}
				}
			}
		}
		return false;
	}

	ffwidget_init = function() {
		var ffwidget = $('#ffWidget');
		$('li.network', ffwidget).live('click', function() {
			var network = $(this);

			if (typeof(network.attr('panel')) != 'undefined') {
				$('li.network.selected', ffwidget).removeClass('selected');
				network.addClass('selected');
				$('div.network_panel', ffwidget).hide();
				$('div#' + network.attr('panel')).show();

				var connect_ui = $('div#' + network.attr('panel') + '_connect');
				if (connect_ui.html() == '') {
					show_connect_ui(connect_ui.attr('id'));
				}
			}
		});

		$('li.network.selected', ffwidget).trigger('click');
	}	

	ffwidget_showNext = function() {
		var ffwidget = $('#ffWidget');

		$('li.network.selected', ffwidget).next('li.network').trigger('click');
	}

	show_connect_ui = function(id) {
		var connect_params = $.extend({}, gigya_connection_params);

		if (id == 'ffContents_email_connect') {
			connect_params.containerID = id;
			connect_params.enabledProviders = 'yahoo,messenger,google';
			gigya.services.socialize.showConnectUI(gigya_conf, connect_params);
		}
	}

	show_connect_with_popup = function(provider) {
		if (!hasLoggedOn) {
			window.location.href = "/signin.php?return_url=" + encodeURIComponent(window.location.href);
			return;
		}
		if (isSNConnected(provider)) {
			show_ff_popup(provider);
		} else {
			var connect_params = $.extend({}, gigya_connection_params, {'provider': provider});
			connect_params.callback = function(response) {
				show_ff_popup(provider);
			}

			gigya.services.socialize.addConnection(gigya_conf, connect_params);
		}
	}

	show_connect_with_invite = function(provider) {
		if (provider == 'facebook') {
			close_findfriends_popup('facebook');
			return connect_with_invite();
			return show_fb_invite_form();
		} else if (provider == 'twitter' || provider == 'linkedin' || provider == 'myspace') {
			$('div#'+provider+'_invite a.invitebtn').trigger('click'); return;
			$('div#twitter_invite a.invitebtn').trigger('click'); return;
			return show_next_frame(provider);

/*
			var popup_id = (provider == 'twitter' ? 'ffContents_tw_popup' : 'ffContents_li_popup');
			var popup = $('#'+popup_id);
			popup.balloon({'width': 646, 'close_button': true}).balloon('show');
			popup.bind('balloon_close_button_click', function() {
				popup.balloon('close').balloon('destroy');
				popup.unbind('balloon_close_button_click');
			});*/

			return;
		} else if (provider == 'email'  || provider == 'google' || provider == 'yahoo' || provider == 'messenger') {			
/*
			$('#ffContents_email_popup').load('myprofile.findfriends.email.php', function() {
				$('#ffContents_email_popup').balloon({'width': 625}).balloon('show');
				$('#ffContents_email_popup').bind('balloon_close_button_click', function() {
					$('#ffContents_email_popup').balloon('close').balloon('destroy');
					$('#ffContents_email_popup').unbind('balloon_close_button_click');
				});
			});
*/
			$('#ffContents_email_popup').html('Loading...').balloon({'width': 625}).balloon('show').load('myprofile.findfriends.email.php?provider='+provider);
			$('#ffContents_email_popup').bind('balloon_close_button_click', function() {
				$('#ffContents_email_popup').balloon('close').balloon('destroy');
				$('#ffContents_email_popup').unbind('balloon_close_button_click');
			});
			return;
		} else {
			return;
		}

	}

	connect_with_invite = function() {
		gigya.services.socialize.removeConnection(gigya_conf, {'provider': 'facebook', 'callback': function() {
			gigya.services.socialize.addConnection(gigya_conf, {'provider': 'facebook', 'invite': invite_params});
		}});
		
	}

	show_invite_email = function() {
		$('#ffContents_email_popup div.popup_wrap div.popup_content').css({'margin-left': '-585px'});
	}

	show_next_frame = function(provider) {
		var popup_box = apt_get_ff_popup(provider);

		if (popup_box) {
			$('div.popup_wrap div.popup_content', popup_box).css({'margin-left': '-585px'});
		}
	}

	apt_get_ff_popup = function(provider) {
		var popup_box = null;
		if (provider == 'facebook') {
			popup_box = $('#ffContents_fb_popup');
		} else if (provider == 'twitter') {
			popup_box = $('#ffContents_tw_popup');
		} else if (provider == 'email' || provider == 'google' || provider == 'yahoo' || provider == 'messenger') {
			popup_box = $('#ffContents_email_popup');
		} else if (provider == 'linkedin') {
			popup_box = $('#ffContents_li_popup');
		} else if (provider == 'myspace') {
			popup_box = $('#ffContents_ms_popup');
		}

		return popup_box;
	}

	show_ff_popup = function(provider) {
		var ffwidget = $('#ffWidget');

		if (provider == 'facebook' || provider == 'twitter' || provider == 'linkedin' || provider == 'myspace') {
			var popup_box = apt_get_ff_popup(provider);
			if (provider == 'facebook') { 
				var url = 'myprofile.findfriends.fb.php';
			} else if (provider == 'linkedin') {
				var url = 'myprofile.findfriends.li.php';
			} else if (provider == 'myspace') {
				var url = 'myprofile.findfriends.ms.php';
			} else {
				var url = 'myprofile.findfriends.tw.php';
			}

			popup_box.html('Loading...').balloon({'width': 625}).balloon('show').load(url);
			popup_box.bind('balloon_close_button_click', function() {
				popup_box.balloon('close').balloon('destroy');
				popup_box.unbind('balloon_close_button_click');
			});

		} else {
			show_connect_with_invite(provider);
		}	


		/*
		gigya.services.socialize.getFriendsInfo(gigya_conf, {
			'enabledProviders': provider,
			'siteUsersOnly': true,
			'callback': function(response) {
				if (response.errorCode == 0) {
					var myFriends = response['friends'].asArray();
					var count = 0;
					if ( null!=myFriends && myFriends.length>0) { 
						for (var index in myFriends) {
							if (myFriends[index].isSiteUID) {
								count++;
							}
						}
					}

					if (count > 0) {
						var selector_params = $.extend({}, gigya_selector_params, {
							'enabledProviders': provider,
							'okButtonText': 'Friend Selected'
						});
						selector_params.onSelectionDone = function(evt) {
							send_friend_request(evt.friends, function() {
								show_connect_with_invite(provider);
							});
						}
						gigya.services.socialize.showFriendSelectorUI(gigya_conf, selector_params);
					} else {
						show_connect_with_invite(provider);
					}
				}
			}
		});
		*/
		
	}

	show_fb_invite_form = function() {
		$.ajax({
			'url': 'myAccount-api.php',
			'type': 'GET',
			'data' : {'handler': 'get_fb_invite'},
		
			'success': function(data) {
				document.getElementById('ffContents_fb_popup').innerHTML = data;
				FB.XFBML.parse(document.getElementById('ffContents_fb_popup'));
				$('div#ffContents_fb_popup').balloon({'width': 700}).balloon('show');
				$('div#ffContents_fb_popup').bind('balloon_close_button_click', function() {
					$('#ffContents_fb_popup').balloon('close').balloon('destroy');
	        $('#ffContents_fb_popup').unbind('balloon_close_button_click');
				});
			}
		});	
	}

	show_twitter_invite = function(status) {
		close_findfriends_popup('twitter');
		window.open('http://twitter.com/share?'+ status, '_blank', 'height=400,width=800,left=300,top=200,resizable=yes', true);
		//window.open('http://twitter.com/home?status=' + status, '_blank', 'height=400,width=800,left=300,top=200,resizable=yes', true); 
	}

	show_linkedin_invite = function(status) {
		close_findfriends_popup('linkedin');
		var share_url = 'http://www.linkedin.com/shareArticle?'+status;
		window.open(share_url, '_blank', 'height=570,width=520,left=300,top=200,resizable=yes', true);
	}

	show_myspace_invite = function(status) {
		close_findfriends_popup('myspace');
		var share_url = 'http://www.myspace.com/index.cfm?'+status;
		window.open(share_url, 'ptm', 'height=450,width=440,left=300,top=200,resizable=yes', true);
	}

	show_linkedin_invite_deprecated = function() {
		var message = $('#ffContents_li_invite_text').val();
		
		if (message == '') {
			alert('Please enter some words');
		} else {
			gigya.services.socialize.setStatus(gigya_conf, {
				'enabledProviders': 'linkedin',
				'status': message,
				'callback': function(response) {
					$('#ffContents_li_popup').trigger('balloon_close_button_click');
				}
			});
		}
	}

	send_friend_request = function(friends, callback) {
		if (friends != null) {
			var friendsArr = friends['arr'];
			if (friendsArr != null && friendsArr.length > 0) {
				var params = { handler: 'add_friends_gigya', friends: [] };
				for (var index in friendsArr) {
					var friend = friendsArr[index];
					params.friends.push({ UID: encodeURIComponent(friend.UID), friendshipSig: encodeURIComponent(friend.friendshipSig), timestamp: encodeURIComponent(friend.timestamp)});
				}

				$.post('myAccount-api.php', params, function(data) {
					callback();
				}, 'json');
			}
		}
	}

	add_email_friends = function(selectall) {
		var checkboxs = $('ul li :input[type=checkbox]', $('#email_ff'));		
		var friends_list = [];
		checkboxs.each(function() {
			if (selectall || this.checked) {
				friends_list.push($(this).val());
			}
		});
		if (friends_list.length > 0) {
			send_friend_request_batch(friends_list, function() {
				alert('We\'hv sent friend requests to the people you selected');
				show_invite_email();
			});
		}
	}

	add_network_friends = function(provider, selectall) {
		var checkboxs = $('ul li :input[type=checkbox]', $('#'+provider+'_ff'));		
		var friends_list = [];
		checkboxs.each(function() {
			if (selectall || this.checked) {
				friends_list.push($(this).val());
			}
		});
		if (friends_list.length > 0) {
			send_friend_request_batch(friends_list, function() {
				alert('We\'hv sent friend requests to the people you selected');
				show_connect_with_invite(provider)
			});
		}
	}

	send_friend_request_batch = function(users, callback) {
		$.ajax({
			'type': 'POST',
			'url': '/actions.php',
			'dataType': 'json',
			'data': {
				'userid': users,
				'action': 'send-friend-request-batch'
			},

			'success': function(data, status, xhr) {
				callback();
			}
		});
	}

	invite_email_friends = function(selectall) {
		var checkboxs = $('ul li :input[type=checkbox]', $('#email_invite'));
		var friends_list = [];
		checkboxs.each(function() {
			if (selectall || this.checked) {
				friends_list.push($(this).val());
			}
		});
		if (friends_list.length > 0) {
			send_friend_invite_batch(friends_list, function() {
				alert('invite sent');
				close_email_popup();
			});
		}
	}
	
	close_email_popup = function() {
		close_findfriends_popup('email');
	}

	close_findfriends_popup = function(provider) {
		var popup_box = apt_get_ff_popup(provider);

		if (popup_box) {
			popup_box.balloon('close');
			popup_box.balloon('destroy');
			//ffwidget_showNext();
		}
	}

	send_friend_invite_batch = function(emails, callback) {
		$.ajax({
			'type': 'POST',
			'url': '/actions.php',
			'dataType': 'json',
			'data': {
				'emails': emails,
				'action': 'send-friend-invite-batch'
			},

			'success': function(data, status, xhr) {
				callback();
			}
		});
	}

	//ffwidget_init();

	//$('#ffContents_email_popup').load('myprofile.findfriends.email.php');
});

