1) Plot
can plot several functions in the same plot
Plot[{fun[x], recon[x]}, {x, x1, x2}]

Use FirstPosition
to locate the position of the first Cos
and Sin
firstCos = FirstPosition[recon[x], _Cos] // First
firstSin = FirstPosition[recon[x], _Sin] // First
fiveCos = recon[x][[firstCos ;; firstCos + 4]]
fiveSin = recon[x][[firstSin ;; firstSin + 4]]
recon5[x_] = recon[x][[;; firstCos - 1]] + fiveCos + fiveSin
Plot[{fun[x], recon5[x]}, {x, x1, x2}]

2)
NIntegrate[fun[x]*Cos[x], {x, x1, x2}] (* Change limits as needed *)
(* 0.000955089 *)
3) For the manipulate, parameterize the extraction of n
terms as was done for 5 terms above. Try it and if you get stuck, post what you tried.