#import sickbeard
#import datetime
#from sickbeard.common import *
#from sickbeard import sbdatetime

#set global $title="Coming Episodes"
#set global $header="Coming Episodes"

#set global $sbPath=".."

#set global $topmenu="comingEpisodes"
#import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
#set $sort = $sickbeard.COMING_EPS_SORT
<script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script>
#if $varExists('header') 
	<h1 class="header">$header</h1>
#else 
	<h1 class="title">$title</h1>
#end if

<style type="text/css">
.sort_data {display:none}
</style>

<div class="h2footer align-right">
    <b>Key:</b> 
    <span class="listing_overdue">Missed</span>
    <span class="listing_current">Current</span>
    <span class="listing_default">Future</span>
    <span class="listing_toofar">Distant</span>
	<a class="btn btn-mini btn-inverse forceBacklog" href="webcal://$sbHost:$sbHttpPort/calendar">
	<i class="icon-calendar icon-white"></i>Subscribe</a>    
    <!-- <span class="listing_unknown">Unknown</span> //-->
</div>

#if $layout == 'list':
<!-- start list view //-->
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
<script type="text/javascript" charset="utf-8">
<!--
\$.tablesorter.addParser({
    id: 'loadingNames',
    is: function(s) {
        return false;
    },
    format: function(s) {
        if (s.indexOf('Loading...') == 0)
            return s.replace('Loading...','000');
		#if not $sickbeard.SORT_ARTICLE:
			return (s || '').replace(/^(The|A|An)\s/i,'');
		#else:
			return (s || '');
		#end if		
    },
    type: 'text'
});
\$.tablesorter.addParser({
    id: 'quality',
    is: function(s) {
        return false;
    },
    format: function(s) {
        return s.replace('hd1080p',5).replace('hd720p',4).replace('hd',3).replace('sd',2).replace('any',1).replace('best',0).replace('custom',7);
    },
    type: 'numeric'
});
\$.tablesorter.addParser({
    id: 'cDate',
    is: function(s) {
        return false;
    },
    format: function(s) {
        return s; 
    },
    type: 'numeric'
});

\$(document).ready(function(){

#set $sort_codes = {'date': 0, 'show': 1, 'network': 4}
#if $sort not in $sort_codes:
    $sort = 'date'
#end if
        sortList = [[$sort_codes[$sort],0]];

    \$("#showListTable:has(tbody tr)").tablesorter({
        widgets: ['stickyHeaders'],
        sortList: sortList,
        textExtraction: {
            0: function(node) { return \$(node).find("span").text().toLowerCase(); },
            4: function(node) { return \$(node).find("img").attr("alt"); },
            5: function(node) { return \$(node).find("span").text().toLowerCase(); }
        },
        headers: {
            0: { sorter: 'cDate' },
            1: { sorter: 'loadingNames' },
            2: { sorter: false },
            3: { sorter: false },
            4: { sorter: 'loadingNames' },
            5: { sorter: 'quality' },
            6: { sorter: false },
            7: { sorter: false },
            8: { sorter: false }
        }
    });

    \$('#sbRoot').ajaxEpSearch();

    #set $fuzzydate = 'airdate'
    #if $sickbeard.FUZZY_DATING:
    fuzzyMoment({
        containerClass : '.${fuzzydate}',
        dateHasTime : true,
        dateFormat : '${sickbeard.DATE_PRESET}',
        timeFormat : '${sickbeard.TIME_PRESET}',
        trimZero : #if $sickbeard.TRIM_ZERO then "true" else "false"#
    });
    #end if

});
//-->
</script>

    #set $show_div = "listing_default"

<input type="hidden" id="sbRoot" value="$sbRoot" />

    <table id="showListTable" class="sickbeardTable tablesorter" cellspacing="1" border="0" cellpadding="0">
    <thead><tr><th>Airdate</th><th>Show</th><th class="nowrap">Next Ep</th><th>Next Ep Name</th><th>Network</th><th>Quality</th><th>IMDb</th><th>Indexer</th><th>Search</th></tr></thead>
    <tbody>

    #for $cur_result in $sql_results:
        #set $cur_indexer = int($cur_result["indexer"])
        #set $runtime = $cur_result["runtime"]

        #if int($cur_result["paused"]) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
            #continue
        #end if

        #set $cur_ep_airdate = $cur_result["localtime"].date()

        #if $runtime:
            #set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime)
            #if $cur_ep_enddate < $today:
                #set $show_div = "listing_overdue"
            #elif $cur_ep_airdate >= $next_week.date():
                #set $show_div = "listing_toofar"
            #elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date():
                #if $cur_ep_airdate == $today.date():
                    #set $show_div = "listing_current"
                #else:
                    #set $show_div = "listing_default"
                #end if
            #end if
        #end if

    <!-- start $cur_result["show_name"] //-->
      <tr class="$show_div">
        ## forced to use a div to wrap airdate, the column sort went crazy with a span
        <td align="center" class="nowrap"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($cur_result["localtime"]).decode($sickbeard.SYS_ENCODING)</div><span class="sort_data">$time.mktime($cur_result["localtime"].timetuple())</span></td>
        <td class="tvShow"><a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}">$cur_result["show_name"]</a>
            #if int($cur_result["paused"]):
            <span class="pause">[paused]</span>
            #end if
        </td>
        <td class="nowrap" align="center" style="color: #555555; font-size: 16px;"><b><%="%02ix%02i" % (int(cur_result["season"]), int(cur_result["episode"])) %></b></td>
        <td>
        #if $cur_result["description"] != "" and $cur_result["description"] != None:
            <img alt="" src="$sbRoot/images/info32.png" height="16" width="16" class="plotInfo" id="plot_info_<%=str(cur_result["showid"])+"_"+str(cur_result["season"])+"_"+str(cur_result["episode"])%>" style="padding-top: 6px;"/>
        #end if
            $cur_result["name"]
        </td>
        <td align="center">$cur_result["network"]</td>
        <td align="center">
