function facebook_check_session(FB_REDIRECT,popup)
{
	var popup = popup;
	FB.getLoginStatus(function(response) {
	if (response.session) {
        	FB.api('/me', function(response) {
                	var FB_ID = response.id;
                	var FIRST = response.first_name;
                	var LAST = response.last_name;
                	var EMAIL = response.email;

			facebook_after_login(FB_ID,FIRST,LAST,EMAIL,FB_REDIRECT,popup);
        	});
		
	  } else {
		//alert('session check');
		 // no user session available, someone you dont know
	  }
	});
	
}


function facebook_after_login(FB_ID,FIRST,LAST,EMAIL,FB_REDIRECT,popup, action_type, action_id) {

	//alert(FB_REDIRECT);

	var temp;
	FB_SESSION=FB.getSession().session_key;
	
	//window.alert(FB_SESSION);
	//window.alert('ID: ' + FB_ID);
	
		if (FB_REDIRECT == temp){
			location.replace('/user/facebook-platform/facebook_login.amp?facebook_id=' + FB_ID + "&FB_SESSION=" + FB_SESSION + "&FIRST=" + FIRST + "&LAST=" + LAST + "&EMAIL=" + EMAIL + "&FB_REDIRECT=" + FB_REDIRECT + "&POPUP=" + popup);
		}
		else if (FB_REDIRECT == 'LOG_IN_USER'){
			location.replace('/user/facebook-platform/facebook_login.amp?u=' + FB_ID + '&FB_SESSION=' + FB_SESSION + '&FBID=' + FB_ID + "&EMAIL=" + EMAIL + "&POPUP=" + popup);
		}
		else
		{
			location.replace('/user/facebook-platform/facebook_login.amp?facebook_id=' + FB_ID + "&FB_REDIRECT=" + FB_REDIRECT + "&FB_SESSION=" + FB_SESSION+ "&FIRST=" + FIRST + "&LAST=" + LAST + "&EMAIL=" + EMAIL + "&POPUP=" + popup + "&action_type=" + action_type + "&action_id=" + action_id);
		}
			
}


function fbLogout()
{

	FB.logout(function(response) {
		//Logout User
		location.replace('/user/logout.amp');
	});

}

/*
 * Prompts the user to grant a permission to the application.
 */

function facebook_prompt_permission(permission) 
{
  FB.ensureInit(function() 
   {
	alert('test');
      FB.Connect.showPermissionDialog(permission,callBack);
      function callBack(perm)
      {
	var empty = '';
	if (!perm)
	{
		perm = 'none';
	}
	
	//window.alert('perm:' + perm + ' empty: ' + empty);
	location.replace('/event/add.amp?SECTION=events&granted=' + perm);
      }

  });

}

