 	import flash.utils.Timer;
 	
 	import mx.core.DPIClassification;
+	import mx.core.FlexGlobals;
 	
 	import spark.components.BusyIndicator;
 	import spark.skins.ActionScriptSkinBase;

            
            // Set the default measured size depending on the
            // applicationDPI
            if (applicationDPI == DPIClassification.DPI_640)
            {
                measuredWidth = 104;
                measuredHeight = 104;
            }
            else if (applicationDPI == DPIClassification.DPI_480)
            {
                measuredWidth = 80;
                measuredHeight = 80;
            }
            else if (applicationDPI == DPIClassification.DPI_320)
            {
                measuredWidth = 52;
                measuredHeight = 52;
            }
            else if (applicationDPI == DPIClassification.DPI_240)
            {
                measuredWidth = 40;
                measuredHeight = 40;
            }
            else if (applicationDPI == DPIClassification.DPI_160)
            {
                measuredWidth = 26;
                measuredHeight = 26;
            }
            else if (applicationDPI == DPIClassification.DPI_120)
            {
                measuredWidth = 20;
                measuredHeight = 20;
            }
            else
            {
                measuredWidth = DEFAULT_MINIMUM_SIZE;
                measuredHeight = DEFAULT_MINIMUM_SIZE;
            }
            
            measuredMinWidth = DEFAULT_MINIMUM_SIZE;
            measuredMinHeight = DEFAULT_MINIMUM_SIZE;

				rotationInterval = 30;
			rotationSpeed = 60;
			
			//mx:Application does not have an applicationDPI property
			//In that case, use a default value
			var dpi:Number;
			if(FlexGlobals.topLevelApplication.hasOwnProperty("applicationDPI"))
			{
				dpi = FlexGlobals.topLevelApplication["applicationDPI"];
			}
			
			if(dpi)
			{
				switch(dpi) 
				{	
					case DPIClassification.DPI_640:
					{
						busyIndicatorDiameter = 144;
						break;
					}
					case DPIClassification.DPI_480:
					{
						busyIndicatorDiameter = 108;
						break;
					}		
					case DPIClassification.DPI_320:
					{
						busyIndicatorDiameter = 72;
						break;
					}
					case DPIClassification.DPI_240:
					{
						busyIndicatorDiameter = 54;
						break;
					}
					case DPIClassification.DPI_120:
					{
						busyIndicatorDiameter = 27;
						break;
					}
					default://160 DPI
					{
						busyIndicatorDiameter = 36;
						break;
					}
				}
			}
			else
			{
				busyIndicatorDiameter = 27;
			}
		}

		private var _hostComponent:spark.components.BusyIndicator;
		
		public function get hostComponent():spark.components.BusyIndicator
