# almost complex structure on a surface

Let $M$ be an oriented smooth surface, $GL(M) \to M$ the bundle of oriented frames of $M$. Why is the space $S(M)$ of almost complex structures on $S$ equal to smooth sections of $GL(M) \times_{GL_2^+(R)} GL_2^+(R)/GL_1(\mathbb{C})$ as claimed in the following excerpt taken from here:

Here are my thoughts: An almost complex structure $J:TM \to TM$ satisfies $J^2=-Id$, and such that $(v, Jv)$ is positively oriented for every nonzero tangent vector $v$. So since $\det(-Id)=(-1)^2=1$, $\det(J)=\pm 1$. So given an almost complex structure $J$, locally we can get an element of $GL(M) \times_{GL_2^+(R)} GL_2^+(R)/GL_1(\mathbb{C})$ by taking $(v, Jv) \times Id$. If $w$ is any other tangent vector, there is at each point on $M$ an element of $M \in GL_2^+(\mathbb{R}$ sending $(v, Jv)$ to $(w, Jw)$. I don't know how to continue, or whether this is the right track.

And how is $GL_1(\mathbb{C})$ acting on $GL_2^+(\mathbb{R})$? How do they get that the quotient is then the upper half plane?