/*
 * 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.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";
            }
          }
        });
    });
}

function postToFacebook(redirect_url,template_id,VERB,NOUN,SITE_NAME,BODY,FULL_BODY,ACTION_LINK_TEXT,ACTION_LINK,IMAGE,IMAGE_HREF,MESSAGE_PROMPT,USER_MESSAGE,FLEX_APP,ENTITY)
{

	var REDIRECT_URL = redirect_url;
	var TEMPLATE_ID = template_id;

	if ( ENTITY == "COUPON" ) {
		var attachment = {
			'name':NOUN,
			'href':ACTION_LINK,
			'caption':BODY,
			"media":[{'type':'image','src':IMAGE,'href':IMAGE_HREF}]
		};
	}
	else {
		var attachment = {
			'name':'I ' + VERB + " " + NOUN,
			'href':ACTION_LINK,
			'caption':'{*actor*} ' + VERB + " " + NOUN + " " + BODY,
			"media":[{'type':'image','src':IMAGE,'href':IMAGE_HREF}]
	};	
	}
	var action_links = [{'text':ACTION_LINK_TEXT,'href':ACTION_LINK}];
	var user_message_prompt = MESSAGE_PROMPT; 
	var user_message = USER_MESSAGE; 
	
	//FB.Connect.showFeedDialog(TEMPLATE_ID, comment_data, null, null, null, FB.RequireConnect.promptConnect, feedDialogCallback, user_message_prompt, user_message);

	FB.ui(
   	{
     	method: 'stream.publish',
     	display: 'dialog',
		attachment: attachment,
		action_links: action_links,
		message: user_message,
		user_message_prompt: user_message_prompt
	},
	function (response)
	{
		//Check to see if published or skipped
		if (response && response.post_id && REDIRECT_URL != 'none') 
		{
      			//alert('Post was published.');
			location.replace(REDIRECT_URL + '&published=Y');
     		} 
		else if (REDIRECT_URL != 'none')
		{
		 	//alert(REDIRECT_URL + '&published=N');
                        location.replace(REDIRECT_URL + '&published=N');
     		}

		//Do redirect regardless of publish or skip
		if (REDIRECT_URL == 'none') {
			document.getElementById('DIV_ALL').style.display = 'none';
			try
			{
				document.getElementById('flex_movies_div').style.visibility = 'visible';
			}
			catch(err){};
			
			if (FLEX_APP == 'Y')
			{
				flexFunction();
			}
		}
		else if (REDIRECT_URL == 'close') {
			//DO Nothing
		}
		else	{
			//window.alert('relocating...' + REDIRECT_URL);
			location.href(REDIRECT_URL);
		}

   	}
	);

	//FB.streamPublish('', attachment,action_links,null, null, feedDialogCallback);
	//location.replace(REDIRECT_URL);
}


function postToFacebookNew(redirect_url,template_id,VERB,NOUN,SITE_NAME,BODY,FULL_BODY,ACTION_LINK_TEXT,ACTION_LINK,IMAGE,IMAGE_HREF,MESSAGE_PROMPT,USER_MESSAGE, FLEX_APP)
{

	var REDIRECT_URL = redirect_url;
	var TEMPLATE_ID = template_id;

	var attachment = {
		'name':'I ' + VERB + " " + NOUN,
		'href':ACTION_LINK,
		'caption':'{*actor*} ' + VERB + " " + NOUN + " " + BODY,
		"media":[{'type':'image','src':IMAGE,'href':IMAGE_HREF}]
	};
	var action_links = [{'text':ACTION_LINK_TEXT,'href':ACTION_LINK}];
	var user_message_prompt = MESSAGE_PROMPT; 
	var user_message = {value: USER_MESSAGE}; 
	
	//FB.Connect.showFeedDialog(TEMPLATE_ID, comment_data, null, null, null, FB.RequireConnect.promptConnect, feedDialogCallback, user_message_prompt, user_message);

	FB.ui(
   	{
     	method: 'stream.publish',
     	display: 'dialog',
		attachment: attachment,
		action_links: action_links,
		user_message: user_message,
		user_message_prompt: user_message_prompt
	},
	function (response)
	{
		//Check to see if published or skipped
		if (response && response.post_id) {
       			//alert('Post was published.');
     		} 
		else	
		{
			//alert('Post was not published.');
     		}

		//Do redirect regardless of publish or skip
		if (REDIRECT_URL == 'none') {
			document.getElementById('DIV_ALL').style.display = 'none';
			try
			{
				document.getElementById('flex_movies_div').style.visibility = 'visible';
			}
			catch(err){};
			
			if (FLEX_APP == 'Y')
			{
				flexFunction();
			}
		}
		else if (REDIRECT_URL == 'close') {
			//DO Nothing
		}
		else	{
			//window.alert('relocating...' + REDIRECT_URL);
			location.href(REDIRECT_URL);
		}

   	}
	);

	//FB.streamPublish('', attachment,action_links,null, null, feedDialogCallback);
	//location.replace(REDIRECT_URL);
}

function postToFacebookOld(redirect_url,template_id,VERB,NOUN,SITE_NAME,BODY,FULL_BODY,ACTION_LINK_TEXT,ACTION_LINK,IMAGE,IMAGE_HREF,MESSAGE_PROMPT,USER_MESSAGE, FLEX_APP)
{

	var REDIRECT_URL = redirect_url;
	var TEMPLATE_ID = template_id;
	var comment_data = {
		"verb":VERB,
		"noun":NOUN,
		"site_name":SITE_NAME,
		"body":BODY,
		"full_body":FULL_BODY,
		"action_link_text":ACTION_LINK_TEXT,
		"action_link":ACTION_LINK,
		"images":[{'src':IMAGE,'href':IMAGE_HREF}]
	};
	var attachment = {
		'name':'I ' + VERB + " " + NOUN,
		'href':ACTION_LINK,
		'caption':'{*actor*} ' + VERB + " " + NOUN + " " + BODY,
		"media":[{'type':'image','src':IMAGE,'href':IMAGE_HREF}]
	};
	var action_links = [{'text':ACTION_LINK_TEXT,'href':ACTION_LINK}];
	var user_message_prompt = MESSAGE_PROMPT; 
	var user_message = {value: USER_MESSAGE}; 
	
	FB.Connect.showFeedDialog(TEMPLATE_ID, comment_data, null, null, null, FB.RequireConnect.promptConnect, feedDialogCallback, user_message_prompt, user_message);


	function feedDialogCallback(response)
	{
       		//alert('Post was published.');
	};

}

function fb_share_event(SITE_HOST,event,name)
{
	var share = {
	method: 'stream.share',
   	u: 'http://' + SITE_HOST + '/event_details/'  + name + '/' + event + '.html'
 };
	
	FB.ui(share, function(response) { console.log(response); });

}
