   start_first_piece: () ->
     @puzzle.colors.new_rotation()
     @puzzle.indicator.start_indicator()
-    #  ### N E W  <1> (didn't work) ###  #
-    @puzzle.mask.reset_mask(@puzzle.grid)
-    #  ### N E W  <2> ) ###  #
-    #  ### N E W  <3> (move this to start_new_puzzle() ) ###  #
-    # @puzzle.mask.draw_mask(@puzzle.grid)
     pc = Math.floor(@pieces_in_puzzle*Math.random())
     @sym = @unset_pieces[pc]
-    # @unset_pieces.splice(@unset_pieces.indexOf(@sym),1)
-    up = ""
-    @unset_pieces.forEach (pcc) ->
-      up = up + pcc
-    console.log " "
-    console.log "start_first_piece()"
-    console.log "   @unset_pieces = #{up}"
-    console.log "   sym = #{@sym}"
-    console.log "   pc = #{pc}"
     @puzzle.piece.construct_piece(@sym)
 
 


  start_new_puzzle: () ->
    @finished = false
    @unset_pieces = @all_pieces.slice(0, 16)
    console.log "start_new_puzzle()"
    up = ""
    @unset_pieces.forEach (pcc) ->
      up = up + pcc
    console.log "   @unset_pieces = #{up}"
    @pieces_in_puzzle = 16
    @pieces_set = 0
    #  ### N E W  <3> ###  #
    # @puzzle.mask.draw_mask(@puzzle.grid)
    # @puzzle.mask.reset_mask(@puzzle.grid)
    console.log "   ** snp 1 **"
    @puzzle.ui_status.reset()
    @puzzle.puzzle_view.reset()
    console.log "   ** snp 2 **"
    #  ### N E W  <4> ###  #
    @puzzle.mask.draw_mask(@puzzle.grid)
    console.log "   ** snp 3 **"
    @start_first_piece()
    console.log "   ** snp 4 **"


  set_piece: () ->

  xhr.open('GET',url)
  xhr.onreadystatechange = ->
    if (xhr.readyState == 4 && xhr.status == 200)
      console.log ">>>>>>>>>>>>> pattern XHR ready EVENT <<<<<<<<<<<<<"
      msg_in = xhr.responseText
      response = JSON.parse(msg_in)
      @pstring = response.pstring
      app.grid = get_pattern_grid(@pstring)
      if app.load_status == "photo"
        app.load_status = "ready"
        console.log "start_new_puzzle() called from get_puzzle_pattern()"
        app.pz_status.start_new_puzzle()
      else
        app.load_status = "pattern"
