
var openidconnect_api_endpoint = getParam('sJsAjax');
var openidconnect_faceboxex_close_nocancel = false;
var openidconnect_autologin_skipcheck = false;

function openidconnect_autologin(openid_user_id) {
  // get user pref and :
  // if autologin is on - refresh page
  // if autologin is off - do nothing
  // if autologin is not set - show dialog
  if(openidconnect_autologin_skipcheck) {
	return;
  }

  var ajax = new PMods.Ajax(openidconnect_autologin_onSuccess);

  var sCall = 'openidsocial.autologin';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&task=autologin&openidservice='+openidconnect_primary_network;
  ajax.post(openidconnect_api_endpoint, params)
  
}


function openidconnect_autologin_onSuccess (obj, responseText) {
  var r = [];
  try {
	r = eval('(' + responseText + ')')
  } catch(e) {
	r.status = 1
  };
  
  if (r.status == 0) {
	
	if(r.autologin == 0) {
	  
	  // show dialog
	  openidconnect_autologin_prompt();
	  
	} else if(r.autologin == 1) {

	  // autologin
	  openidconnect_autologin_complete();
	  
	}
	// otherwise autologin is off by user
	
  } else {

  }
  
}


function openidconnect_autologin_prompt() {
  
  jQuery.faceboxex({ div: '#openidconnect_autologin_prompt' })

  $(document).bind('close.faceboxex', function() { _openidconnect_autologin_cancel() })
  
}

function openidconnect_autologin_confirmed() {
  
  var checkbox = $('#faceboxex .openidconnect_autologin_remember');
  var checked = checkbox.length == 0 ? 0 : checkbox[0].checked;
  
  openidconnect_faceboxex_close_nocancel = true;
  
  jQuery(document).trigger('close.faceboxex');
  
  var complete_login = function() { openidconnect_autologin_complete(); };
  
  if(checked) {
	var ajax = new PMods.Ajax(complete_login,complete_login);
	var sCall = 'openidsocial.autologinNextTime';
	var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
	sParams += '&phpfox[security_token]=' + oCore['log.security_token'];
	var params = sParams + '&task=autologinnexttime&openidservice='+openidconnect_primary_network;
	ajax.post(openidconnect_api_endpoint, params);
  } else {
	complete_login();
  }

}

function openidconnect_autologin_complete() {
  //window.location = openidconnect_autologin_url + 'login/&openidservice=' + openidconnect_primary_network + '&next=' + escape(document.location);
  window.location = openidconnect_autologin_url + 'login/&openidservice=' + openidconnect_primary_network;
}

function openidconnect_autologin_cancel() { 
  
  jQuery(document).trigger('close.faceboxex');
  
  _openidconnect_autologin_cancel();

}

function _openidconnect_autologin_cancel() {

  if(openidconnect_faceboxex_close_nocancel) {
	return;
  }
  
  var checkbox = $('#faceboxex .openidconnect_autologin_remember');
  var checked = checkbox.length == 0 ? 0 : checkbox[0].checked;
  
  var ajax = new PMods.Ajax();
  var sCall = 'openidsocial.autologinSuppress';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];
  var params = sParams + '&task=autologinsuppress&openidservice='+openidconnect_primary_network + '&autologinremember=' + (checked ? 1 : 0);
  ajax.post(openidconnect_api_endpoint, params);
  
}


function openidconnect_facebook_require_login() {
  $(document).ready( function() { openidconnect_facebook_require_login_onload(); } );
}

var openidconnect_facebook_require_login_current_state = 1;

function openidconnect_facebook_require_login_onload() {

  FB_RequireFeatures(["Connect"], function () {
	FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {
	  ifUserConnected: function (facebook_user_id) {
		if(openidconnect_facebook_require_login_current_state != 0) {
		  if (facebook_user_id == openidconnect_facebook_user_id) {
			openidconnect_facebook_require_login_loaded(true);
		  } else {
			openidconnect_facebook_require_login_loaded(false);
		  }
		}
	  },
	  ifUserNotConnected: function () {
		openidconnect_facebook_require_login_current_state = 0;
		openidconnect_facebook_require_login_loaded(false);
	  },
	  doNotUseCachedConnectState: true
	});
  });
  
  /*
  FB_RequireFeatures(["Connect"], function () { 
	FB.ensureInit(function() {
	  FB.Connect.ifUserConnected(
		function(facebook_user_id) {
		  if(openidconnect_facebook_require_login_current_state != 0) {
			if (facebook_user_id == openidconnect_facebook_user_id) {
			  openidconnect_facebook_require_login_loaded(true);
			} else {
			  openidconnect_facebook_require_login_loaded(false);
			}
		  }
		},
		function() {
		  openidconnect_facebook_require_login_current_state = 0;
		  openidconnect_facebook_require_login_loaded(false);
		});
	})
  });
  */

}

function openidconnect_facebook_require_login_loaded(loggedin) {
  //alert('xx');
  if($('#openidconnect_facebook_require_login_loading')) {
	$('#openidconnect_facebook_require_login_loading').hide();
  }
  if (loggedin) {
	$('#openidconnect_facebook_loggedin').show();
  } else {
	$('#openidconnect_facebook_loggedin').hide();
	$('#openidconnect_facebook_notloggedin').show();
  }
}

function openidconnect_register_invite_form() {

  $(document).ready( function() { openidconnect_invite_form_onload() } );

}





function openidconnect_invite_form_invitable(facebook_user_id) {

  if (!facebook_user_id || (openidconnect_facebook_user_id != facebook_user_id)) {
	$('#openidconnect_facebook_invite_dialog').hide();
	$('#openidconnect_facebook_connect').show();
  }
}

function openidconnect_invite_form_onload() {
  
  FB_RequireFeatures(["XFBML","Connect"], function () {
	FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {
	  ifUserConnected: function (facebook_user_id) {
		openidconnect_invite_form_invitable(facebook_user_id)
	  },
	  ifUserNotConnected: function () {
		openidconnect_invite_form_invitable()
	  },
	  doNotUseCachedConnectState: true
	});
  });
 
}


function openidconnect_register_facebook_login_button(redirect_url) {
  $(document).ready( function() { openidconnect_facebook_login_button_onload(redirect_url); } );
}

