I get an incorrect syntax error in this SP

Incorrect syntax near key word case.

I think I may need to parenthasize somewhere but cant figure it out and my deadline is approaching fast, any help please.

VB Code:
  1. ALTER PROCEDURE dbo.sp_GetAvailableStockInLocationByType
  2.  
  3.     (
  4.         @Location integer,
  5.         @PK_StockTypeID integer
  6.     )
  7.  
  8. AS
  9.     /* SET NOCOUNT ON */
  10.    
  11.     select case @PK_StockTypeID
  12.     case  1
  13.      SELECT     StockItems.PK_StockItemID, CarriageStock.StockSerialNumber
  14.            FROM         CarriageStock INNER JOIN
  15.                                  StockItems ON CarriageStock.FK_StockItemID = StockItems.PK_StockItemID AND CarriageStock.FK_StockTypeID = StockItems.FK_StockTypeID
  16.            WHERE     (CarriageStock.FK_StockTypeID = @PK_StockTypeID) AND (StockItems.FK_ShippingStatus = 3) AND (StockItems.FK_CurrentSiteID = @Location)
  17.    
  18.     case  2
  19.     SELECT     StockItems.PK_StockItemID, RailStock.StockSerialNumber
  20.     FROM         RailStock INNER JOIN
  21.                           StockItems ON RailStock.FK_StockItemID = StockItems.PK_StockItemID AND RailStock.FK_StockTypeID = StockItems.FK_StockTypeID
  22.     WHERE     (StockItems.FK_ShippingStatus = 3) AND (StockItems.FK_StockTypeID = @PK_StockTypeID) AND (StockItems.FK_CurrentSiteID = @Location)
  23.  
  24.     case  3
  25.     SELECT    StockItems.PK_StockItemID, PlatformStock.StockSerialNumber
  26.     FROM         PlatformStock INNER JOIN
  27.                           StockItems ON PlatformStock.FK_StockItemID = StockItems.PK_StockItemID AND PlatformStock.FK_StockTypeID = StockItems.FK_StockTypeID
  28.     WHERE     (StockItems.FK_ShippingStatus = 3) AND (StockItems.FK_StockTypeID = @PK_StockTypeID) AND (StockItems.FK_CurrentSiteID = @Location)
  29.  
  30.     end
  31.  
  32.     RETURN