     
     //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

    
    let kHeight:CGFloat = 80
    weak var layoutTop:NSLayoutConstraint!
    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
    
    class func Show(message:String, type:VMainAlertType)
    {

        
        imageView.image = UIImage(named:imageName)
    }
    
    private func animateAlert()
    {
        layoutTop.constant = 0
        
        UIView.animateWithDuration(kAnimationDuration, animations:
        {
            self.superview!.layoutIfNeeded()
        })
        { (done) in
            
            self.timer = NSTimer.scheduledTimerWithTimeInterval(
                self.kAlertDuration,
                target:self,
                selector:#selector(self.timeOut(sender:)),
                userInfo:nil,
                repeats:false)
        }
    }
}