
/*
 * The facebook_onload statement is printed out in the PHP. If the user's logged in
 * status has changed since the last page load, then refresh the page to pick up
 * the change.
 *
 * This helps enforce the concept of "single sign on", so that if a user is signed into
 * Facebook when they visit your site, they will be automatically logged in -
 * without any need to click the login button.
 *
 * @param already_logged_into_facebook  reports whether the server thinks the user
 *                                      is logged in, based on their cookies
 *
 */
var fbAss = 0;

function facebook_onload(already_logged_into_facebook) {
  
  // user state is either: has a session, or does not.
  // if the state has changed, detect that and reload.

  FB.ensureInit(function() {
      FB.Facebook.get_sessionState().waitUntilReady(function(session) {
          
          var is_now_logged_into_facebook = session ? true : false;
	
          // if the new state is the same as the old (i.e., nothing changed)
          // then do nothing
          if (is_now_logged_into_facebook == already_logged_into_facebook) {
            return;
          }
		  
		  // otherwise, refresh to pick up the state change
			//refresh_page();
          
        });
  });

}

function facebook_invite_users() {
    FB.ensureInit(function() {
        var dialog = new FB.UI.FBMLPopupDialog('Invite your friends to join', '');
        var fbml = "<fb:fbml>"+"<fb:request-form style=\"width:630px; height:540px;\" action=\"" + document.location.href + "?\"\tmethod=\"POST\" invite=\"false\" type=\"Ventureloop Dev\" "+"content=\"I'd like to add you as a friend: <fb:req-choice url='http://vldev.sirahu.net/ventureloop/login.php' label='Confirm' />\">"+"<fb:multi-friend-selector\tshowborder=\"false\" exclude_ids=\"\" actiontext=\"Invite your friends\" rows=\"5\" bypass=\"cancel\"\tshowborder=\"false\" />"+"</fb:request-form>"+"</fb:fbml>";
        dialog.setFBMLContent(fbml);
        dialog.setContentWidth(630); 
        dialog.setContentHeight(540);
        dialog.show();
    });

}

/*
 * Our <fb:login-button> specifies this function in its onlogin attribute,
 * which is triggered after the user authenticates the app in the Connect
 * dialog and the Facebook session has been set in the cookies.
 */

/*
function facebook_onlogin_ready() {
  // In this app, we redirect the user back to index.php. The server will read
  // the cookie and see that the user is logged in, and will deliver a new page
  // with content appropriate for a logged-in user.
  //
  // However, a more complex app could use this function to do AJAX calls
  // and/or in-place replacement of page contents to avoid a full page refresh.
  refresh_page();
  
}
*/

function facebook_onlogin_ready( base_url ) {
  // In this app, we redirect the user back to index.php. The server will read
  // the cookie and see that the user is logged in, and will deliver a new page
  // with content appropriate for a logged-in user.
  //
  // However, a more complex app could use this function to do AJAX calls
  // and/or in-place replacement of page contents to avoid a full page refresh.
  //refresh_page();
  FB.ensureInit(function() {
	  window.location = base_url;
  });
}


/*
 * Do a page refresh after login state changes.
 * This is the easiest but not the only way to pick up changes.
 * If you have a small amount of Facebook-specific content on a large page,
 * then you could change it in Javascript without refresh.
 */
function refresh_page() {
  //window.location = 'login.php';
  window.location = 'fbprompt.php';
  
  //document.location.reload(true)
  /*
  if (window.location.search == '?logout') {
    window.location = 'login.php';
  } else  {
    document.location.reload(true)
  }*/
  
  
}

function logoff_page() {
  window.location = 'logoff.php';
}

function fblogoff_page() {
  window.location = 'login.php?m=You+are+not+authorizing+email+permission.You+will+not+be+register+in+ventureloop';
}

/*
 * Prompts the user to grant a permission to the application.
 */
function facebook_prompt_permission(permission, fbAssValue) {
  fbAss = fbAssValue;
  FB.ensureInit(function() {
    if(permission == 'email'){ 
    	FB.Connect.showPermissionDialog(permission,callbackFunc);
    }
    if(permission == 'publish_stream'){
    	FB.Connect.showPermissionDialog(permission,callbackFunc1);
    }
  });
}

function callbackFunc(){
	window.location = 'fbcheckpermission.php?fbAss='+fbAss;
} 

function callbackFunc1(){
	window.location = 'fbpublishpermission.php?fbAss='+fbAss;
} 


function facebook_prompt_permission1(permission) {
  FB.ensureInit(function() {
    if(permission == 'email'){ 
    	FB.Connect.showPermissionDialog(permission,callbackFunc2);
    }
    if(permission == 'publish_stream'){
    	FB.Connect.showPermissionDialog(permission,callbackFunc3);
    }
  });
}

function callbackFunc2(){
	window.location = 'fbcheckpermission.php?vlAss=1';
} 

function callbackFunc3(){
	window.location = 'fbpublishpermission.php?vlAss=1';
} 


/*
 * Show the feed form. This would be typically called in response to the
 * onclick handler of a "Publish" button, or in the onload event after
 * the user submits a form with info that should be published.
 *
 */
function facebook_publish_feed_story(form_bundle_id, template_data) {
  // Load the feed form
  FB.ensureInit(function() {
          FB.Connect.showFeedDialog(form_bundle_id, template_data);
          //FB.Connect.showFeedDialog(form_bundle_id, template_data, null, null, FB.FeedStorySize.shortStory, FB.RequireConnect.promptConnect);

      // hide the "Loading feed story ..." div
      ge('feed_loading').style.visibility = "hidden";
  });
}

/*
 * If a user is not connected, then the checkbox that says "Publish To Facebook"
 * is hidden in the "add run" form.
 *
 * This function detects whether the user is logged into facebook but just
 * not connected, and shows the checkbox if that's true.
 */
function facebook_show_feed_checkbox() {
  FB.ensureInit(function() {
      FB.Connect.get_status().waitUntilReady(function(status) {
          if (status != FB.ConnectState.userNotLoggedIn) {
            // If the user is currently logged into Facebook, but has not
            // authorized the app, then go ahead and show them the feed dialog + upsell
            checkbox = ge('publish_fb_checkbox');
            if (checkbox) {
              checkbox.style.visibility = "visible";
            }
          }
        });
    });
}
