@inherits Umbraco.Web.Macros.PartialViewMacroPage
@*
    Macro to display a gallery of images from media the media section.
    Works with either a 'Single Media Picker' or a 'Multiple Media Picker' macro parameter (see below).

    How it works:
        - Confirm the macro parameter has been passed in with a value
        - Loop through all the media Id's passed in (might be a single item, might be many)
        - Display any individual images, as well as any folders of images

    Macro Parameters To Create, for this macro to work:
    Alias:mediaIds     Name:Select folders and/or images    Type: Multiple Media Picker
                                                            Type: (note: you can use a Single Media Picker if that's more appropriate to your needs)
*@

@{ var mediaIds = Model.MacroParameters["mediaIds"]; }
@if (mediaIds != null)
{
    <ul class="thumbnails">
        @foreach (var mediaId in mediaIds.ToString().Split(','))
        {
            var media = Umbraco.Media(mediaId);

            @* a single image *@
            if (media.DocumentTypeAlias == "Image")
            {
                @Render(media);
            }

            @* a folder with images under it *@
            if (media.Children("Image").Any())
            {
                foreach (var image in media.Children("Image"))
                {
                    @Render(image);
                }
            }

        }
    </ul>
}

@helper Render(dynamic item)
{
    <li class="span2">
        <a href="@item.umbracoFile.src" class="thumbnail">
            <img src="@item.umbracoFile.src" alt="@item.Name" />
        </a>
    </li>
}