Given(/^I am on a page with interlanguage links$/) do
  visit InterlanguagePage
end

Given(/^I am on a page without interlanguage links$/) do
  visit NoInterlanguagePage #  .add_links_element.when_visible.should be_visible
  # cannot do this because of https://phabricator.wikimedia.org/T51139
end

Given(/^I am on a talk page with interlanguage links$/) do
  visit(InterlanguagePage).talk_element.click
end

Given(/^I am on a talk page without interlanguage links$/) do
  visit(NoInterlanguagePage).talk_element.click
end

Given(/^I navigate to the anonymous Language Settings panel$/) do
  step "I am on a page with interlanguage links"
  step "I click the cog icon by Languages in the sidebar"
  step "I see the logged out language settings panel"
end

Given(/^I navigate to the Language Settings panel$/) do
  step "I am on a page with interlanguage links"
  step "I click the cog icon by Languages in the sidebar"
  step "I see the logged in language settings panel"
end

When(/^I click the cog icon by Languages in the sidebar$/) do
  on(NoInterlanguagePage).cog_element.when_present.click
  # Wait for the panel to open
  on(PanelPage).panel_display_element.when_visible
end

Then(/^I can navigate back to Input Settings$/) do
  on(InterlanguagePage) do |page|
    page.back_to_input
    page.x_element.should be_visible
  end
end

Then(/^I can navigate back to Language Settings$/) do
  on(InterlanguagePage) do |page|
    page.back_to_display
    page.x_element.should be_visible
  end
end

When(/^I choose a different language for writing$/) do
  on(InterlanguagePage).non_default_language_element.when_visible.click
end

Then(/^I do not see the Language Settings panel$/) do
  on(PanelPage) do |page|
    page.panel_language_element.should_not be_visible
    page.panel_fonts_element.should_not be_visible
    page.default_language_button_element.should_not be_visible
    page.other_language_button_element.should_not be_visible
  end
end

Then(/^I see Common Languages$/) do
  on(InterlanguagePage).language_list.should match Regexp.escape("Common languages")
end

Then(/^I see Language Search$/) do
  on(InterlanguagePage).language_search_element.should be_visible
end

Then(/^I see the logged out language settings panel$/) do
  on(PanelPage) do |page|
    page.panel_language_element.should be_visible
    page.panel_fonts_element.should be_visible
  end
end

Then(/^I see the logged in language settings panel$/) do
  on(PanelPage) do |page|
    page.panel_language_element.should be_visible
    page.panel_fonts_element.should be_visible
    page.default_language_button_element.should be_visible
    page.other_language_button_element.should be_visible
  end
end

Then(/^I see Worldwide$/) do
   on(InterlanguagePage) do |page|
    page.language_list.should match Regexp.escape("Worldwide")
    page.english_link_element.should be_visible
  end
end

Then(/^I click the cog icon to open language settings again$/) do
  step "I click the cog icon by Languages in the sidebar"
  step "I see the logged out language settings panel"
end

Then(/^the cog icon brings up Language Settings again$/) do
  step "I click the cog icon by Languages in the sidebar"
  step "I see the Language Settings panel"
end

Then(/^I should see the How to use link near the Malayalam transliteration item$/) do
  on(InterlanguagePage).how_to_use_ml_transliteration_element.should be_visible
end