function openidconnect_facebook_login_button_onload(redirect_url) {
  
  FB_RequireFeatures(["Connect"], function () {
	openidconnect_facebook_login_button_clickable(redirect_url);
  });
  
}

function openidconnect_facebook_login_button_clickable(redirect_url) {

  $('.openidconnect_facebook_login_button').each( function() {
	$(this).click( function() {

	  var permissions = "";
	  /*
	  var permissions = "offline_access,publish_stream";
	  if(parseInt(openidconnect_fbe) == 1) {
		permissions += ",email";
	  }		  
	  */
	  if(parseInt(openidconnect_fbe) == 1) {
		permissions += "email";
	  }

	  FB_RequireFeatures(["Connect"], function () {
		FB.Facebook.appSettings['permsToRequestOnConnect'] = permissions;
		FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {doNotUseCachedConnectState: true, permsToRequestOnConnect : permissions});
//		FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {doNotUseCachedConnectState: true, permsToRequestOnConnect : permissions, ifUserConnected : redirect_url });

		FB.Connect.requireSession( function() {window.location = redirect_url;});

		//FB.Connect.requireSession( function() {window.location = redirect_url;}, function() {window.location = redirect_url;});
		
		/*
		FB.Connect.requireSession( function());
		FB.Facebook.get_sessionState().waitUntilReady(function (session_object) {
		  //openidconnect_facebook_prompt_permission("offline_access,publish_stream,email", function() {
		  //openidconnect_facebook_prompt_permission(permissions, function() {
		  //openidconnect_facebook_prompt_multiple_permissions(permissions, function() {		  
			window.location = redirect_url;
		  //} );		  		  
		})
		*/
	  })
	  return false;
	})
  });

}  

function openidconnect_facebook_disconnect(redirect) {
  
  if(typeof redirect == 'undefined') {
	redirect = openidconnect_logout_url;
  }
  
  FB.ensureInit(function() {
	FB.Connect.get_status().waitUntilReady( function( status ) {
	   switch ( status ) {
		case FB.ConnectState.connected:
		  FB.Connect.logoutAndRedirect( redirect );
		   break;
 
		case FB.ConnectState.appNotAuthorized:
		case FB.ConnectState.userNotLoggedIn:
		  window.location = redirect;
	   }
	}) 
  });
  
}

function openidconnect_facebook_authorize_status_update() {
  openidconnect_facebook_prompt_permission('status_update', openidconnect_facebook_authorize_status_update_authorized);
}

function openidconnect_facebook_authorize_status_update_check() {
  openidconnect_require_connected( function() { _openidconnect_facebook_authorize_status_update_check(); } );
}

function _openidconnect_facebook_authorize_status_update_check() {
  
  FB.ensureInit( function() {
	FB.Connect.requireSession( function() {
	  FB.Facebook.apiClient.users_hasAppPermission("status_update",openidconnect_facebook_authorize_status_update_authorized);
	});    
  });
	
}

function openidconnect_facebook_authorize_status_update_authorized(granted) {

  if (granted) {
	$('#openidconnect_facebook_status_update_check').hide();
	$('#openidconnect_facebook_status_update_reqbutton').hide();
	$('#openidconnect_facebook_status_update_notgranted').hide();
	$('#openidconnect_facebook_status_update_granted').show();
  } else {
	$('#openidconnect_facebook_status_update_check').hide();
	$('#openidconnect_facebook_status_update_reqbutton').show();
	$('#openidconnect_facebook_status_update_notgranted').show();
	$('#openidconnect_facebook_status_update_granted').hide();
  }
  
}

function openidconnect_facebook_status_update_check_switch(status) {
  status ? $('#openidconnect_facebook_status_update_authorization').show() : $('#openidconnect_facebook_status_update_authorization').hide() ;
}

function openidconnect_facebook_logout() {

  FB_RequireFeatures(["Connect"], function () {
	FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', null);
	FB.Connect.logoutAndRedirect( openidconnect_logout_url );
  });

  return false;

}

function openidconnect_facebook_logout_network() {
  window.location = openidconnect_logout_url + '/user/logout';
  window.location = openidconnect_logout_url;
}

function openidconnect_facebook_hook_logout_link() {

  $('a').each( function() {
	if(/\/user\/logout/.test(this.href)) {

	  this.href = 'javascript:void(0)';
	  this.innerHTML = "<img Xstyle='margin-bottom: -4px; background-color: white' border='0' id='fb_logout_image' src='http://static.ak.fbcdn.net/images/fbconnect/logout-buttons/logout_small.gif' alt='Connect'/>";

	  $(this).click( openidconnect_facebook_logout );

	}
  });

}

function openidconnect_compose_feed_story(story_type,story_params) {
  
  var ajax = new PMods.Ajax(openidconnect_compose_feed_story_onSuccess, openidconnect_compose_feed_story_onFail);

  var sCall = 'openidsocial.composeFeedStory';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&task=composestory&story_type=' + story_type + '&story_params=' + story_params;
  ajax.post(openidconnect_api_endpoint, params)

}


function openidconnect_publish_feed_story_do(story_type,story_params) {

  $('#faceboxex #openidconnect_publish_feed_story_action').hide();
  $('#faceboxex #openidconnect_publish_feed_story_progress').show();
  
  var checkboxes = $('#faceboxex .openidconnect_publish_feed_story_service');
  var services = [];
  for(var checkbox in checkboxes) {
	if(checkboxes[checkbox].checked) {
	  services.push(checkboxes[checkbox].value);
	}
  }
  
  services.join(',');

  var user_message = $('#faceboxex .openidconnect_user_message');
  user_message = user_message.length == 0 ? '' : user_message[0].value;
  
  var update_session = $('#faceboxex .openidconnect_publish_feed_story_update_session').val();
  
  var ajax = new PMods.Ajax(openidconnect_publish_feed_story_do_onSuccess, openidconnect_publish_feed_story_do_onFail);

  var sCall = 'openidsocial.publishFeedStory';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&task=publishfeedstory&story_type=' + story_type + '&story_params=' + story_params + '&services=' + services + '&user_message=' + user_message + '&update_session=' + update_session;
  ajax.post(openidconnect_api_endpoint, params)

}

