Collision Detection

Hey there.
I’m currently thinking of an algorithm for a collision detection.
I want to implement various tile-collisions…

  public static final byte COLL_THROUGH = 0;
  public static final byte COLL_SOLID = 1;
  public static final byte COLL_SLOPE_R = 2;
  public static final byte COLL_SLOPE_L = 3;
  public static final byte COLL_12SLOPE_R = 4;
  public static final byte COLL_22SLOPE_R = 5;
  public static final byte COLL_12SLOPE_L = 6;
  public static final byte COLL_22SLOPE_L = 7;
  public static final byte COLL_14SLOPE_R = 8;
  public static final byte COLL_24SLOPE_R = 9;
  public static final byte COLL_34SLOPE_R = 10;
  public static final byte COLL_44SLOPE_R = 11;
  public static final byte COLL_14SLOPE_L = 12;
  public static final byte COLL_24SLOPE_L = 13;
  public static final byte COLL_34SLOPE_L = 14;
  public static final byte COLL_44SLOPE_L = 15;
  public static final byte COLL_STAIR_R = 16;
  public static final byte COLL_STAIR_L = 17;
  public static final byte COLL_14 = 18;
  public static final byte COLL_24 = 19;
  public static final byte COLL_34 = 20;
  public static final byte COLL_WATER_SURFACE = 21;
  public static final byte COLL_UNDERWATER = 22;

Here for a graphical visualisation:

https://dl.dropboxusercontent.com/u/13341521/TestTileset.png

Does someone have an Idea how I should start with this?
I’ve never done something like that before…