package com.guru.facebook
{
	import com.facebook.Facebook;
	import com.guru.conn.ConnPath;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class FacebookDataBridge
	{
		public static var MODE:String;
		private static var ALLOW_PUBLISH:Boolean;
		
		public static var IFRAME:String = "iframe";
		public static var FBML:String = "fbml";
		
		private static var FACEBOOK:Facebook;
		private static var UID:String;
		private static var EMAIL:String;
		private static var NAME:String;
		private static var PIC:String;
		private static var PROFILE_URL:String;
		private static var FRIEND_LIST:Array;
		
		public static function inviteFriend():void
		{
			if(MODE == FBML)
				navigateToURL(new URLRequest(ConnPath.getAppPrefix() + "invite.php"), "_blank");
			else
				navigateToURL(new URLRequest(ConnPath.getAppPrefix() + "invite.php"), "_top");
		}
		
		public static function setAllowPublish(pAllow_bol:Boolean):void
		{
			ALLOW_PUBLISH = pAllow_bol;
			
			if (ALLOW_PUBLISH)
			{
				Logger.eddy("ALLOW PUBLISH :)");
			}
			else
			{
				Logger.eddy("DISALLOW PUBLISH ;(");
			}
		}
		
		public static function getAllowPublish():Boolean
		{
			return ALLOW_PUBLISH;
		}
		
		public static function getFacebook():Facebook
		{
			manageData();
			return FACEBOOK;
		}
		
		public static function getLoggerUid():String
		{
			manageData();
			return UID;
		}
		
		public static function getLoggerEmail():String
		{
			manageData();
			return EMAIL;
		}
		
		public static function getLoggerName():String
		{
			manageData();
			return NAME;
		}
		
		public static function getLoggerPic():String
		{
			manageData();
			return PIC;
		}
		
		public static function getLoggerProfileURL():String
		{
			manageData();
			return PROFILE_URL;
		}
		
		public static function getFriendList():Array
		{
			manageData();
			return FRIEND_LIST;
		}
		
		private static function loadDefaultData():void
		{
			FACEBOOK = null;
			UID = "123456789";
			EMAIL = "im.aya@hotmail.com";
			NAME = "aya";
			PIC = "image/default_user.jpg";
			PROFILE_URL = "http://www.facebook.com";
			
			FRIEND_LIST = new Array();
			for (var i:Number = 1; i <= 382; i++ )
			{
				var data_array:Array = new Array();
				data_array["uid"] = i;
				
				if (i % 2 == 0)
				{
					data_array["name"] = "female username " + i;
					data_array["sex"] = "male";
				}
				else
				{
					data_array["name"] = "male username " + i;
					data_array["sex"] = "female";
				}
					
				data_array["pic"] = "image/face.jpg";
				data_array["profile_url"] = "http://www.facebook.com";
				
				if(i % 12 == 0)
					data_array["birthday"] = "January 12, 1990";
				else if(i % 12 == 1)
					data_array["birthday"] = "February 12, 1990";
				else if(i % 12 == 2)
					data_array["birthday"] = "March 12, 1990";
				else if(i % 12 == 3)
					data_array["birthday"] = "April 12, 1990";
				else if(i % 12 == 4)
					data_array["birthday"] = "May 12, 1990";
				else if(i % 12 == 5)
					data_array["birthday"] = "June 12, 1990";
				else if(i % 12 == 6)
					data_array["birthday"] = "July 12, 1990";
				else if(i % 12 == 7)
					data_array["birthday"] = "August 12, 1990";
				else if(i % 12 == 8)
					data_array["birthday"] = "September 12, 1990";
				else if(i % 12 == 9)
					data_array["birthday"] = "October 12, 1990";
				else if(i % 12 == 10)
					data_array["birthday"] = "November 12, 1990";
				else if(i % 12 == 11)
					data_array["birthday"] = "December 12, 1990";
					
				FRIEND_LIST.push(data_array);
			}
			
		}
		
		private static function loadFacebookFBMLCenterData():void
		{
			//FACEBOOK = FacebookFBMLCenter.FACEBOOK;
			//UID = FacebookFBMLCenter.UID;
			//EMAIL = FacebookFBMLCenter.PROFILE_EMAIL_PROXIED;
			//NAME = FacebookFBMLCenter.PROFILE_NAME;
			//PIC = FacebookFBMLCenter.PROFILE_PIC;
			//PROFILE_URL = FacebookFBMLCenter.PROFILE_URL;
			//FRIEND_LIST = FacebookFBMLCenter.getFriendList();
		}
		
		private static function loadFacebookIFrameCenterData():void
		{
			UID = FacebookIFrameCenter.UID;
			EMAIL = FacebookIFrameCenter.EMAIL;
			NAME = FacebookIFrameCenter.NAME;
			PIC = FacebookIFrameCenter.PIC;
			PROFILE_URL = FacebookIFrameCenter.PROFILE_URL;
			FRIEND_LIST = FacebookIFrameCenter.FRIEND_LIST;
		}
		
		private static function manageData():void
		{
			if (MODE == FBML)
			{
				if (ConnPath.isLocalMode())
					loadDefaultData();
				else
					loadFacebookFBMLCenterData();
			}
			else if (MODE == IFRAME)
			{
				loadFacebookIFrameCenterData();
			}
			else
			{
				loadFacebookIFrameCenterData();
			}
		}
		
		public function FacebookDataBridge() 
		{
			
		}
		
	}

}