##
## Utility API
#set ($propertyUtil = $sitevisionUtils.propertyUtil)
#set ($outputUtil = $sitevisionUtils.outputUtil)
#set ($portletContextUtil = $sitevisionUtils.portletContextUtil)
#set ($resourceLocatorUtil = $sitevisionUtils.resourceLocatorUtil)
#set ($scriptUtil = $sitevisionUtils.scriptUtil)
#set ($endecUtil = $sitevisionUtils.endecUtil)
#set ($dateUtil = $sitevisionUtils.dateUtil)

##
## Portlet properties
#set ($bundle = $propertyUtil.getNode($portlet, 'bundle'))
#set ($headingNode = $propertyUtil.getNode($portlet, 'searchHitHeadingFont'))
#set ($headingClass = $propertyUtil.getString($headingNode, 'selectorText'))
#set ($excerptClass = $propertyUtil.getNestedString($portlet, 'searchHitExcerptFont', 'selectorText'))
#set ($infoClass = $propertyUtil.getNestedString($portlet, 'searchHitInfoFont', 'selectorText'))
#set ($excerptLength = $propertyUtil.getInt($portlet, 'searchHitExcerptLength', 250))
#set ($showSearchHitInfo = $propertyUtil.getBoolean($portlet, 'showSearchHitInfo'))
#set ($showSearchHitPath = $propertyUtil.getBoolean($portlet, 'showSearchHitPath'))
#set ($headingField = $propertyUtil.getString($portlet, 'headingField'))

##
## Index field names
#set ($displayField = $propertyUtil.getString($portlet, $headingField))
#set ($urlField = $propertyUtil.getString($portlet, 'urlField'))
#set ($uriField = $propertyUtil.getString($portlet, 'uriField'))
#set ($siteField = $propertyUtil.getString($portlet, 'siteField'))
#set ($summaryField = $propertyUtil.getString($portlet, 'summaryField'))
#set ($lastUpdatedField = $propertyUtil.getString($portlet, 'lastPublishedField'))
#set ($sizeField = $propertyUtil.getString($portlet, 'sizeField'))
#set ($mimtypeField = $propertyUtil.getString($portlet, 'mimetypeField'))

#set ($thisSiteId = $resourceLocatorUtil.site.identifier)
#if ($thisSiteId.endsWith('_site'))
   #set ($idEnd = $thisSiteId.length() - 5)
   #set ($thisSiteId = $thisSiteId.substring(0, $idEnd))
#end

## Init background coloring and left padding for list item
#if ($propertyUtil.getBoolean($portlet, 'useSearchHitBackgroundColor'))
   #set ($colorNode = $propertyUtil.getNode($portlet, 'searchHitBackgroundColor'))
   #set ($flipColors = "true")
   #set ($oddColor = "; background-color:${propertyUtil.getString($colorNode, 'htmlHexValue')}")
   #set ($bgColor = $oddColor)
   #set ($itemLeftPadding = '0.5em')
#else
   #set ($bgColor = '')
   #set ($itemLeftPadding = '0')
#end

## Init count start
#set ($hitCountStart = $propertyUtil.getInt($portlet, 'startAtHit', 0))
#set ($displayHitNumbering = $propertyUtil.getBoolean($portlet, 'showSearchHitNumbering', false))
#set ($listStart = $hitCountStart + 1)
#if ($docTypeUtil)
   #set ($startIsValid = !$docTypeUtil.isXhtmlStrict())
#else
   #set ($docTypeUtil = $sitevisionUtils.docTypeUtil)
   #set ($startIsValid = !$docTypeUtil.isXhtmlStrict())
#end

## Init link+icon renderers and counter class
#set ($linkRenderer = $sitevisionUtils.linkRenderer)
#set ($linkRendererClass = $headingClass)
#set ($counterClass = $headingClass)
#set ($renderIcons = $propertyUtil.getBoolean($portlet, 'showFileIcons', false))
#if ($renderIcons)
   #set ($iconRenderer = $sitevisionUtils.fileIconRenderer)
   $iconRenderer.clearUseSmallIcons()
   #set ($renderIcons = $iconRenderer.loadDefaultIconByFileExtension('default'))
   #if ($renderIcons)
      $iconRenderer.setFontClass('sv-noborder-vamiddle')
      $linkRenderer.clearUseResourceDecorationSettings()
      #set ($linkRendererClass = $linkRendererClass + ' env-align--middle')
      #set ($counterClass = $counterClass + ' env-align--middle')
   #end