var openidconnect_publish_feed_story_rounds = 0;
var openidconnect_publish_feed_story_rounds_max = 2;

function openidconnect_publish_feed_story_do_onSuccess(obj, responseText) {

  var r = obj.toResponse();
  
  if (r.status == 0) {

  $('#faceboxex #form_div').hide();
  $('#faceboxex #openidconnect_publish_feed_story_success').show();

  setTimeout( function() { openidconnect_faceboxex_close_nocancel = true; jQuery(document).trigger('close.faceboxex'); }, 2000);

  openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);
  
  } else if ((r.status == 200) || (r.status == 204)) {

	$('#faceboxex #openidconnect_publish_feed_story_action').show();
	$('#faceboxex #openidconnect_publish_feed_story_progress').hide();
	
	$('#faceboxex .openidconnect_publish_feed_story_prompt_confirmed').attr("disabled", 0);  

	$('#faceboxex .openidconnect_publish_feed_story_update_session').val(1);
	
	openidconnect_publish_feed_story_rounds++;
	
	// permissions or session expired
	//openidconnect_facebook_prompt_multiple_permissions("offline_access,publish_stream", function() { openidconnect_publish_feed_story_prompt_confirmed();  } );
	openidconnect_facebook_prompt_permission("offline_access,publish_stream", function(perms) {
	  if((perms != '') && (openidconnect_publish_feed_story_rounds < openidconnect_publish_feed_story_rounds_max)) {
		openidconnect_publish_feed_story_prompt_confirmed();
	  }
	});

  } else {

	// some unclear error, ignore.
	
	$('#faceboxex #form_div').hide();
	$('#faceboxex #openidconnect_publish_feed_story_success').show();
  
	setTimeout( function() { openidconnect_faceboxex_close_nocancel = true; jQuery(document).trigger('close.faceboxex'); }, 2000);
  
	openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);
	
  }

  
}

function openidconnect_publish_feed_story_do_onFail(obj, responseText) {

  $('#faceboxex #form_div').hide();
  $('#faceboxex #openidconnect_publish_feed_story_fail').show();

  setTimeout( function() { openidconnect_faceboxex_close_nocancel = true; jQuery(document).trigger('close.faceboxex'); }, 2000);

  openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);

}


function openidconnect_compose_feed_story_onSuccess (obj, responseText) {
  var r = [];
  try {
	r = eval('(' + responseText + ')')
  } catch(e) {
	r.status = 1
  };
  
  if (r.status == 0) {
	  
	if(r.openidconnect_feed_story.publish_using == 'stream') {
	  openidconnect_facebook_publish_stream( r.openidconnect_feed_story.story_type,
											 r.openidconnect_feed_story.data,
											 r.openidconnect_feed_story.user_prompt,
											 r.openidconnect_feed_story.user_message
											);
	} else {
	  openidconnect_facebook_publish_feed_story( r.openidconnect_feed_story.story_type,
												 r.openidconnect_feed_story.data,
												 r.openidconnect_feed_story.template_bundle_id,
												 r.openidconnect_feed_story.user_prompt,
												 r.openidconnect_feed_story.user_message
												 );
	}
	
  } else {

  }
  
}

function openidconnect_compose_feed_story_onFail (obj, responseText) {
}

//function openidconnect_publish_feed_story_prompt() {
//  openidconnect_require_connected( function() { _openidconnect_publish_feed_story_prompt(); } );
//}

function openidconnect_publish_feed_story_prompt() {
  _openidconnect_publish_feed_story_prompt();
}

function _openidconnect_publish_feed_story_prompt() {
  $.faceboxex.settings.footer = false;
  $.faceboxex.settings.width = 600;
  jQuery.faceboxex({ div: '#openidconnect_publish_feed_story_prompt', footer : false, width : '600' })
  
  $(document).bind('close.faceboxex', function() { _openidconnect_publish_feed_story_prompt_cancel(); })
  
}

//function openidconnect_publish_feed_story_prompt_confirmed() { 
//  
//  openidconnect_faceboxex_close_nocancel = true;
//  jQuery(document).trigger('close.faceboxex');
//
//  openidconnect_compose_feed_story(openidconnect_facebook_feed_story_type,openidconnect_facebook_feed_story_params);
// 
//}

function openidconnect_publish_feed_story_prompt_confirmed() { 

  var checkbox = $('#faceboxex .openidconnect_publish_feed_story_auto');
  var checked = checkbox.length == 0 ? 0 : checkbox[0].checked;
  
  openidconnect_publish_feed_story_do(openidconnect_facebook_feed_story_type,openidconnect_facebook_feed_story_params);

  if(checked) {
	var ajax = new PMods.Ajax();

	var sCall = 'openidsocial.storyAutoPublish';
	var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
	sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

	var params = sParams + '&task=storyautopublish&story_type=' + openidconnect_facebook_feed_story_type;
	ajax.post(openidconnect_api_endpoint, params);
  }
  
 
}

function openidconnect_publish_feed_story_prompt_wait() { 
  openidconnect_faceboxex_close_nocancel = true;
  jQuery(document).trigger('close.faceboxex');
}

function openidconnect_publish_feed_story_prompt_cancel(story_type) {


  jQuery(document).trigger('close.faceboxex');

  _openidconnect_publish_feed_story_prompt_cancel(story_type);
  
}

function _openidconnect_publish_feed_story_prompt_cancel(story_type) {

  if(openidconnect_faceboxex_close_nocancel) {
	return;
  }

  var checkbox = $('#faceboxex .openidconnect_publish_feed_story_neveragain');
  var checked = checkbox.length == 0 ? 0 : checkbox[0].checked;
  
  openidconnect_publish_feed_story_completed(openidconnect_facebook_feed_story_type);

  if(checked) {
	var ajax = new PMods.Ajax();

	var sCall = 'openidsocial.storyNoPublish';
	var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
	sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

	var params = sParams + '&task=storynopublish&story_type=' + openidconnect_facebook_feed_story_type;
	ajax.post(openidconnect_api_endpoint, params);
  }
  
}

function openidconnect_publish_feed_story_completed(story_type, callback) {
  var ajax = new PMods.Ajax();

  var sCall = 'openidsocial.clearStory';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&task=clearstory&story_type=' + story_type;

  ajax.post(openidconnect_api_endpoint, params)
  
  if((typeof callback != 'undefined') && !callback) {
	callback();
  }
}




