             
             let animations = { () -> () in
                 leftVC.view.frame = frame
+                self.contentCoverView.alpha = newValue ? 1.0 : 0.0
             }
             
             UIView.animateWithDuration(SideViewControllerOpenAnimationDuration, delay: 0, options: UIViewAnimationOptions.BeginFromCurrentState, animations: animations, completion: nil)
         }
+    }
+    
+    public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
+        self.contentCoverView = UIView()
+        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
+    }
+    
+    public required init?(coder aDecoder: NSCoder) {
+        self.contentCoverView = UIView()
+        super.init(coder: aDecoder)
+    }
+    
+    public override func viewDidLoad() {
+        super.viewDidLoad()
+        
+        self.contentCoverView.frame = self.view.bounds
+        self.contentCoverView.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.5)
+        self.contentCoverView.alpha = 0.0
+        
+        let tapOnContentCoverViewGesture = UITapGestureRecognizer(target: self, action: "contentCoverViewClicked")
+        self.contentCoverView.addGestureRecognizer(tapOnContentCoverViewGesture)
+        
+        self.view.addSubview(self.contentCoverView)
     }
     
     //

    var _topViewController: UIViewController?
    var _leftViewController: UIViewController?
    
    
    func moveMenu(panGesture: UIPanGestureRecognizer) {
        panGesture.view?.layer.removeAllAnimations()

    }
    
    func brindLeftViewToFront() {
        self.view.bringSubviewToFront(self.contentCoverView)
        
        if let vc = self.leftViewController {
            self.view.bringSubviewToFront(vc.view)
        }
