     
     //MARK: private
     
+    func timeOut(sender timer:NSTimer)
+    {
+        timer.invalidate()
+        
+        layoutTop.constant = -kHeight
+        
+        UIView.animateWithDuration(kAnimationDuration, animations:
+        {
+            self.superview!.layoutIfNeeded()
+        })
+        { (done) in
+            
+            self.removeFromSuperview()
+        }
+    }
+    
     private func setIcon(imageView:UIImageView, type:VMainAlertType)
     {
         let imageName:String

                constant:alertInitialTop)
            
            mainView.addConstraint(alert.layoutTop)
        }
    }
    

    
    let kHeight:CGFloat = 80
    weak var layoutTop:NSLayoutConstraint!
    weak var timer:NSTimer?
    private let kIconAnnotation:String = ""
    private let kIconWarning:String = ""
    private let kIconError:String = ""
    private let kImageViewWidth:CGFloat = 50
    private let kLabelMarginRight:CGFloat = 10
    private let kMarginTop:CGFloat = 20
    private let kAnimationDuration:NSTimeInterval = 0.3
    private let kAlertDuration:NSTimeInterval = 3
    
    class func Show(message:String, type:VMainAlertType)
    {