var openidconnect_connected = false;
var openidconnect_onconnect = null;

function openidconnect_onconnected(hook_logout) {

  FB.Facebook.get_sessionState().waitUntilReady(function (facebook_user_obj) {
	if (facebook_user_obj && (facebook_user_obj.uid == openidconnect_facebook_user_id)) {

	  openidconnect_connected = true;
	  if(openidconnect_onconnect) {
		openidconnect_onconnect();
	  }
	  if(hook_logout == 1) {
		openidconnect_facebook_hook_logout_link();
	  }
	  
	};
  });
  
}


function openidconnect_register_onconnect(handler) {

  if (openidconnect_onconnect) {
	var original_handler = openidconnect_onconnect;
	openidconnect_onconnect = function() { original_handler(); handler(); };
  } else {
	openidconnect_onconnect = handler;
  }
  
}


function openidconnect_facebook_onload(params) {

  var options = {'request_connect' : false,
				 'callback'		  : null,
				 'hook_logout'	  : true,
				 'user_exists' 	 : false,
				 'autologin'	: true
				};
				
  if(typeof params != 'undefined') {
    for (var param in params) {
	  options[param] = params[param];
	}
  }

  FB_RequireFeatures(["XFBML", "Connect"], function(){
	FB.Facebook.init( openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {
	  ifUserConnected: function (facebook_user_id) {

		// if user not logged in - auto login
		// if user logged in to website, but with another user - try autologin
		if(options.autologin == 1) {
		  // TBD: switch to another account?
		  //if((options.user_exists == 0) || ((openidconnect_facebook_user_id != 0) && (facebook_user_id != openidconnect_facebook_user_id)) ) {
		  if(options.user_exists == 0) {
			openidconnect_autologin(facebook_user_id);
		  }
		}
	  },
	  ifUserNotConnected: function () {
	  },
	  doNotUseCachedConnectState: true
    });
	
	if(options.user_exists == 1) {
	  FB.Connect.get_status().waitUntilReady( function( status ) {
		 switch ( status ) {
		  case FB.ConnectState.connected:
			  
			  if(options.callback) {
				options.callback();
			  }

			  openidconnect_onconnected(options.hook_logout);
			  
			 break;
   
		  //case FB.ConnectState.appNotAuthorized:
			 
		  case FB.ConnectState.userNotLoggedIn:
			 // some funcs queued
			if(openidconnect_onconnect && (options.request_connect == 1)) {
			  openidconnect_facebook_request_connect();
			}
		 }
	  }) 
	} else {
	  FB.Connect.get_status().waitUntilReady( function( status ) {
		 switch ( status ) {
		  case FB.ConnectState.connected:
			 break;
   
		  case FB.ConnectState.appNotAuthorized:
		  case FB.ConnectState.userNotLoggedIn:
			 openidconnect_autologin_skipcheck = true;
			 break;
		 }
	  }) 
	}
  });

}




function openidconnect_facebook_request_connect() {
  jQuery.faceboxex({ div: '#openidconnect_connect_prompt' })
  
  $(document).bind('close.faceboxex', function() { _openidconnect_facebook_request_connect_cancel(); })
  
}

function openidconnect_facebook_request_connect_confirmed() {
  
  openidconnect_faceboxex_close_nocancel = true;
  jQuery(document).trigger('close.faceboxex');

  FB.Connect.requireSession( function() {
	// got some hooks
	if(openidconnect_onconnect) {
	  openidconnect_onconnected();
	} else {
	  openidconnect_refresh_page();
	}
  });  
  
}

function openidconnect_facebook_request_connect_cancel() { 
  jQuery(document).trigger('close.faceboxex');

  _openidconnect_facebook_request_connect_cancel();
}


function _openidconnect_facebook_request_connect_cancel() { 

  if(openidconnect_faceboxex_close_nocancel) {
	return;
  }

  var ajax = new PMods.Ajax();
  
  var sCall = 'openidsocial.suppressConnect';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];
  
  var params = sParams + '&task=suppressconnect';
  ajax.post(openidconnect_api_endpoint, params)
  
  openidconnect_publish_feed_story_completed('all');
  
}



function openidconnect_facebook_onlogin_ready() {
  openidconnect_refresh_page();
}


function openidconnect_refresh_page() {
  document.location = document.location;
}


function openidconnect_facebook_prompt_permission(permission, callback) {
  if(typeof callback == 'undefined'){
	callback = null;
  }
  FB.ensureInit(function() {
    FB.Connect.showPermissionDialog(permission,callback);
  });
}

function openidconnect_facebook_prompt_multiple_permissions(permissions, callback) {
  if(typeof callback == 'undefined'){
	callback = function() {};
  }
  permissions = permissions.split(",");
  FB.ensureInit(function() {
    _openidconnect_facebook_prompt_multiple_permissions(permissions,callback);
  });
}

function _openidconnect_facebook_prompt_multiple_permissions(permissions, callback) {

  if(permissions.length == 0) {
	callback();
	return;
  }

  FB.Facebook.apiClient.users_hasAppPermission(permissions[0],function(has){
	if (has == 0) {
	  permissions = permissions.join(',');
	  FB.Connect.showPermissionDialog(permissions, callback);
	} else {
	  permissions.splice(0,1);
	  _openidconnect_facebook_prompt_multiple_permissions(permissions, callback);
	}
  });
  
}


function openidconnect_require_connected( callback ) {
  if(openidconnect_connected) {
	callback();
  } else {
	openidconnect_register_onconnect( function() { callback(); } );
  }
}

function openidconnect_facebook_publish_feed_story(story_type, template_data, form_bundle_id, userprompt, usermessage, callback) {
  openidconnect_require_connected( function() { _openidconnect_facebook_publish_feed_story(story_type, template_data, form_bundle_id, userprompt, usermessage, callback); } );
}

var openidconnect_facebook_load_form_bundle_id_callback;

