Widths of weighted sobolev classes on a John domain