     #   rangeIsStartLine : true if the range starts at the start of 1st line
     ###
     _findLinesAndIsStartIsEnd : () ->
-        if this.currentSel == null
-            
-            # 1- Variables
-            sel                = @getEditorSelection()
-            range              = sel.getRangeAt(0)
-            startContainer     = range.startContainer
-            endContainer       = range.endContainer
-            initialStartOffset = range.startOffset
-            initialEndOffset   = range.endOffset
-
-            # 2- find endLine and the rangeIsEndLine
-            # endContainer refers to a div of a line
-            if endContainer.id? and endContainer.id.substr(0,5) == 'CNID_'
-                endLine = @_lines[ endContainer.id ]
-                # rangeIsEndLine if endOffset points on the last node of the div
-                # or on the one before the last which is a <br>
-                rangeIsEndLine = endContainer.children.length < initialEndOffset or endContainer.children[initialEndOffset].nodeName=="BR"
-            # means the range ends inside a div (span, textNode...)
-            else if $(endContainer).parents("div").length > 0
-                endLineDiv = selection.getLineDiv(endContainer)
-                endLine = @_lines[endLineDiv.id]
-                # rangeIsEndLine if the selection is at the end of the
-                # endContainer and of each of its parents (this approach is more
-                # robust than just considering that the line is a flat
-                # succession of span : maybe one day there will be a table for
-                # instance...)
-                rangeIsEndLine = false
-                # case of a textNode: it must have no nextSibling
-                # and offset must be its length
-                if endContainer.nodeType == Node.TEXT_NODE
-                    rangeIsEndLine = endContainer.nextSibling == null and
-                                     initialEndOffset == endContainer.textContent.length
-                # case of another node : it must be a br;
-                # or be followed by a br and have maximal offset.
-                else
-                    rangeIsEndLine = endContainer.nodeName=='BR' or
-                                     (endContainer.nextSibling.nodeName=='BR' and
-                                     endContainer.childNodes.length==initialEndOffset)
-                    #nextSibling    = endContainer.nextSibling
-                    #rangeIsEndLine = (nextSibling == null or nextSibling.nodeName=='BR')
-                    #(nextSibling == null or (initialEndOffset==parentEndContainer.textContent.length and nextSibling.nodeName=='BR'))
-                parentEndContainer = endContainer.parentNode
-                while rangeIsEndLine and parentEndContainer.nodeName != "DIV"
-                    nextSibling = parentEndContainer.nextSibling
-                    rangeIsEndLine = (nextSibling == null or nextSibling.nodeName=='BR')
-                    # rangeIsEndLine = endContainer.nodeName=='BR' or
-                    #                  (nextSibling.nodeName=='BR' and
-                    #                  endContainer.childNodes.length==initialEndOffset)
-                    parentEndContainer = parentEndContainer.parentNode
+        # if this.currentSel == null
+            
+        # 1- Variables
+        sel                = @getEditorSelection()
+        range              = sel.getRangeAt(0)
+        startContainer     = range.startContainer
+        endContainer       = range.endContainer
+        initialStartOffset = range.startOffset
+        initialEndOffset   = range.endOffset
+
+        # 2- find endLine and the rangeIsEndLine
+        # endContainer refers to a div of a line
+        if endContainer.id? and endContainer.id.substr(0,5) == 'CNID_'
+            endLine = @_lines[ endContainer.id ]
+            # rangeIsEndLine if endOffset points on the last node of the div
+            # or on the one before the last which is a <br>
+            rangeIsEndLine = endContainer.children.length < initialEndOffset or endContainer.children[initialEndOffset].nodeName=="BR"
+        # means the range ends inside a div (span, textNode...)
+        else if $(endContainer).parents("div").length > 0
+            endLineDiv = selection.getLineDiv(endContainer)
+            endLine = @_lines[endLineDiv.id]
+            # rangeIsEndLine if the selection is at the end of the
+            # endContainer and of each of its parents (this approach is more
+            # robust than just considering that the line is a flat
+            # succession of span : maybe one day there will be a table for
+            # instance...)
+            rangeIsEndLine = false
+            # case of a textNode: it must have no nextSibling
+            # and offset must be its length
+            if endContainer.nodeType == Node.TEXT_NODE
+                rangeIsEndLine = endContainer.nextSibling == null and
+                                 initialEndOffset == endContainer.textContent.length
+            # case of another node : it must be a br;
+            # or be followed by a br and have maximal offset.
             else