function openidconnect_facebook_load_form_bundle_id(story_type,callback) {
  
  openidconnect_facebook_load_form_bundle_id_callback = callback;
  
  var ajax = new PMods.Ajax(openidconnect_facebook_load_form_bundle_id_onSuccess, openidconnect_facebook_load_form_bundle_id_onFail);

  var sCall = 'openidsocial.getBundleID';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&task=getbundleid&story_type=' + story_type;
  ajax.post(openidconnect_api_endpoint, params)

}


function openidconnect_facebook_load_form_bundle_id_onSuccess (obj, responseText) {
  var r = [];
  try {
	r = eval('(' + responseText + ')')
  } catch(e) {
	r.status = 1
  };
  
  if (r.status == 0) {
	
	openidconnect_facebook_load_form_bundle_id_callback( r.template_bundle_id ); 
	
  } else {

  }
  
}

function openidconnect_facebook_load_form_bundle_id_onFail (obj, responseText) {
  
}

function _openidconnect_facebook_publish_feed_story(story_type, template_data, form_bundle_id, userprompt, usermessage, callback) {

  if(form_bundle_id == "auto") {
	openidconnect_facebook_load_form_bundle_id( story_type, function(_form_bundle_id) { _openidconnect_facebook_publish_feed_story(story_type, template_data, _form_bundle_id, userprompt, usermessage, callback); } );
	return;
  }
  
  if(typeof userprompt == 'undefined') {
	userprompt = null;
  }

  if(typeof usermessage == 'undefined') {
	usermessage = null;
  } else {
	usermessage = {value: usermessage};
  }
		
  // Load the feed form
  FB.ensureInit(function() {
	feed_callback = function() { openidconnect_publish_feed_story_completed(story_type, callback); };
	FB.Connect.showFeedDialog(form_bundle_id, template_data, null, null, null, FB.RequireConnect.promptConnect, feed_callback, userprompt, usermessage);
  });

}


function openidconnect_facebook_publish_stream(story_type, data, userprompt, usermessage, callback) {
  openidconnect_require_connected( function() { _openidconnect_facebook_publish_stream(story_type, data, userprompt, usermessage, callback); } );
}


function _openidconnect_facebook_publish_stream(story_type, data, userprompt, usermessage, callback) {

	feed_callback = function() { openidconnect_publish_feed_story_completed(story_type, callback); };

    var UserRequestsNoPrompting = 1;
    
    FB.ensureInit(function(){
	  FB.Connect.requireSession(function(){
		  if (UserRequestsNoPrompting) {
			FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(has){
			  if (has == 0) {
				FB.Connect.showPermissionDialog("publish_stream", function(granted){
				openidconnect_facebook_publish_stream2(data,true,userprompt,usermessage,feed_callback);
			   });
			  }
			  else {
				openidconnect_facebook_publish_stream2(data,true,userprompt,usermessage,feed_callback);
			  }
			});    
		  } else {
			openidconnect_facebook_publish_stream2(data,false,userprompt,usermessage,feed_callback);
		  }
	  });
    });

}

function openidconnect_facebook_publish_stream2(data,auto_publish,userprompt,usermessage,callback) {

  if(typeof callback == 'undefined') {
	callback = null;
  }

  if(typeof userprompt == 'undefined') {
	userprompt = null;
  }

  if(typeof usermessage == 'undefined') {
	usermessage = null;
  }
    
  var attachment = typeof data.attachment != 'undefined' ? data.attachment : null; 
  var links = typeof data.links != 'undefined' ? data.links : null;
  var target_id = typeof data.target_id != 'undefined' ? data.target_id : '';
  
  // backend overwrites
  auto_publish = typeof data.auto_publish != 'undefined' ? data.auto_publish : auto_publish;

  FB.Connect.streamPublish(usermessage,attachment,links,target_id,userprompt,callback,auto_publish);
	
}

//function openidconnect_publish_feed_story_neveragain_over() {
//  $('#openidconnect_publish_feed_story_neveragain_wrapper').show();
//}

var openidconnect_notify_connected_cb = null;

function openidconnect_onNotifyConnected(service) {

  var checkbox = $('#faceboxex .openidconnect_publish_feed_story_service_'+service);
  if(checkbox.length != 0) {
	checkbox[0].checked = true;
  }

  //alert('now connected to ' + service);
}

function openidconnect_onNotifyConnectedSocial(service) {
  document.location = document.location;  
}

var openidconnect_opener_window = null;
var openidconnect_connected_services = [];

function openidconnect_connect_service(service, callback) {

  for(var i = 0, l = openidconnect_connected_services.length; i < l; i++) {
	if(openidconnect_connected_services[i] == service) {
	  return;
	}
  }

  var checkbox = $('#faceboxex .openidconnect_publish_feed_story_service_'+service);
  if(checkbox.length != 0) {
	checkbox[0].checked = false;
  }
  
  if(typeof callback != 'undefined') {
	openidconnect_notify_connected_cb = callback;
  } else {
	openidconnect_notify_connected_cb = openidconnect_onNotifyConnected;
  }
  if(service == 'facebook') {

	  FB_RequireFeatures(["Connect"], function () {
		FB.Facebook.init(openidconnect_facebook_api_key, getParam('sJsHome') + 'xd_receiver.php', {doNotUseCachedConnectState: true, permsToRequestOnConnect : "offline_access,publish_stream"});
		FB.Connect.requireSession();
		FB.Facebook.get_sessionState().waitUntilReady(function (session_object) {

			//FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(has){
			//  if (has == 0) {
			//	FB.Connect.showPermissionDialog("publish_stream", function(granted){
			//	  
			//	  
			//	  
			//   });
			//  }
			//});    
		  
		  openidconnect_facebook_prompt_permission("offline_access,publish_stream", function() {openidconnect_onlogincomplete('','facebook');} );		  
		  //window.location = redirect_url;
		})
	  })
	
  } else {
	openidconnect_opener_window = openidconnect_newwindow( openidconnect_relay_url + '/login/' + service + '?inpopup=1' );
  }
  
}

