## --------------------------------------------------
## SETTING THE DEFAULT NUMBER OF RESULTS ------------
## --------------------------------------------------
#if (!$UtilMethods.isSet($numberOfResults))
  #set($numberOfResults = 5)
#end

## --------------------------------------------------
## SETTING THE SORT ORDER ---------------------------
## --------------------------------------------------
#set ($sortBy = "modDate desc")
#if ($sortResultsBy == "title")
  #set ($sortBy = "Courses.title $sortOrder1")
#elseif ($sortResultsBy == "date")
  #set ($sortBy = "modDate $sortOrder1")
#end

## --------------------------------------------------
## FILTER BY CATEGORIES -----------------------------
## --------------------------------------------------
#set($catsQuery = "")
#foreach ($catInode in $courseCategory)
  #if ($velocityCount == 1)
    #set($catsQuery = "categories:$categories.getCategoryByInode($catInode).categoryVelocityVarName")
  #else
    #set($catsQuery = "$catsQuery categories:$categories.getCategoryByInode($catInode).categoryVelocityVarName")
  #end
#end
#if ($UtilMethods.isSet($catsQuery))
  #set($catsQuery = "+($catsQuery)")
#end

#set($ignoreQuery="")
#if($UtilMethods.isSet($URLMapContent.inode))

    #set($ignoreQuery="-inode:$URLMapContent.inode")
#end

## --------------------------------------------------
## FILTERS BY TAGS ----------------------------------
## --------------------------------------------------
#set($tagsQuery = "")
#if ($UtilMethods.isSet($tagsFilter))
  #foreach ($tag in $tagsFilter.split(','))
    #if ($velocityCount == 1)
      #set($tagsQuery = "+Courses.tags:$tag")
    #else
      #set($tagsQuery = "$tag +Courses.tags:$tag")
    #end
  #end
#end

## --------------------------------------------------
## SETTING PAGINATED RESULTS ------------------------
## --------------------------------------------------
#if($pagination.contains('true'))
  ## SETTING ITEMS PER PAGE
  #if ($UtilMethods.isSet($itemsPerPage))
    #set($itemsPerPage = $webapi.parseInt($itemsPerPage))
  #else
    #set($itemsPerPage = 5)
  #end

  ## GETTING PAGE NUMBER
  #if($UtilMethods.isSet($request.getParameter('page')))
    #set($page = $webapi.parseInt($request.getParameter('page')))
  #else
    #set($page = 1)
  #end
#end

#if($pagination.contains('true'))
  #set($coursesListing = $dotcontent.pullPerPage("+structureName:Courses +(conhost:$host.identifier) $!{catsQuery} $!{tagsQuery} ${ignoreQuery}",$math.toInteger(${page}),$math.toInteger(${itemsPerPage}),"$!{sortBy}"))
#else
  #set($coursesListing = $dotcontent.pull("+structureName:Courses +(conhost:$host.identifier) $!{catsQuery} $!{tagsQuery} ${ignoreQuery}",$math.toInteger(${numberOfResults}),"$!{sortBy}"))
#end

#if ($UtilMethods.isSet($headline))
  #if (!$UtilMethods.isSet($headlineType))
    #set ($headlineType = '1')
  #end
  <h$!{headlineType} class="courses-listing-headline">$!{headline}</h$!{headlineType}>
#end

#if($coursesListing.size() > 0)
  <ul class="course-list">
  #foreach ($coursesItem in $coursesListing)
    <li class="course-item">
        #editContentlet($coursesItem.inode)
          #if($fieldsToDisplay.contains('title') && $UtilMethods.isSet($coursesItem.urlTitle))
            <h3><a href="/courses/$!{coursesItem.urlTitle}">$!{coursesItem.title}</a></h3>
          #end
          #if($fieldsToDisplay.contains('credits') && $UtilMethods.isSet($coursesItem.credits) || $fieldsToDisplay.contains('semester') && $UtilMethods.isSet($coursesItem.semester))
            <p class="course-date">
              #if($UtilMethods.isSet($coursesItem.credits))Credits: $coursesItem.credits #end #if($UtilMethods.isSet($coursesItem.credits) && $UtilMethods.isSet($coursesItem.semester))<br>#end
              #if($UtilMethods.isSet($coursesItem.semester))$coursesItem.semester #end
            </p>
          #end
          #if ($fieldsToDisplay.contains('summary') && $UtilMethods.isSet($coursesItem.summary))
            <p class="summary">$!{coursesItem.summary}</p>
          #end
    </li>
  #end
  </ul>
  #if($pagination.contains('true') && $coursesListing.totalPages > 1)
      <ul class="pagination">
        #if($coursesListing.previousPage)
          <li><a href="/courses/?page=$!{math.sub($page, 1)}">&laquo;</a></li>
        #end
        #foreach($i in [1..$coursesListing.totalPages])
          <li #if($page == $velocityCount)class="active"#end><a href="/courses/?page=${velocityCount}">$velocityCount</a></li>
        #end
        #if($coursesListing.nextPage)
          <li><a href="/courses/?page=$!{math.add($page, 1)}">&raquo;</a></li>
        #end
      </ul>
  #end
#else
  <p>There are no courses at this time.</p>
#end