#end
$linkRenderer.setFontClass($linkRendererClass)

#set ($datePattern = $dateUtil.getEditorFormatPattern(${portletContextUtil.currentLocale}))
#set ($itemSpacing = '0.5em')

##
## NOTE! This div is potentially updated via AJAX by the pagination script
#set ($isAjaxPagingResult = $propertyUtil.getBoolean($portlet, 'isRenderingAjaxPagingResult'))
#if (!$isAjaxPagingResult)
<div class="$hitsDivClass" aria-live="polite">
#end

##
## Render facets and custom sorting
#if ($propertyUtil.getBoolean($portlet, 'hasFacetsToRender') || $propertyUtil.getBoolean($portlet, 'hasCustomSortsToRender'))
   #set ($facetsAndSortingTemplate = $propertyUtil.getNestedString($portlet, 'templates', 'facetsTemplate'))
   $velocityEvaluator.evaluate($facetsAndSortingTemplate)
#end
#set ($searchInputId = $portletContextUtil.getPortletNamespace('search') + '_facetSearch')

##
## Render hits




<div id="$searchInputId" class="search-right-side sv-column-8 sv-push-4">


<ol #if($startIsValid) start="$listStart"#end class="sv-search-result env-m-left--0 env-p-left--0" style="margin-top:0.7em; list-style-type:none;">
   #foreach ($hit in $searchResult.hits)
   #set ($e-serviceType = $propertyUtil.getString($hit.getNode(), 'type-of-e-service'))
	#set ($serviceCategory = $propertyUtil.getString($hit.getNode(), 'service-kat'))
   
   
   
   <li class="sv-search-hit sv-corner-all env-m-left--0" style="padding-left:${itemLeftPadding}; padding-top:0.5em; padding-bottom:0.5em${bgColor}">
      #if ($serviceCategory == 'Barn och utbildning')
  		<img src="/images/18.5000d2f4191d59de540d1110/1727267002072/Barn%20och%20utbildning.svg" alt="ikon">
      <span class="service-cat-tag">Barn och utbildning</span>
   #end
   
   #if ($serviceCategory == 'Bygga, bo och miljö')
   	<img src="/images/18.5000d2f4191d59de540d156d/1727268496951/Bygga,%20bo%20och%20milj%C3%B6.svg" alt="ikon">
      <span class="service-cat-tag">Bygga, bo och miljö</span>
   #end
   
   #if ($serviceCategory == 'Kommun och politik')
   	<img src="/images/18.5000d2f4191d59de540ea7ff/1727430711952/Politik%20bl%C3%A5.svg" alt="ikon">
      <span class="service-cat-tag">Kommun och politik</span>
   #end
   
   #if ($serviceCategory == 'Näringsliv och arbete')
      <img src="/images/18.5000d2f4191d59de540ea7c1/1727430687771/N%C3%A4ringsliv%20och%20arbete%20bl%C3%A5.svg" alt="ikon">
      <span class="service-cat-tag">Näringsliv och arbete</span>
   #end
   
   #if ($serviceCategory == 'Omsorg och stöd')
      <img src="/images/18.5000d2f4191d59de540ea967/1727431021692/omsorg%20och%20st%C3%B6d%20bl%C3%A5.svg" alt="ikon">
      <span class="service-cat-tag">Omsorg och stöd</span>
   #end   
   
   #if ($serviceCategory == 'Trafik och infrastruktur')
         <img src="/images/18.5000d2f4191d59de540ea804/1727430776314/Trafik%20och%20infratruktur%20bl%C3%A5.svg" alt="ikon">
         <span class="service-cat-tag">Trafik och infrastruktur</span>
   #end
   
   #if ($serviceCategory == 'Uppleva och göra')
         <img src="/images/18.5000d2f4191d59de540ea803/1727430742512/Uppleva%20och%20g%C3%B6ra%20bl%C3%A5.svg" alt="ikon">
          <span class="service-cat-tag">Uppleva och göra</span>
   #end
      
      
      ##
      ## Heading
      #set ($hitHeading = $scriptUtil.getNonNull($hit.getField($displayField)))
      #if ($hitHeading)
      <div class="env-m-top--0" aria-live="polite" tabindex="0">
         #if ($displayHitNumbering)
            #set ($counter = $hitCountStart + $velocityCount)
         #end
         #set ($target = $scriptUtil.getNonNull($hit.getField($urlField)))
         #if ($target)
            #if ($thisSiteId == $hit.getField($siteField))
               #set ($target = $scriptUtil.getNonNull($hit.getField($uriField), $target))
            #end
            $linkRenderer.setStringTarget($target)
            $linkRenderer.setOnclick($hit.clickTrackingCallback)
            $linkRenderer.setText($hitHeading)
            #if ($renderIcons)
               $scriptUtil.swallow($iconRenderer.loadIconByContentType($hit.getField($mimtypeField)))
               $iconRenderer.render()
            #end
            #if ($displayHitNumbering)
               <span class="$counterClass">${counter}.</span>
            #end
             		$linkRenderer.render()
         
         
         #else
            #if ($displayHitNumbering)
               <span class="$counterClass">${counter}.</span>
            #end
            $outputUtil.getEscapedHtmlText($hitHeading, $headingNode)
         #end
      </div>
      #end

      ##
      ## Summary (could be highlighted)
      #set ($summaryFieldValue = $scriptUtil.getNonNull(${hit.getHighlightedField($summaryField, $excerptLength)}))
      #if ($summaryFieldValue)
         <p class="$excerptClass" style="margin-top:${itemSpacing}">$summaryFieldValue</p>
      #end
      
      #if ($e-serviceType  == 'E-tjänst')
      	<div class="type-of-e-service e-service">
      		Till e-tjänst   
      	</div>
      #end
      
      #if ($e-serviceType  == 'Blankett')
      	<div class="type-of-e-service blankett">
      		Till blankett   
      	</div>
      #end
     

      #set ($infoText = '')
      #if ($showSearchHitInfo)
         #if ($hit.getDateField($lastUpdatedField))
            #set ($modifiedDate = $hit.getDateField($lastUpdatedField))
            #set ($infoText = $propertyUtil.getString($bundle, 'lastModifiedText') + ' ' + $dateUtil.getDateAsString($datePattern, $modifiedDate))
         #end

         #if ($hit.getLongField($sizeField))
            #set ($longSize = $hit.getLongField($sizeField))
            #set ($humanSize = $scriptUtil.getHumanPresentableSize($longSize))
            #if ($infoText != '')
               #set ($infoText = $infoText + ' &bull; ' + $propertyUtil.getString($bundle, 'sizeText') + ' ' + $humanSize)
            #else
               #set ($infoText = $propertyUtil.getString($bundle, 'sizeText') + ' ' + $humanSize)
            #end
         #end
      #end

      #set ($pathText = '')
      #if ($showSearchHitPath)
         #if ($hit.node)
            #if ($pathLinkRenderer)
               ## Do nothing, renderer and path class already created!
            #else
               #set ($pathLinkRenderer = $sitevisionUtils.linkRenderer)
               $pathLinkRenderer.forceUseCrossSiteTargetChecking()
               $pathLinkRenderer.clearUseLinkDecorationSettings()
               #set ($pathClass = $propertyUtil.getNestedString($portlet, 'searchHitPathFont', 'selectorText'))
            #end
            #set ($pathText = $outputUtil.renderWebPathNodes($hit.node, $pathLinkRenderer, ' / '))
         #end
      #end

      #if ($infoText != '' && $pathText != '')
         <div style="margin-top:${itemSpacing}">
            <span class="$infoClass">$infoText</span><br />
            <span class="$pathClass">$pathText</span>
         </div>
      #elseif ($infoText != '')
         <p class="$infoClass" style="margin-top:${itemSpacing}">$infoText</p>
      #elseif ($pathText != '')
         <p class="$pathClass" style="margin-top:${itemSpacing}">$pathText</p>
      #end
   </li>
   
   
   
   #if ($flipColors)
      #if ($bgColor == '')
        #set ($bgColor = $oddColor)
      #else
        #set ($bgColor = '')
      #end
   #end
#end
</ol>

</div>

#if (!$isAjaxPagingResult)
</div>
#end
