Print custom alphabet The Challenge

Display the alphabet from a given letter read from console input. If the letter is uppercase, you have to display the alphabet uppercased. The alphabet printed must end in the precedent letter of the one inserted. If an additiontal parameter is added to the input (a simple dot .) the alphabet should be printed one letter in each line. Otherwise, the alphabet should be printed in the same line, separed by a simple space. If wrong input is send to the program it will not print anything.

Inputs examples:

Input:

c


Program's ouput:

d e f g h i j k l m n o p q r s t u v w x y z a b


Input

H.


Program's ouput:

I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
GolfScript 48 75 73 70 67 66 63 57 53

(91,65&gt;.+.{32+}%+.@?&gt;(;25&lt;''+.,1&gt;*\['''.']?[' 'n 0]=*

Online demos:

Test case 1 ('c')

Test case 2 ('H.')

Test case 3 (invalid input)


Update:
Now the last rule is also implemented. Thanks to Ventero for pointing out the issue.
Update:
I rewrote the code from scratch and found new ways to shorten it even further.
History of modifications:
.,3&lt;\(:x;:§['''.']?)and{91,65&gt;.+.{32+}%+.x?).{&gt;25&lt;''+{§n' 'if}%}{;;}if}''if
.,3&lt;\(:x;:§['''.']?)*{91,65&gt;.+.{32+}%+.x?).{&gt;25&lt;''+{§n' 'if}%}{;;}if}''if
.,3&lt;\(:x;:§['''.']?)*{91,65&gt;.+.{32+}%+.x?).!!@@&gt;25&lt;''+{§n' 'if}%*}''if
.,3&lt;\(:x;:§['''.']?)*!!91,65&gt;.+.{32+}%+.x?).!!@@&gt;25&lt;''+{§n' 'if}%**
.,3&lt;\(:x;:§['''.']?)*91,65&gt;.+.{32+}%+.x?).@@&gt;25&lt;''+{§n' 'if}%@@*!!* 
.(@,3&lt;@:§['''.']?)*91,65&gt;.+.{32+}%+@1$?).@@&gt;25&lt;''+{§n' 'if}%@@*!!*
.(@,3&lt;@:§['''.']?)*91,65&gt;.+.{32+}%+@1$?):x&gt;25&lt;''+{§n' 'if}%\x*!!*
.(@,3&lt;@:§['''.']?)*91,65&gt;.+.{32+}%+@1$?):x&gt;25&lt;''+§n' 'if*\x*!!*
(\:§['''.']?)91,65&gt;.+.{32+}%+@1$?):x&gt;25&lt;''+§n' 'if*\x*!!*
(91,65&gt;.+.{32+}%+.@?&gt;(;25&lt;''+.,1&gt;*\['''.']?[' 'n 0]=*