﻿function FB_Beezik_exe(api_key, xd_receiver, permission)    
    {  
	//alert("FB_Beezik_exe") ;        
	FB.Bootstrap.requireFeatures(["Connect"], function()
	    {	       
		//alert("requireFeatures") ; 
		FB.init(api_key, xd_receiver);
		//alert("post init") ;  
		FB.ensureInit(function () {
			//alert("ensureInit") ;  
		   FB.Connect.get_status().waitUntilReady(function(status) {
			   //alert("waitUntilReady") ;  
			   switch(status) {
					   
					case FB.ConnectState.connected: 
						LoggedIn = true;
						 //alert("connected") ;  
						FB.Facebook.apiClient.users_hasAppPermission(permission, function(result)
						{
							if (result != 0){
								publish();
							}						
							else{
								FB.Connect.showPermissionDialog('publish_stream', function(perms) {
									if (!perms) {
										//alert("not allow!!");
									}//fin if
									else{
										//alert("allow access!!");
										publish();						
									}//fin else
								});//fin showPermissionDialog
							}
						});//fin hasAppPermission
					break;
					
					case FB.ConnectState.appNotAuthorized:
						//alert("appNotAuthorized") ;
						FB.Connect.showPermissionDialog('publish_stream', function(perms) {
							if (!perms) {
								//alert("not allow!!");
							}//fin if
							else{
								//alert("allow access!!");
								publish();						
							}//fin else
						});//fin showPermissionDialog
					break;
					
					case FB.ConnectState.userNotLoggedIn:
						//alert("userNotLoggedIn") ;
						LoggedIn = false;
			 		break;						
				}//fin switch
			});//fin get_status
		   });//fin ensureInit
	    });//fin requireFeatures
    }//fin FB_test_perm

function publish(){
	var uid = FB.Facebook.apiClient.get_session().uid;
   	var sql = "SELECT first_name FROM user WHERE uid ="+uid;
	FB.Facebook.apiClient.fql_query(sql, function(result, ex) {
		
		var userName= result[0]['first_name'];
		var message = "";
		var artist = document.getElementById("artist").value;
		var titre = document.getElementById("titre").value;
		var albumName = document.getElementById("albumName").value;
		var rootUrl = document.getElementById("rootUrl").value;
		var urlPochette = document.getElementById("urlPochette").value;
		var urlTitre = document.getElementById("urlTitre").value;
		var urlArtiste = document.getElementById("urlArtiste").value;
		var urlAlbum = document.getElementById("urlAlbum").value;
		var attachment = {
			'name':''+userName+' a téléchargé gratuitement et légalement '+titre+' de '+artist+' sur Beezik.',
			'href':rootUrl+urlAlbum+'&origine=facebook',
			'properties': {
				'Artiste':{"text":artist,'href':rootUrl+urlArtiste+'?origine=facebook'},
				'Titre':{"text":titre,'href':rootUrl+urlTitre+'?origine=facebook'}
				},
			'media':
			  [{'type': 'image',
				'src':  rootUrl+urlPochette,
				'href': rootUrl+urlAlbum+'?origine=facebook'
				}]
			};//fin attachment
		var action_links = [{'text':'Visiter le site de Beezik.', 'href':''+rootUrl+'?origine=facebook'}]; 

		FB.Connect.streamPublish(message, attachment, action_links, null,null, null, true, null);
	
	});//fin fql_query
	
}


function FB_Beezik(){
	var api_key_facebook = document.getElementById("api_key_facebook").value;
	FB_Beezik_exe(api_key_facebook, "/xd_receiver.htm", "publish_stream"); 
	
}