function openidconnect_newwindow(url, title, options, retry) {

  options = 'menubar=0,toolbar=0,resizable=1,width=960,height=680';

  try {
    width = options.split('width=')[1].split(',')[0];
    height = options.split('height=')[1].split(',')[0];
    var window_left = (screen.width - width) / 2;
    var window_top = (screen.height - height) / 2;
    if (window_left < 0) {
      width = screen.width;
      window_left = 0;
    }
    if (window_top < 0) {
      height = screen.height;
      window_top = 0;
    }
    options += ',top=' + window_top + ',left=' + window_left;
  } catch(e) {}

  var newwin = window.open(url, title, options);
  if (!newwin) {
    newwin = window.open('', title, options);
    if (newwin && newwin.location) {
      newwin.location.href = url;
    }
  }
  if (!newwin && !retry) {
    window.setTimeout(function() { openidconnect_newwindow(url, title, options, 1) }, 10);
    return;
  }
  if (newwin && newwin.focus) {
    newwin.focus();
  }
  
  return newwin;

}



function openidconnect_onlogincomplete(session,service) {
  
  if(openidconnect_opener_window) {
	openidconnect_opener_window.close();
  }
  
  var ajax = new PMods.Ajax(openidconnect_connect_onSuccess,openidconnect_connect_onFail);

  var sCall = 'openidsocial.connect';
  var sParams = 'phpfox[ajax]=true&phpfox[call]=' + sCall;
  sParams += '&phpfox[security_token]=' + oCore['log.security_token'];

  var params = sParams + '&openidsession=' + session + '&openidservice=' + service;
  ajax.post(openidconnect_api_endpoint, params)

}

function openidconnect_connect_onSuccess(obj, responseText) {
  var r = [];
  try {
	r = eval('(' + responseText + ')')
  } catch(e) {
	r.status = 1;
	r.err_msg = 'Woops.. HTTP Error!';
  };
  
  if (r.status == 0) {
	
	openidconnect_connected_services.push(r.service);
	
	if(openidconnect_notify_connected_cb) {
	 openidconnect_notify_connected_cb(r.service);
	}
	
  } else {
	
	// err_msg
	alert(r.err_msg);  

  }
  
}

function openidconnect_connect_onFail(obj, responseText) {

}


if(typeof OpenidConnect == 'undefined') {
  OpenidConnect = function() {};
}

