Equivalence in Portmanteau's lemma I'm trying to understand the proof of one of the equivalences in Portmanteau's lemma. The equivalence (or implication rather, as that's what I'm trying to prove) is this:

For any random vectors $X_n$ and $X$, the following statements are equivalent:
(i) $P(X_n\leq x) \to P(X\leq x)$ for all continuity points of $x \mapsto P(X\leq x)$;
(ii) $Ef(X_n)\to Ef(X)$ for all bounded, continuous functions $f$.

The proof I'm trying to understand is for showing that (i) implies (ii). It starts like this.

First, we assume that the distribution function of $X$ is continuous.
  Then for every rectangle $I$, condition (i) implies that $P(X_n\in
> I)\to P(X\in I)$. We choose a (sufficiently large) compact rectangle
  $I$ with $P(X \not\in I)<\epsilon$. A continuous function $f$ is
  uniformly continuous on the compact set $I$, and there exists a
  partition $I=\cup_j I_j$ into finitely many rectangles $I_j$ such that
  $f$ varies at most $\epsilon$ on every $I_j$. We take a point $x_j$
  from each $I_j$ and define $f_\epsilon=\sum_j f(x_j)1_{I_j}$. Then
  $|f-f_\epsilon|<\epsilon$ on $I$.

At this point, my book says "whence if $f$ takes its values in $[-1, 1]$" which I'm uncertain how to interpret. In any case, this leads to the following:
$$
|Ef(X_n)-Ef_\epsilon(X_n)|\leq \epsilon + P(X_n\not\in I)\\
|Ef(X)-Ef_\epsilon(X)|\leq \epsilon + P(X\not\in I)<2\epsilon,\\
|Ef_\epsilon(X_n)-Ef_\epsilon(X)|\leq \sum_j|P(X_n\in I)-P(X\in I_j)||f(x_j)|\to 0.
$$
My problem is how to show how the first (and second) line arise. Mainly, I am a bit confused as to how the function $f_\epsilon$ should be treated. From my lecture notes I have the following:
$$
|Ef(X_n)-Ef_\epsilon(X_n)|\leq\int_I|f(X_n)-f_\epsilon(X_n)|dP^{X_n}+\int_{I^c}|f(X_n)-f_\epsilon(X_n)|dP^{X_n}
$$
where the first term is said to be $\leq \epsilon$ and the second $\leq P(X_n\in I^c)$. But how do I show this? From the construction of $f_\epsilon$ we know that $|f-f_\epsilon|<\epsilon$ on $I$, but does that really mean that the integral on $I$ is $\leq \epsilon$? Furthermore, am I right in saying that $f_\epsilon(X_n)$ in the second integral is $0$ since we're outside of $I$? If someone could help me with that first inequality I would be very grateful, as I think that would clarify a lot for me.

An attempt, please correct me if I'm wrong.
For the first part of the inequality, we know that $|f-f_\epsilon|<\epsilon$ on $I$. Hence, $\epsilon$ is the maximum distance and thus
$$
\int_I |f(X_n)-f_\epsilon(X_n)|dP^{X_n}\leq \int_I\epsilon dP^{X_n}=\epsilon P(X_n\in I)\leq \epsilon.
$$
For the second part, the "$f$ takes values in $[-1, 1]$" comes into play, since
$$
\int_{I^c}|f(X_n)-f_\epsilon(X_n)|dP^{X_n}=\int_{I^c}|f(X_n)|dP^{X_n}\leq P(X_n\in I^c)
$$
by a similar argument (i.e. |$f(X_n)$| is at most $1$). 
 A: For your first hesitation: we can take $f$ to have values in $[-1,1]$ because we are already assuming $f$ is bounded. Thus, if $M = \sup_x |f(x)|$, $f/M$ does take values in $[-1,1]$. The constant $M$ does no harm because $E[f(X)/M) = \frac{1}{M}E[f(X)]$, so the general case of values in $[-M,M]$ follows immediately from the $[-1,1]$ case.
For the  question about the inequality, if you agree that $|f - f_\epsilon| < \epsilon$ on $I$,
\begin{align*}
|Ef(X_n) - Ef_\epsilon(X_n)| &= \left|\int_\Omega f - f_\epsilon dP^{X_n}\right|\\
&=\left|\int_I f-f_\epsilon dP^{X_n} + \int_{I^c} f-f_\epsilon dP^{X_n}\right| \\
&\leq \int_I |f-f_\epsilon| dP^{X_n} + \int_{I^c} |f-f_\epsilon| dP^{X_n}.
\end{align*}
If we agree that $|f-f_\epsilon| < \epsilon$ on $I$, then it does really mean the integral over $I$ is less than $\epsilon$ because $I$ has measure at most $1$ (whereas you might be thinking of $I$ in terms of area in the Lebesgue sense...): 
$$\int_I |f-f_\epsilon| dP^{X_n} \leq \int_I \epsilon dP^{X_n} \leq \epsilon \int_\Omega dP^{X_n} = \epsilon\cdot 1.$$
For the second term, notice that on $I^c$, $f_\epsilon \equiv 0$. Then, by the comment about $f$ being bounded, 
$$\int_{I^c} |f-f_\epsilon| dP^{X_n} \leq \int_{I^c} dP^{X_n} = P(X_n \notin I).$$
Does this help?
