//Local Variable with Flash Content id. default = flashcontent
var as_swf_name = "flashcontent";
var numFriends = 0;
var aFriendIds = new Array();
var cont = 0;
var api_key;
 
//Initialize Facebook
function fbInit(pAsSwfName,pApi_key,pReceiver){
   as_swf_name = pAsSwfName;
   api_key = pApi_key;
   FB.init(pApi_key,pReceiver,{permsToRequestOnConnect : "publish_stream, photo_upload"});
}
 
//JavaScript Connect methods

function login(){
  // FB.Connect.requireSession( onLoginHandler );
  FB.Bootstrap.requireFeatures(["Connect"], function() {
					FB.Connect.requireSession(function(exception) {
						var sessionData = FB.Facebook.apiClient.get_session();
						flashVars = {
							as_swf_name: as_swf_name,
							session_key: sessionData.session_key,
							secret:sessionData.secret,
							uid:sessionData.uid,
							api_key:api_key
						};	
						flashCallBack( "onSession", flashVars);
						//flashCallBack( "onLogIn" );
					});
				});
}

function logout(){
	FB.Connect.logout( onLogoutHandler )
}
 
//Event Handlers
function onLoginHandler(){
  flashCallBack( "onLogIn" );
}

function onLogoutHandler(){
  flashCallBack( "onLogOut" );
}
 
//Method to dispatch an Event to Flash
function flashCallBack ( func ) {
  if( arguments.length > 1 ){
    mySWF(as_swf_name)[func]( Array.prototype.slice.call(arguments).slice(1)[0]);
  }else{
     mySWF(as_swf_name)[func]();
  }
}

function mySWF(swfname) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[swfname];
	} else {
		return document[swfname];
	}
}


function publishToWall (title, subtitle, caption, pic, result, link, actiontxt, actionlink) {
	var attachment = {'name':subtitle,'href':link,'caption': caption,'description': result,
					'media':[{'type':'image','src':pic,'href':link}]};
	
	var actions = [{'text': actiontxt, 'href':actionlink}];
	
	FB.Connect.streamPublish("", attachment, actions, "", title, publishEnd, false);
}


function publishToFriend (uid, title, subtitle, caption, pic, result, link, actiontxt, actionlink) {
	
	var attachment = {'name':subtitle,'href':link,'caption': caption,'description': result,
					'media':[{'type':'image','src':pic,'href':link}]};
	
	var actions = [{'text': actiontxt, 'href':actionlink}];
	
		FB.Connect.streamPublish("", attachment, actions, uid, title, publishEnd, false);
}

function publishEnd (pId, exec, data) {
	if(pId != "null" && pId != null) {
		flashCallBack("publishSuccess");
	} else {
		flashCallBack("publishClose");
	}
}

function friendSent (pId, exec, data) {
	if(pId != "null") {
		flashCallBack("friendSent");
	}
}