OpenidConnect.Friends = function() {
};
 
 
OpenidConnect.Friends  = {

  friends_loaded : [],
  friends_checked : [],
  friends_checked_total : 0,
  total_friends : 0,
  
  service_id : 0,
  page : 0,
  page_from : 0,
  page_to : 0,
  
  max_recipients : 10,  

  can_message : [1,10,12],

  check_caps : true,
  
  lang_cap1 : '',

  suggest : '',


  get_selected_friends : function () {
	var friends = [];
	//for (i = 0; i < this.friends_checked.length; i++) {
	for (var i in this.friends_checked) {
	  friends.push(this.friends_checked[i].u);
	  friends.push(this.friends_checked[i].s);
	}
	return friends.join(',');
  },

  toggle_friend_row : function (e, elem) {

    var e = e ? e: window.event;
    var src = (e.srcElement) ? e.srcElement: e.target;
	if((src.tagName == "A") && (src.className == "openidconnect_friend_link")) {
	  return;
	}


	var inputs = elem.getElementsByTagName('input');
	var input = inputs[0];
	
	if(this.check_caps) {
	  if(!input.checked) {
  
		//if((this.friends_loaded[input.value].s != '1') && (this.friends_loaded[input.value].s != '10') && (this.friends_loaded[input.value].s != '12')) {
		if( jQuery.inArray( parseInt(this.friends_loaded[input.value].s), this.can_message ) == -1) {
		  alert(this.lang_cap1);
		  return;
		}

	  }
	}

	this.toggle_current_div(e, elem);
	
	this.manage_friend_element(input, elem);
	
	this.update_checked_friends();
	
  },
  
  update_checked_friends : function() {
	$('#openidconnect_friends_selector_selected_count').html(this.friends_checked_total + '');
  },
  
  update_total_friends : function() {
	$('#openidconnect_friends_selector_all_count').html(this.total_friends + '');
  },

  manage_friend_element : function(input, elem) {

	if(!input.checked) {

	  // update currently displayed friends
	  if(this.friends_loaded[input.value]) {
		//this.friends_loaded[input.value].e.checked = false;
		if(elem.parentNode.id != 'openidconnect_friends') {
		  this.toggle_current_div({srcElement:'div',tagName:'div',type:''},this.friends_loaded[input.value].e.get(0));
		}
	  }

	  // remove from checked
	  var el = this.friends_checked[input.value].e;
	  el.parentNode.removeChild(el);
	  delete this.friends_checked[input.value];
	  //this.friends_checked[input.value] = null;
	  
	  this.friends_checked_total--;
	  
	//  // update currently displayed friends
	//  if(this.friends_loaded[input.value]) {
	//	//this.friends_loaded[input.value].e.checked = false;
	//	if(this.friends_loaded[input.value].e.parent().get(0).id != 'openidconnect_friends') {
	//	  this.toggle_current_div({srcElement:'div',tagName:'div',type:''},this.friends_loaded[input.value].e.get(0));
	//	}
	//  }
	  
	} else {
	  // add to checked

	  var holder = $('#openidconnect_friends_checked');
	  
	//  if(typeof elem == 'undefined') {
	//	elem = input.parentNode.parentNode;
	//  }
	  var el = elem.cloneNode(true);
	  $(el).attr('id','');

	  //el.getElement('.openidconnect_friend_id').checked = true;

	  $(el).find('.openidconnect_friend_id').attr('checked',true);

	  //holder.appendChild(el);
	  holder.prepend(el);
	  this.friends_checked[input.value] = { 'e' : el, 'u' : input.value, 's' : this.friends_loaded[input.value].s };
	  this.friends_checked_total++;

	}
	
  },

  toggle_current_div : function (e, elem) {

    var e = e ? e: window.event;
    var src = (e.srcElement) ? e.srcElement: e.target;
	if((src.tagName == "INPUT") && (src.type == "checkbox")) {
	  return;
	}

	var inputs = elem.getElementsByTagName('input');
	inputs[0].checked = !inputs[0].checked ;

	while (elem && !/openidconnect_friendrow/i.test(elem.className)) {
	  elem = elem.parentNode;
	}
	
	elem.className = inputs[0].checked ? 'openidconnect_friendrow openidconnect_friendrow_selected' : 'openidconnect_friendrow';

  },


  get_friends : function () {
	
	this.friends_loaded = [];
	
	var ajax = new PMods.Ajax(this.get_friends_onSuccess.bind(this),this.get_friends_onFail.bind(this));
  
	var params = { 'openidservice' : this.service_id, 'page' : this.page, 'suggest' : this.suggest };

	ajax.call(openidconnect_api_endpoint, 'openidsocial.getFriends', params)
  
  },
  
  get_friends_onSuccess : function(obj, responseText) {
	var r = obj.toResponse();
	
	if (r.status == 0) {
	  
	  var holder = $('#openidconnect_friends');
	  holder.html('<div style="clear:both"></div>');
	  
	  for(var i=0;i<r.friends.length;i++) {
		var el = $('#openidconnect_friendrow').clone(true);
		el.attr('id','');
  
		var control_elem = el.find('.openidconnect_friend_id');
		control_elem.val(r.friends[i].u);
		
		el.find('.openidconnect_service_id').val(r.friends[i].s);
		
		el.find('.openidconnect_friend_photo').attr('src',r.friends[i].t);
		if(r.friends[i].l != '') {
		  el.find('.openidconnect_friend_name').html('<a class="openidconnect_friend_link" target=_blank href="' + r.friends[i].l + '">' + r.friends[i].n + '</a>');
		} else {
		el.find('.openidconnect_friend_name').html(r.friends[i].n);
		}
		if(r.friends[i].st != '') {
		  el.find('.openidconnect_friend_status').html(r.friends[i].st);
		}
		
		el.find('.openidconnect_friend_service').attr('className','openidconnect_friend_service openidconnect_friend_service_'+r.friends[i].s);
		
		this.friends_loaded[r.friends[i].u] = { 'e' : el, 'u' : r.friends[i].u, 's' : r.friends[i].s };
  
		if(this.friends_checked[r.friends[i].u]) {
		  this.toggle_current_div({srcElement:'div',tagName:'div',type:''},el.get(0));
		}
		
		holder.prepend(el);
		
	  }
	  
	  holder.append('<div style="clear:both"></div>');
	  
	  this.page = r.page;
	  this.page_from = r.page_from;
	  this.page_to = r.page_to;
	  this.total_friends = r.total_friends;

	  if(r.friends.length == 0) {
		this.page_from = 0;
		holder.html($('#openidconnect_nofriends').html());
	  }
	  
	  
	  $('#openidconnect_friends_pager_from').html(this.page_from+"");
	  $('#openidconnect_friends_pager_to').html(this.page_to+"");
	  $('#openidconnect_friends_pager_total').html(this.total_friends+"");
	  
	  
	} else {
	  
	  // err_msg
	  //alert(r.err_msg);  
  
	}
	
	$('#openidconnect_friends_service').attr("disabled", 0);
	
	$('#openidconnect_friends_control').show();
	
	$('#openidconnect_friends_loading').hide();
	
  },
  
  get_friends_onFail : function (obj, responseText) {
	
  
  },

  send_message : function () {

	$('#openidconnect_msg_progress').show();
	$('#openidconnect_msg_actions').hide();
	
	$('#openidconnect_msg_subject').attr("disabled", 1);
	$('#openidconnect_msg_body').attr("disabled", 1);

	$('#openidconnect_msg_subject').attr("readonly", 1);
	$('#openidconnect_msg_body').attr("readonly", 1);
  
	var subject = $('#openidconnect_msg_subject').val();
	var message = $('#openidconnect_msg_body').val();  
  
	var to = this.get_selected_friends();
  
	
	var ajax = new PMods.Ajax(this.send_message_onSuccess.bind(this),this.send_message_onFail.bind(this));
  
	var params = { 'subject' : subject, 'message' : message, 'to' : to };
	ajax.call(openidconnect_api_endpoint, 'openidsocial.sendMessage', params)
	
  },
  
  send_message_onSuccess : function(obj, responseText) {
	var r = obj.toResponse();

	$('#openidconnect_msg_progress').hide();

    $('#openidconnect_msg_sent').show();
	
	if (r.status == 0) {
	  
	  
	} else {
	  
	  // err_msg
	  //alert(r.err_msg);  
  
	}
	
	setTimeout( this.send_message_cancel.bind(this), 1000) ;
	
  },
    
  send_message_onFail : function(obj, responseText) {

	$('#openidconnect_msg_progress').hide();	
	setTimeout( this.send_message_cancel.bind(this), 1000) ;
  
  },
  
  page_left : function() {
	this.page = this.page-1;
	this.get_friends();
  },
  
  page_right : function() {
	this.page = this.page+1;
	this.get_friends();
  },
  
  service_onChange : function() {

	$('#openidconnect_friends_service').attr("disabled", 1);
	this.service_id = $('#openidconnect_friends_service').val();
	
	this.get_friends();
	
  },
  
  send_message_cancel : function() {
	$('#openidconnect_msg_subject').attr("disabled", 0);
	$('#openidconnect_msg_body').attr("disabled", 0);

	$('#openidconnect_msg_subject').attr("readonly", 0);
	$('#openidconnect_msg_body').attr("readonly", 0);

	$('#openidconnect_msg_subject').val('');
	$('#openidconnect_msg_body').val('');

	$('#openidconnect_send_message').slideUp('slow', function() { $('#openidconnect_send_message_hint').show(); $('#openidconnect_msg_sent').hide(); $('#openidconnect_msg_actions').show(); });
  },
  
  set_display : function (type) {
	
	var holder = $('#openidconnect_friends_control');

	
	if(type == 'list') {
	  holder.removeClass('openidconnect_friends_gridview');
	  holder.addClass('openidconnect_friends_listview');
	} else {
	  holder.removeClass('openidconnect_friends_listview');
	  holder.addClass('openidconnect_friends_gridview');
	}
	
  },
  
  show_all : function() {
	$('#openidconnect_friends_checked').hide();
	$('#openidconnect_friends').show();

	$('#openidconnect_friends_selector_selected').removeClass('openidconnect_friends_selector_selected');
	$('#openidconnect_friends_selector_all').addClass('openidconnect_friends_selector_selected');
  },
  
  show_selected : function() {
	$('#openidconnect_friends').hide();
	$('#openidconnect_friends_checked').show();

	$('#openidconnect_friends_selector_all').removeClass('openidconnect_friends_selector_selected');
	$('#openidconnect_friends_selector_selected').addClass('openidconnect_friends_selector_selected');

  },

  typeahead : function() {
	this.suggest = $('#openidconnect_friends_suggest').val();
	this.get_friends();
  }

 
}