-                endLine = @_lines["CNID_1"]
-            
-            # 3- find startLine and rangeIsStartLine
-            if startContainer.nodeName == 'DIV' # startContainer refers to a div of a line
-                startLine = @_lines[ startContainer.id ]
+                rangeIsEndLine = endContainer.nodeName=='BR' or
+                                 (endContainer.nextSibling.nodeName=='BR' and
+                                 endContainer.childNodes.length==initialEndOffset)
+                #nextSibling    = endContainer.nextSibling
+                #rangeIsEndLine = (nextSibling == null or nextSibling.nodeName=='BR')
+                #(nextSibling == null or (initialEndOffset==parentEndContainer.textContent.length and nextSibling.nodeName=='BR'))
+            parentEndContainer = endContainer.parentNode
+            while rangeIsEndLine and parentEndContainer.nodeName != "DIV"
+                nextSibling = parentEndContainer.nextSibling
+                rangeIsEndLine = (nextSibling == null or nextSibling.nodeName=='BR')
+                # rangeIsEndLine = endContainer.nodeName=='BR' or
+                #                  (nextSibling.nodeName=='BR' and
+                #                  endContainer.childNodes.length==initialEndOffset)
+                parentEndContainer = parentEndContainer.parentNode
+        else
+            endLine = @_lines["CNID_1"]
+        
+        # 3- find startLine and rangeIsStartLine
+        if startContainer.nodeName == 'DIV' # startContainer refers to a div of a line
+            startLine = @_lines[ startContainer.id ]
+            rangeIsStartLine = initialStartOffset == 0
+            
+        else if $(startContainer).parents("div").length > 0
+            # means the range starts inside a div (span, textNode...)
+        
+            startLine = @_lines[selection.getLineDiv(startContainer).id]
+            # case of a textNode: it must have no previousSibling nor offset
+            if startContainer.nodeType == Node.TEXT_NODE
+                rangeIsStartLine = endContainer.previousSibling == null and
+                                   initialStartOffset == 0
+            else
                 rangeIsStartLine = initialStartOffset == 0
-                
-            else if $(startContainer).parents("div").length > 0
-                # means the range starts inside a div (span, textNode...)
-            
-                startLine = @_lines[selection.getLineDiv(startContainer).id]
-                # case of a textNode: it must have no previousSibling nor offset
-                if startContainer.nodeType == Node.TEXT_NODE
-                    rangeIsStartLine = endContainer.previousSibling == null and
-                                       initialStartOffset == 0
-                else
-                    rangeIsStartLine = initialStartOffset == 0
-                
-                parentStartContainer = startContainer.parentNode
-                while rangeIsStartLine && parentStartContainer.nodeName != "DIV"
-                    rangeIsStartLine = parentStartContainer.previousSibling == null
-                    parentStartContainer = parentStartContainer.parentNode
-            else
-                startLine = @_lines["CNID_1"]
-
-            # Special case of an "empty" line (<span><""></span><br>)
-            if endLine?.line$[0].innerHTML == "<span></span><br>"
-                rangeIsEndLine = true
-            if startLine?.line$[0].innerHTML == "<span></span><br>"
-                rangeIsStartLine = true
-
-            # 4- build result
-            @currentSel =
-                sel              : sel
-                range            : range
-                startLine        : startLine
-                endLine          : endLine
-                rangeIsStartLine : rangeIsStartLine
-                rangeIsEndLine   : rangeIsEndLine
-
-
-            console.log @currentSel
-            
-            @currrentSel
+            
+            parentStartContainer = startContainer.parentNode
+            while rangeIsStartLine && parentStartContainer.nodeName != "DIV"
+                rangeIsStartLine = parentStartContainer.previousSibling == null
+                parentStartContainer = parentStartContainer.parentNode
+        else
+            startLine = @_lines["CNID_1"]
+
+        # Special case of an "empty" line (<span><""></span><br>)
+        if endLine?.line$[0].innerHTML == "<span></span><br>"
+            rangeIsEndLine = true
+        if startLine?.line$[0].innerHTML == "<span></span><br>"
+            rangeIsStartLine = true
+
+        # 4- build result
+        @currentSel =
+            sel              : sel
+            range            : range
+            startLine        : startLine
+            endLine          : endLine
+            rangeIsStartLine : rangeIsStartLine
+            rangeIsEndLine   : rangeIsEndLine
+
+        @currrentSel
+        
 
 
     ###  -----------------------------------------------------------------------

    _processPaste : () =>
        sandbox = @.clipboard
        currSel = @currentSel

        
        # 1- Sanitize clipboard content with node-validator 

    # @return {[none]}           [nothing]
    ###
    _deleteMultiLinesSelections : (startLine, endLine) ->
        unless @currentSel?
            console.log "no selection, can't delete multi lines"
            return null
