tree = require('../states/appState')
reqwest = require('reqwest')

onBoardingState = tree.select('onBoarding')
sealBuilderState = tree.select('sealBuilder')
accountState = tree.select('account')
actions =
  loadSeal: ->
    reqwest
      url: '/seal/seal/all'
    .then (res) ->
      for seal in res
        if seal.validation_type == 'Message'
          messageSeal = seal
      if onBoardingState.get('completedStepId') >= 3
        sealBuilderState
          .select('border')
          .select('size')
          .set(messageSeal.border_thickness)
        borderBasic = 'none'
        if messageSeal.border_thickness > 0
          borderBasic = 'border'
        sealBuilderState
          .select('border')
          .select('borderBasic')
          .set(borderBasic)
        sealBuilderState
          .select('CTA')
          .set(messageSeal.call_to_action)
        sealBuilderState
          .select('icon')
          .set(messageSeal.icons)
        orientation = sealBuilderState.select('orientation')
        if messageSeal.sideways
          orientation.set('horizontal')
        else
          orientation.set('vertical')
        sealBuilderState.select('complete').set(true)
      sealBuilderState.select('uuid').set(messageSeal.uuid)
      sealBuilderState.select('id').set(messageSeal.id)
  setPassword: (payload) ->
    csrf = Django.csrf_token()
    reqwest
      url: "/accept/#{Django.invite}/"
      method: 'post'
      data:
        "csrfmiddlewaretoken": csrf,
        "password": payload.password,
        "confirmPassword": payload.repeated_password
      error: (err) ->
        console.log(err)
      success: ->
        location.assign("/start/#{Django.invite}/2/")
  goToStep: (step) ->
    onBoardingState.select('currentStepId').set(step)
  copyCode: ->
    code = sealBuilderState.get("sealCode")
    try
      copyElement = document.createElement('input')
      copyElement.setAttribute('type', 'text')
      copyElement.setAttribute('value', code)
      copyElement = document.body.appendChild(copyElement)
      copyElement.select()
      successful = document.execCommand('copy')
      if successful
        onBoardingState.select('copied').set(true)
      else
        alert("Copying to clipboard not supported by your browser. Please select all code within the textarea and press CTRL+C")
    catch err
      alert("Copying to clipboard not supported by your browser. Please select all code within the textarea and press CTRL+C")

    
module.exports = actions