//Local Variable with Flash Content id. default = flashcontent

var swf_name = "flashcontent";


//JavaScript Connect methods

/* loguin es una funcion que cada visitante debera ejecutar en cada visita para aseguarar que
   cuenta con sesion activa en facebook y que ha otorgado los permisos necesarios.
   Esta funcion es llamada desde la pantalla "loguin" del swf
	y el parametro "response" contiene la informacion de su sesion asi como los
	permisos que otorgo el usuario
*/

function login(){
	//alert("loguin call");
	FB.login(function(response) {
				// console.info( response );		
					// console.info( response.status == "connected" );	
					//response.status == "connected"
					//response.status == "unknown"	//cerro pop sin intentar loguear 
													//o cancelo
													//o no dio permisos de informacion
					
					
					if (response.authResponse) {	//login exitoso con permisos completos						
						flashCallBack( "onLogin" );
						graphStreamPublish();
					} else {  //login cancelado o fallido o permisos de acceso a informacion no autorizados
						flashCallBack( "onNoLogin" );	
					}
				
				  /*if (response.session) {									
						flashCallBack( "onLogin" );
						//graphStreamPublish();		
				  } else if ( response.perms.length > 0 && response.perms.length < 3 ){					  				  		
						flashCallBack( "onNoPerms" );						
				  } else {																 
						flashCallBack( "onNoLogin" );						
				  }*/
			  },
				
			  {
				//  http://developers.facebook.com/docs/authentication/permissions
				scope:"user_photos,friends_photos,publish_stream"  
				  
				  
			  }
	
	);


}
//publicacion a wall del usuario
function graphStreamPublish(){
       
        FB.api('/me/feed', 
				'post', 
				{ message: 'Esta explorando sus fotos usando la galeria facebook de motion.com.mx',
				  picture: "http://facebook.motion.com.mx/galeria1/medium_icon.jpg",
				  link:"http://facebook.motion.com.mx/galeria1/",
				  name:"Fotos Motion.com.mx"
				  },
				function(response) {
						if (!response || response.error) {
							 //alert('Error occured');
						} else {
							 //alert('Post ID2: ' + response.id);
						}
				}
			  );
 }

function getUserObject(){
	
	FB.api('/me', function(response) {		
	 	flashCallBack( "onUserObject" , response );
	});

}

function getUserAlbums(){	
	FB.api('/me/albums', function(response) {		
	 	flashCallBack( "onUserAlbums" , response );
	});
}

function getAlbumPics( v ){	
	//alert('/'+v);
	FB.api('/'+v, function(response) {	
		//alert("getAlbumPics response"+response);	
	 	flashCallBack( "onAlbumPics" , response );
	});
}


function dumpObj(obj, name, depth)
{
	if (depth > 15)
	{
		return "&" + name + item + "=_max_depth_reached_";
	}
	
	if (typeof obj == "object")
	{
		var child = null;
		var output = "";
		
		for (var item in obj)
		{
			try
			{
				child = obj[item];
			}
			catch (e)
			{
				child = "_unable_to_evaluate_";
			}

			if (typeof child == "object")
			{
				output += "&" + name + item + "=_object_";
				output += dumpObj(child, name + item + "_", depth + 1);
			}
			else
			{
				output += "&" + name + item + "=" + child;
			}
		}
		
		return output;
		
	}
	else
	{
		return "&" + obj;
	}
}

//Method to dispatch an Event to Flash

function flashCallBack ( func ) {

	if( arguments.length > 1 ){

		document[swf_name][func]( Array.prototype.slice.call(arguments).slice(1)[0]);

	}else{		
		//document[swf_name][func]();
		document[swf_name][func] ();
	}

}




