package
{
	import flash.display.LoaderInfo;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class FlashVars
	{
		private static var sInited_bol:Boolean = false;
		
		private static var sDirectAccess_bol:Boolean;
		private static var sSession_str:String;
		private static var sSid_str:String;
		private static var sForceLocal_bol:Boolean;
		private static var slogXML_bol:Boolean;
		private static var sAllowPublish_bol:Boolean;
		
		public function FlashVars()
		{
		
		}
		
		public static function init(pLoaderInfo:LoaderInfo):void
		{
			if (!sInited_bol)
			{
				sInited_bol = true;
				
				sDirectAccess_bol = true;
				sSession_str = "";
				sSid_str = "";
				sForceLocal_bol = false;
				slogXML_bol = false;
				sAllowPublish_bol = false;
				
				sDirectAccess_bol = !(pLoaderInfo.parameters.directAccess == "false");
				
				if (pLoaderInfo.parameters.sid)
					sSid_str = pLoaderInfo.parameters.sid;
				
				if (pLoaderInfo.parameters.session)
					sSession_str = pLoaderInfo.parameters.session;
				
				sForceLocal_bol = pLoaderInfo.parameters.forceLocal == "true";
				
				slogXML_bol = pLoaderInfo.parameters.logXML == "true";
				
				sAllowPublish_bol = pLoaderInfo.parameters.allowPublish == "true";	
				
				try{
					Logger.eddy("--- FLASHVARS INITED ---");
					Logger.eddy("DIRECT_ACCESS: " + DIRECT_ACCESS);
					Logger.eddy("LOG_XML: " + LOG_XML);
					Logger.eddy("FORCE_LOCAL: " + FORCE_LOCAL);
					Logger.eddy("ALLOW_PUBLISH: " + ALLOW_PUBLISH);
					Logger.eddy("SESSION: " + SESSION.length);
					Logger.eddy("SID: " + SID);
				}catch (e) {	}
				
			}
		}
		
		public static function get DIRECT_ACCESS():Boolean
		{
			return sDirectAccess_bol;
		}
		
		public static function get LOG_XML():Boolean
		{
			return slogXML_bol;
		}
		
		public static function get FORCE_LOCAL():Boolean
		{
			return sForceLocal_bol;
		}
		
		public static function get ALLOW_PUBLISH():Boolean
		{
			return sAllowPublish_bol;
		}
		
		public static function get SESSION():String
		{
			return encodeURIComponent(sSession_str);
		}
		
		public static function get SID():String
		{
			return sSid_str;
		}
		
	}

}