Critical phenomena in semi-infinite systems