                   if this.getDialog().getValueOf('item', 'source') == 'Divider'
                     element.children('.menu-item').children("input[name$='[special]']").val('divider')
                     element.children('a').html('')
-                  else if this.getElement().isVisible()
+                  else if this.getDialog().getValueOf('item', 'source') == 'Route'
                     element.children('.menu-item').children("input[name$='[special]']").val(this.getValue())
                   else
                     element.children('.menu-item').children("input[name$='[special]']").val('')

                setup: (element) ->
                  this.setValue(element.children('.menu-item').children("input[name$='[url]']").val())
                commit: (element) ->
                  if this.getElement().isVisible() then value = this.getValue() else value = ''

                  element.children('.menu-item').children("input[name$='[url]']").val(value)
                  element.children('a').attr('href', value || '#')
                validate: ->
                  if this.getElement().isVisible() && (this.getValue() || '').length == 0
                    CKEDITOR.dialog.validate.notEmpty('please enter a URL').apply(this)
              },
              {

        onShow: -> this.setupContent(this.effective_menu_item) if this.effective_menu_item

        onOk: ->
          if this.effective_menu_item
            this.commitContent(this.effective_menu_item)
            this.effective_menu_item.removeClass('new-item') if this.effective_menu_item.hasClass('new-item')

        onCancel: ->
          if this.effective_menu_item && this.effective_menu_item.hasClass('new-item')
            this.effective_menu_item.remove()
      }