#if int($cur_result["quality"]) in $qualityPresets:
    <span class="quality $qualityPresetStrings[int($cur_result["quality"])]">$qualityPresetStrings[int($cur_result["quality"])]</span>
#else:
    <span class="quality Custom">Custom</span>
#end if
        </td>
        <td align="center">
        #if $cur_result["imdb_id"]: 
        	<a href="http://www.imdb.com/title/${cur_result["imdb_id"]}" onclick="window.open(this.href, '_blank'); return false;" title="http://www.imdb.com/title/${cur_result["imdb_id"]}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" /> 
        #end if
        </td>
        <td align="center"><a href="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}"
        rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href,
        '_blank'); return false;" title="$sickbeard.indexerApi($cur_indexer)
        .config["show_url"]${cur_result["showid"]}"><img alt="$sickbeard.indexerApi($cur_indexer)
        .name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config["icon"]"
        /></a></td>
        <td align="center">
        <a href="$sbRoot/home/searchEpisode?show=${cur_result["showid"]}&amp;season=$cur_result["season"]&amp;episode=$cur_result["episode"]" title="Manual Search" id="forceUpdate-${cur_result["showid"]}" class="forceUpdate epSearch"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search32.png" id="forceUpdateImage-${cur_result["showid"]}" /></a>
        </td>
      </tr>
    <!-- end $cur_result["show_name"] //-->
    #end for
    </tbody>
    </table>
<!-- end list view //-->
#else:
<!-- start non list view //-->
<script type="text/javascript" charset="utf-8">
<!--
\$(document).ready(function(){ 
  \$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16.gif'});
  \$(".ep_summary").hide();
  \$(".ep_summaryTrigger").click(function() {
    \$(this).next(".ep_summary").slideToggle('normal', function() {
        \$(this).prev(".ep_summaryTrigger").attr('src', function(i, src) {
            return \$(this).next(".ep_summary").is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus');
        });
    });
  });
});
//-->
</script>

    #set $cur_segment = None
    #set $too_late_header = False
    #set $missed_header = False
    #set $today_header = False
    #set $show_div = "ep_listing listing_default"

    #if $sort == "show": 
       <br /><br />
    #end if
    
    #for $cur_result in $sql_results:
        #set $cur_indexer = int($cur_result["indexer"])

    <!-- start $cur_result["show_name"] //-->
        
        #if int($cur_result["paused"]) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
            #continue
        #end if

        #set $runtime = $cur_result["runtime"]

        #if $sort == "network":
            #if $cur_result["network"] and $cur_segment != $cur_result["network"]:
                <h1 class="network">$cur_result["network"]</h1>
                #set $cur_segment = $cur_result["network"]
            #end if
            #set $cur_ep_airdate = $cur_result["localtime"].date()

            #if $runtime:
                #set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime)
                #if $cur_ep_enddate < $today:
                    #set $show_div = "ep_listing listing_overdue"
                #elif $cur_ep_airdate >= $next_week.date():
                    #set $show_div = "ep_listing listing_toofar"
                #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
                    #if $cur_ep_airdate == $today.date():
                        #set $show_div = "ep_listing listing_current"
                    #else:
                        #set $show_div = "ep_listing listing_default"
                    #end if
                #end if
            #end if
        #elif $sort == "date":
            #set $cur_ep_airdate = $cur_result["localtime"].date()

            #if $cur_segment != $cur_ep_airdate:
                #if $runtime:
                    #set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime)
                    #if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header:
                        <br /><h1 class="day">Missed</h1>
                        #set $missed_header = True
                    #elif $cur_ep_airdate >= $next_week.date() and not $too_late_header:
                        <br /><h1 class="day">Later</h1>
                        #set $too_late_header = True
                    #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
                        #if $cur_ep_airdate == $today.date():
                            <br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 12px;">[today]</span></h1>
                        #set $today_header = True
                        #else:
                            <br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize()</h1>
                        #end if
                    #end if
                #end if
                #set $cur_segment = $cur_ep_airdate
            #end if
            #if $cur_ep_airdate == $today.date() and not $today_header:
                <br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 12px;">[today]</span></h1>
                #set $today_header = True
            #end if
            #if $cur_ep_enddate < $today:
                #set $show_div = "ep_listing listing_overdue"
            #elif $cur_ep_airdate >= $next_week.date():
                #set $show_div = "ep_listing listing_toofar"
            #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
                #if $cur_ep_airdate == $today.date():
                    #set $show_div = "ep_listing listing_current"
                #else:
                    #set $show_div = "ep_listing listing_default"
                #end if
            #end if
        #elif $sort == "show":
            #set $cur_ep_airdate = $cur_result["localtime"].date()

            #if $runtime:
                #set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime)
                #if $cur_ep_enddate < $today:
                    #set $show_div = "ep_listing listing_overdue"
                #elif $cur_ep_airdate >= $next_week.date():
                    #set $show_div = "ep_listing listing_toofar"
                #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
                    #if $cur_ep_airdate == $today.date():
                        #set $show_div = "ep_listing listing_current"
                    #else:
                        #set $show_div = "ep_listing listing_default"
                    #end if
                #end if
            #end if
        #end if

    <div class="$show_div" id="listing_${cur_result["showid"]}">
      <div class="tvshowDiv">
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <th #if $layout == 'banner' then "class=\"nobg\"" else "rowspan=\"2\""# style="background-color: #efefef;" valign="top">
            <a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}"><img alt="" class="#if $layout == 'banner' then "bannerThumb" else "posterThumb"#" src="$sbRoot/showPoster/?show=${cur_result["showid"]}&amp;which=#if $layout == 'poster' then "poster_thumb" else $layout#" /></a>
          </th>
