	var __fb_userConnectionStatus;
	var __fb_FlashObject;
	var __apiClient;
	
	//var _apiKey = 'e527bd6070deede8e5bee89697fc3514'; //preprod
	var _apiKey = "ab68eb8da09fbc2cfd20339df9616804" //prod
	
	
	Event.observe(window,'load',function(){
		FB.init(_apiKey, 'http://www.kiasoul.fr/js/xd_receiver.htm');
	});
	
	function __fb_initialize(flashObjectID){
	
		if (!flashObjectID) flashObjectID='kiasoul';
	
		__fb_FlashObject =$(flashObjectID);
		if (!__fb_FlashObject){
			alert('Fatal Error : flash object not found by id '+flashObjectID);
		}
		//else alert('flash object found'+__fb_FlashObject);
		
		//get the status
		FB.Connect.get_status().waitUntilReady( function( status ) {
			switch ( status ) {
			   case FB.ConnectState.connected:
					__fb_userConnectionStatus = 'connected';
					break;
			   case FB.ConnectState.appNotAuthorized:
					__fb_userConnectionStatus = 'appNotAuthorized';
					break;
			   case FB.ConnectState.userNotLoggedIn:
					__fb_userConnectionStatus = 'notLoggedIn';
					break;
			}
			// then notify end of initialize
			__callback_fb_initialize(true);
			});
	}
	
	
	function __fb_getSessionRecord(){
		var session = FB.Facebook.apiClient.get_session();
		return {session_key:session.session_key,secret:session.secret};
	}
	
	function __callback_fb_initialize(success){
		flNotify('facebookInitEvent',{success:success});
	}
	
	function __fb_checkConnectedState(){
		return __fb_userConnectionStatus;
	}
	
	function __fb_openSession(){
		FB.Connect.requireSession(__callBack_fb_Connect,true);
	}
	
	function __fb_getFriends(){
		FB.Facebook.apiClient.fql_query(
		'SELECT uid,name,pic_square,is_app_user,status FROM user WHERE uid IN (SELECT uid2 FROM friend where uid1='+FB.Connect.get_loggedInUser()+') ORDER BY name' , function(result){
			flNotify('facebookLoadFriends',result);
		});
	}
	
	
	function __fb_userInfo(){
		
		//__apiClient.users_getLoggedInUser(__callBack_userInfo);
		FB.Facebook.apiClient.users_getInfo ([FB.Connect.get_loggedInUser()],['name','pic_small'],__callBack_userDetails);
	}
	
	function __fb_sendEmail(uids,subject,message){
		
		uids = uids.evalJSON();
		
		//alert('Send email  '+subject+' '+message+' to '+uids.length+' friends');
		
		//__apiClient.users_getLoggedInUser(__callBack_userInfo);
		//__apiClient.notifications_sendEmail(uids, subject, message, null,function(){});
		FB.Facebook.apiClient.notifications_send(uids, message, function(){});
	}
	
	/*
	function __callBack_userInfo(uid){
		__apiClient.users_getInfo ([uid],['name','pic_small'],__callBack_userDetails);
		
	}
	*/
	
	function __callBack_userDetails(data){
		flNotify('facebookUserInfoEvent',data);
	}
	
	function __fb_Connect(){
	
		FB.Connect.get_status().waitUntilReady( function( status ) {
			switch ( status ) {
			   case FB.ConnectState.connected:
					alert('you are already connected to facebook');
					break;
			   case FB.ConnectState.appNotAuthorized:
					FB.Connect.requireSession(__callBack_fb_Connect,true);
			   case FB.ConnectState.userNotLoggedIn:
					FB.Connect.requireSession(__callBack_fb_Connect,true);
			  }});
	
		//alert('checking connect state '+FB.Connect.get_status());
		//FB.Connect.RequireSession(__callBack_fb_Connect,true);
		//FB.Connect.showPermissionDialog("email", function(x){alert(x);}, true, [1234,2345]);
	}
	
	function __callBack_fb_Connect(){
		//alert('user connected');
		flNotify('faceBookConnectedEvent');
	}
	
	
	function __fb_streamPublish(message,src,href,prompt_msg){
		
		//FB.Connect.streamPublish('test');
		var attachment = {'media':[{'type':'image','src':src,'href':href}]};
		//FB.Connect.streamPublish (message,attachment,null,null,prompt_msg);
		
		var url=new Array();
		//url.push();
		url.push('locale=fr_FR');
		url.push('preview=true');
		url.push('extern=2');
		url.push('api_key='+_apiKey);
		url.push('user_message_prompt='+prompt_msg);
		url.push('session_key='+escape(FB.Facebook.apiClient.get_session().session_key));
		url.push('message='+message);
		url.push('attachment='+escape(Object.toJSON(attachment)));
		
		window.open(
			'http://www.facebook.com/connect/prompt_feed.php?'+url.join('&'),
			'fbPublish',
			"menubar=no, status=no, scrollbars=no, width=550, height=200");
		
	}
	
	function flNotify(event,params){
		jsDebug('flNotify: '+event);
		if (!__fb_FlashObject) __fb_FlashObject =$('kiasoul');
		//__fb_FlashObject.notify(
		if (params) 
			__fb_FlashObject.notify(event,Object.toJSON(params));
		else 
			__fb_FlashObject.notify(event);
	}
	
	function jsDebug(msg){
		var console = document.getElementById('debug');
		if (console) console.innerHTML+= msg+"<br/>";
	}