OpenidConnect.FacebookWall = function() {
};
 
 
OpenidConnect.FacebookWall  = {

  page : 1,
  paging : false,
  
  item_id : '',
  
  action : 'sendMessage',
  reference_id : '',
  services : '',
  
  
  load : function () {
	
	var ajax = new PMods.Ajax(this.load_onSuccess.bind(this),this.load_onFail.bind(this));
  
	var params = { 'page' : this.page };

	ajax.call(openidconnect_api_endpoint, 'socialstream.getSocialStream', params)
  
  },
  
  load_onSuccess : function(obj, responseText) {
	var r = obj.toResponse();
	
	if (r.status == 0) {
	  
	  var holder;
	  if(!this.paging)  {
		holder = $('#facebookwall_content');
	  } else {
		holder = $("<div>");
		$('#facebookwall_stories').append(holder);
	  }
	  
	  holder.html(r.html);
	  
	} else {
	  
	  // err_msg
	  //alert(r.err_msg);  
  
	}
	
	$('#facebookwall_content').show();
	$('#facebookwall_servicelogos').show();	
	
	$('#facebookwall_loading').hide();

	$('#facebookwall_feed_view_more_loading').hide();
	
	// layman's check for no more items
	if(r.html.replace(/[\s\n\r\t]/g,'') != '' ) {
	  $('#facebookwall_feed_view_more').show();
	}
	
  },
  
  load_onFail : function (obj, responseText) {
	
	$('#facebookwall_loading').hide();
	$('#facebookwall_feed_view_more_loading').hide();
	$('#facebookwall_feed_view_more').show();
  
  },
  
  load_more : function() {
	
	this.paging = true;
	
	$('#facebookwall_feed_view_more_loading').html($.ajaxProcess('Loading'));
	$('#facebookwall_feed_view_more_loading').show();
	$('#facebookwall_feed_view_more').hide();
	
	this.page++;
	this.load();
  },
  
  



  send_message_start : function (id,action,text,reference_id,services) {

	if(typeof reference_id == 'undefined') {
	  reference_id = '';
	}
	
	if(typeof action == 'undefined') {
	  action = 'sendMessage';
	}
	
	if(typeof text == 'undefined') {
	  text = '';
	}

	if(typeof services == 'undefined') {
	  services = '';
	}
	
	this.reference_id = reference_id;
	this.action = action;
	this.services = services;
	
	this.item_id = id;
	$('#socialstream_messagebox_'+id).slideDown('slow', function() { $('#socialstream_messageboxtext_'+id).focus(); });

	var el = $('#socialstream_messagebox_'+this.item_id);

	el.find('.socialstream_msg_body').attr("disabled", 0);
	el.find('.socialstream_msg_body').attr("readonly", 0);
	el.find('.socialstream_msg_body').val(text);
	el.find('.socialstream_msg_actions').show();
	el.find('.socialstream_msg_sent').hide();
	
  },

  send_message_cancel : function() {

	$('#socialstream_messagebox_'+this.item_id).slideUp('slow');
  },
  
  send_message : function () {
	
	var el = $('#socialstream_messagebox_'+this.item_id);
	
	el.find('.socialstream_msg_progress').show();
	el.find('.socialstream_msg_actions').hide();

	el.find('.socialstream_msg_body').attr("disabled", 1);
	el.find('.socialstream_msg_body').attr("readonly", 1);

	var message = el.find('.socialstream_msg_body').val();  
  
	var to = el.find('.socialstream_message_to').val()
	
	var ajax = new PMods.Ajax(this.send_message_onSuccess.bind(this),this.send_message_onFail.bind(this));
  
	var subject = '';
	
	var params = { 'subject' : subject, 'message' : message, 'to' : to, 'reference_id' : this.reference_id, 'services' : this.services };
	ajax.call(openidconnect_api_endpoint, 'openidsocial.' + this.action, params)
	
  },
  
  send_message_onSuccess : function(obj, responseText) {
	var r = obj.toResponse();

	var el = $('#socialstream_messagebox_'+this.item_id);

	el.find('.socialstream_msg_progress').hide();
	el.find('.socialstream_msg_sent').show();
	
	if (r.status == 0) {
	  
	  
	} else {
	  
	  // err_msg
	  //alert(r.err_msg);  
  
	}
	
	setTimeout( this.send_message_cancel.bind(this), 1000) ;
	
  },
    
  send_message_onFail : function(obj, responseText) {

	var el = $('#socialstream_messagebox_'+this.item_id);

	el.find('.socialstream_msg_progress').hide();
	setTimeout( this.send_message_cancel.bind(this), 1000) ;
  
  }
  
}  

function openidconnect_facebookwall_reload() {
  $('#facebookwall_content').hide();
  $('#facebookwall_servicelogos').hide();	
  $('#facebookwall_loading').show();
  OpenidConnect.FacebookWall.load();
}
 
function openidconnect_show_send_message(user_id, service_id) {
  
}


function pmods_wall_show(tab_id) {
  
  $('#wall_updates').hide();
  $('#facebookwall_content').hide();
  
  $('#'+tab_id).show();
}



function openidconnect_get_albums() {

  var ajax = new PMods.Ajax(openidconnect_get_albums_onSuccess,openidconnect_get_albums_onFail);

  ajax.call(openidconnect_api_endpoint, 'openidsocial.getAlbums')

}

function openidconnect_get_albums_onSuccess(obj, responseText) {
  var r = obj.toResponse();
  
  if (r.status == 0) {

	// just reload
	document.location = document.location;
	
  } else {
	
	$('#openidconnect_albums_loading').hide();
	$('#openidconnect_albums_error_detail').html(r.err_msg);
	$('#openidconnect_albums_error').show();

  }
  
}
    
function openidconnect_get_albums_onFail (obj, responseText) {

  $('#openidconnect_albums_loading').hide();
  $('#openidconnect_albums_error').show();
  
}
  