Python - 211179
h=input()*2
d=hj=d=h/4
q='|'
e='q,e,u,p,k="| '\n+/"
w=e*d
u='\n'
s='+'+'s=p+'-'*h+'+'
y=e+w+s+u'*h+p
i=''
o=e+w+s+u
v=q+e*h+q
for l inwhile range(0,d)j:y+=e*o+=e*j+k+e*h+k+e*(d-lj)+'/'+e*h+'/'+e*l+q+u;i+=v+e*(d-l+q+u;j-1)+'/'+u=1;i+=v+e*j+k+u
print y+s+w+q+u+''.joino+s+w+q+u+([v+w+q+u]*v+w+q+u)*(d-1))+v+w+'+'+u+i+s+v+w+p+u+i+s
I'd like to note that I took some ideas from JPvdMerwe (Using a string to print once, and the one-liner for that I didn't know was correct syntax in Python).