#if $layout == 'banner':
        </tr>
        <tr>
#end if
          <td class="next_episode">
          	<div class="clearfix">
          	  <h2 class="tvshowTitle"><a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}">$cur_result["show_name"]
          	  #if int($cur_result["paused"]):
          	  <span class="pause">[paused]</span>
          	  #end if            
          	  </a></h2>
          	  <span class="tvshowTitleIcons">
				#if $cur_result["imdb_id"]:          	  	
          	      <a href="http://www.imdb.com/title/${cur_result["imdb_id"]}" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="http://www.imdb.com/title/${cur_result["imdb_id"]}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" /> 
          	    #end if
                    <a href="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}"
                    rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href,
                    '_blank'); return false;" title="$sickbeard.indexerApi($cur_indexer)
                    .config["show_url"]${cur_result["showid"]}"><img alt="$sickbeard.indexerApi($cur_indexer).name"
                    height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config["icon"]"
                    /></a>
          	      <span><a href="$sbRoot/home/searchEpisode?show=${cur_result["showid"]}&amp;season=$cur_result["season"]&amp;episode=$cur_result["episode"]" title="Manual Search" id="forceUpdate-${cur_result["showid"]}" class="epSearch forceUpdate"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search32.png" id="forceUpdateImage-${cur_result["showid"]}" /></a></span>
          	  </span>
          	</div>
            <span class="title">Next Episode:</span> <span><%=str(cur_result["season"])+"x"+"%02i" % int(cur_result["episode"]) %> - $cur_result["name"] ($sbdatetime.sbdatetime.fromtimestamp($time.mktime($cur_result["localtime"].timetuple())).sbfdate().decode($sickbeard.SYS_ENCODING))</span>
            <div class="clearfix">
            	<span class="title">Airs:</span> <span>$sbdatetime.sbdatetime.fromtimestamp($time.mktime($cur_result["localtime"].timetuple())).sbftime().decode($sickbeard.SYS_ENCODING) on $cur_result["network"]</span>
	        </div>
            <div class="clearfix">
	            <span class="title">Quality:</span>
	            #if int($cur_result["quality"]) in $qualityPresets:
	             <span class="quality $qualityPresetStrings[int($cur_result["quality"])]">$qualityPresetStrings[int($cur_result["quality"])]</span>
	            #else:
    			 <span class="quality Custom">Custom</span>
	            #end if
	        </div>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
          <div>        	        
            #if $cur_result["description"] == '':
            	<span class="title">Plot:</span>
                <img class="ep_summaryTrigger" src="$sbRoot/images/plus.png" height="16" width="16" alt="" title="Toggle Summary" /><div class="ep_summary">[There is no summary added for this episode]</div>
            #else:
            	<span class="title">Plot:</span>
                <img class="ep_summaryTrigger" src="$sbRoot/images/plus.png" height="16" width="16" alt="" title="Toggle Summary" /><div class="ep_summary">$cur_result["description"]</div>
            #end if
          </div>
          </td>
        </tr>
      </table>
      </div>
    </div>
    
    <!-- end $cur_result["show_name"] //-->
    #end for


<!-- end non list view //-->
#end if

<script type="text/javascript" charset="utf-8">
<!--
window.setInterval( "location.reload(true)", 600000); // Refresh every 10 minutes
//-->
</script>

#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_bottom.tmpl")