Code Golf: Forwards sdrawkcaB sdrawkcaB Forwards Forwards sdrawkcaB Task


The user inputs a sentence - words only. Any input other than letters or spaces, including integers and punctuation, should throw an exception: "Sentence must only use letters".
The output has a pattern, where some
words are reversed and others words are normal. 
The pattern starts as
a normal word, the next two words are reversed, then the next two
words are normal and the pattern continues. 
An example of where the words should be normal and where words reversed is below:


Normal - Reversed - Reversed - Normal - Normal - Reversed - Reversed - Normal ...

Input Example

She sells Sea shells on the Sea shore

Output Example

She slles aeS shells on eht aeS shore

Additional Rules


If capital letters are used, they should remain on the letter they were originally posted on.
Any multiple spaces initially posted on input should be reduced to one space. For example Programming   Puzzles and   Code Golf becomes Programming selzzuP dna Code Golf


Shortest Code Wins!!

Happy coding...
TeaScript, 55 bytes 58 60 69 76 78 80 87 89

xO`a-z `?xl(#~-i&amp;2?l:lv(),/ +/):Ld`SÀZn­ Û § «e Ò5s`


This is extremely short, I'm very happy with it.

The last ~20 characters may seem like gibberish but that's "Sentence must only use letters" encoded. All the characters have char codes below 256 so each are one byte

Explanation

xO`a-z `?  // If input contains only a-z and space...

   xl(#       // Loop through input 
      ~-i&amp;2?  // If (index - 1 "unary and"ed with 2) isn't 0...
          :l,     // Leave alone
          lv()    // Otherwise, reverse string
       / +/ // Loops on spaces
   )

:Ld`SÀZn­ Û § «e Ò5s` // Otherwise... decompress and print  the error string



Try it online
Pastebin