This thread (including comments from both Jeremy and Alex) was very useful to me in PhD Quals preparation.
I would like to give a detailed proof using Jeremy's and Alex's outline, but without mention of Spec(R), in case the reader is less algebraic-geometry-inclined.
Corrections welcome. Thanks.
Proposition. Let R be a UFD in which every nonzero prime ideal is maximal. Then R is a PID.
Lemma 1. If p is a nonzero irreducible element of R, then (p) is a prime ideal of R.
Proof. Let a and b be nonzero elements of R such that ab ∈ (p), i.e. ab = pf for some nonzero element f ∈ R. If a and b are both non-units, then we can write their unique factorisations a = up1...pr and b = vq1...qs for unique irreducible elements pi and qj, and units u and v ∈ R. By unique factorisation, p = one of the pi's, or p = one of the qj's, or both. Hence either a ∈ (p) or b ∈ (p) or both. [Similar reasoning works if either a or b is a unit of R.] Thus, (p) is a prime ideal.
Lemma 2. If I is a nonzero prime ideal of R, then I is principal.
Proof. Given a nonzero, proper prime ideal, $I$, with some element $r\in I$, write $r= p_1\cdots p_n$ as a product of primes. By the primality of $I$ we know some $p_i\in I$. Since $p_i$ is prime, by assumption $(p_i)$ is maximal, so $(p_i)\subseteq I$ implies that $I=(p_i)$.
Proof of Proposition.
Following Alex's thread, let N be the set of non-principal ideals in R. Suppose that N is non-empty. N is a partially ordered set (with inclusion of ideals being the ordering relation). Any totally ordered subset of ideals J1 ⊆ J2 ⊆ ... in N has an upper bound, namely J = ∪ Ji. J is an ideal of R because the subset was totally ordered. If J = (x) for some x ∈ R, then x ∈ Ji for some i, and hence (x) = Ji. Contradiction. Thus, J ∈ N and by Zorn's Lemma, N has a maximal element. Call it n.
By Lemma 2, we see that n is not a prime ideal of R. Thus, there exist a, b ∈ R, such that a, b ∉ n, but ab ∈ n. But then n + (a) and n + (b) are ideals in R which are strictly bigger than n, and so must be principal ideals, i.e. n + (a) = (u) and n + (b) = (v) for u, v ∈ R. Then we have
n = n + (ab) = (n + (a)) (n + (b)) = (u)(v) = (uv). Contradiction.
Thus, N must be the empty set, i.e. all ideals in R are principal.
Best Answer
Factorisation of ideals in the ring of integers $\mathcal{O}_K$ of a quadratic number field $K=\mathbb{Q}(\sqrt{d})$ works as follows. Let $D$ be the discriminant, i.e., $D=d$ or $D=4d$.
Theorem: Let $p>2$ be a prime and $K$ a quadratic number field as above.
1.) If the Kronecker symbol $(D/p)=0$ then $(p)=(p,\sqrt{d})^2$ ramifies.
2.) If the Kronecker symbol $(D/p)=1$ then $(p)=P_1P_2$ splits, with two prime ideals $P_1,P_2$.
3.) If the Kronecker symbol $(D/p)=-1$ then $(p)$ is inert, i.e., remains prime.
In the second case, $P_1=(p, x+\sqrt{d})$ and $P_2=(p, x-\sqrt{d})$ with an integer $x$ such that $D\equiv x^2 (p)$. For $p=2$ there is a similar result.
This gives a formula how to factorize ideals, regardless whether or not $\mathcal{O}_K$ is a PID or UFD.