How to identify the edges between a set of communities

Given:

CommunityGraphPlot[   ExampleData[{"NetworkGraph", "DolphinSocialNetwork"}]] 

I like to identify:

  1. The edges between each pair of communities;
  2. In the context of a weighted network, find out the weights associated with the edges in (1); and
  3. Combining all the communities in a single weighted adjacency matrix in which the edge weights between the communities are set to zero.