         }
         else {
             reportLikesCountText = "0 likes"
-            _cell.reportLikeCount.hidden = true
+            _cell.reportLikeCount.hidden = false
         }
         
         _cell.reportLikeCount.setTitle(reportLikesCountText, forState: .Normal)

        let _headers = [
            "Authorization": "Bearer " + (accessToken! as! String)
        ]
        
        //
        // PARAMETERS
        //
        let _report = JSON(self.reports[(sender.tag)])
        let _report_id: String = "\(_report["id"])"
        
        let _parameters: [String:AnyObject] = [
            "report_id": _report_id
        ]
        
        Alamofire.request(.POST, Endpoints.POST_LIKE, parameters: _parameters, headers: _headers, encoding: .JSON)
            .responseJSON { response in
                
                switch response.result {
                case .Success(let value):
                    if let _code = value["code"] {
                        if _code?.stringValue == "400" {
                            print("You already liked this post ... do nothing.")
                        }
                    }
                    else {
                        print("You're liking this post for the first time")
                        self.updateReportLikes(_report_id, reportSenderTag: sender.tag)
                    }
                    
                    break
                case .Failure(let error):
                    print("Response Failure \(error)")
                    break
                }
                
        }
    }
    
    func unlikeCurrentReport(sender: UIButton) {
        
        print("LikeController::unlikeCurrentReport  Decrementing Report Likes by 1")
        // Update the visible "# like" count of likes
        //
        self.updateReportLikeCount(sender.tag, addLike: false)
        
        
        // Create necessary Authorization header for our request
        //
        let accessToken = NSUserDefaults.standardUserDefaults().objectForKey("currentUserAccountAccessToken")
        let _headers = [
            "Authorization": "Bearer " + (accessToken! as! String)
        ]
        
        //
        // PARAMETERS
        //
        let _report = JSON(self.reports[(sender.tag)])
        let _report_id: String = "\(_report["id"])"
        
        let _parameters: [String:AnyObject] = [
            "report_id": _report_id
        ]
        
        //
        // ENDPOINT
        //
        var _like_id: String = ""
        let _user_id_number = NSUserDefaults.standardUserDefaults().objectForKey("currentUserAccountUID") as! NSNumber
        var _like_index: Int = 0
        
        if (_report["properties"]["likes"].count != 0) {
            
            for _like in _report["properties"]["likes"] {
                if (_like.1["properties"]["owner_id"].intValue == _user_id_number.integerValue) {
                    print("_like.1 \(_like.1)")
                    _like_id = "\(_like.1["id"])"
                    _like_index = Int(_like.0)!
                }
            }
        }
        
        let _endpoint: String = Endpoints.DELETE_LIKE + "/\(_like_id)"
                
        
        //
        // REQUEST
        //
        Alamofire.request(.DELETE, _endpoint, parameters: _parameters, headers: _headers, encoding: .JSON)
            .responseJSON { response in
                
                switch response.result {
                case .Success(let value):
                    print("Response Success \(value)")
                    
                    self.updateReportLikes(_report_id, reportSenderTag: sender.tag)
                    
                    break
                case .Failure(let error):
                    print("Response Failure \(error)")
                    break
                }
                
        }
    }
    
    func updateReportLikes(_report_id: String, reportSenderTag: Int) {
        
        // Create necessary Authorization header for our request
        //
        let accessToken = NSUserDefaults.standardUserDefaults().objectForKey("currentUserAccountAccessToken")
        let _headers = [
            "Authorization": "Bearer " + (accessToken! as! String)
        ]
    
        Alamofire.request(.GET, Endpoints.GET_MANY_REPORTS + "/\(_report_id)", headers: _headers, encoding: .JSON)
            .responseJSON { response in
                
                switch response.result {
                case .Success(let value):
                    print("Response value \(value)")
                    
                    self.reports[reportSenderTag] = value
                    
                    break
                case .Failure(let error):
                    print("Response Failure \(error)")
                    break
                    
                }
                

        
    }
    
    func hasPreviouslyLike(likes: JSON) -> Bool {
        
        print("hasPreviouslyLike::likes \(likes)")
        
        // LOOP OVER PREVIOUS LIKES AND SEE IF CURRENT USER ID IS ONE OF THE OWNER IDS
        
        let _user_id_number = NSUserDefaults.standardUserDefaults().objectForKey("currentUserAccountUID") as! NSNumber

        for _like in likes {
            if (_like.1["properties"]["owner_id"].intValue == _user_id_number.integerValue) {
                print("_like.1 \(_like.1)")
                return true
            }
        }
        
        return false
    }
    
    func likeCurrentReport(sender: UIButton) {
        
        print("LikeController::likeCurrentReport Incrementing Report Likes by 1")
